История изменений
Исправление
bad_master,
(текущая версия)
:
я уже сделал, там надо умножить на 0.0175 - но в 90 градусов выдает -0.002 по z координате из-за этого получается что картинку по диагонали режет https://ibb.co/r2QK3jF - взял round и срезал числа после 2 знаков запятой, а потом сравнил с -0 и поменял на 0
glBegin(GL_POLYGON);
int n = 10;
for (int i = 0; i < n+1; i++)
{
glTexCoord2d(1.0f, (float)i / n);
glVertex3d(xleft, (0.68f * sin((90.0 - 60.0 / n * i) *0.0175)), (-0==round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175)*100)/100)?0: round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175) * 100) / 100);
if (b)
std::cout << (float)i / n<<" "<< (0.68f * sin((90.0 - 60.0 / n * i) * 0.0175)) << " " << round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175) * 100) / 100<< std::endl;
}
if (b)
std::cout << "------------" << std::endl;
for (int i = 0; i < n+1; i++)
{
glTexCoord2d(0.0f, 1.0f - (float)i / n);
glVertex3d(xright, (0.68f * sin((30.0 + 60.0 / n * i)*0.0175)), (-0 == round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100) ? 0 : round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100);
if (b)
std::cout << 1.0f - (float)i / n<<" "<< (0.68f * sin((30.0 + 60.0 / n * i) * 0.0175)) << " " << round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100<< std::endl;
}
b = false;
glEnd();
Исправление
bad_master,
:
я уже сделал, там надо умножить на 0.0175 - но в 90 градусов выдает -0.002 по z координате из-за этого получается что картинку по диагонали режет - взял round и срезал числа после 2 знаков запятой, а потом сравнил с -0 и поменял на 0
glBegin(GL_POLYGON);
int n = 10;
for (int i = 0; i < n+1; i++)
{
glTexCoord2d(1.0f, (float)i / n);
glVertex3d(xleft, (0.68f * sin((90.0 - 60.0 / n * i) *0.0175)), (-0==round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175)*100)/100)?0: round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175) * 100) / 100);
if (b)
std::cout << (float)i / n<<" "<< (0.68f * sin((90.0 - 60.0 / n * i) * 0.0175)) << " " << round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175) * 100) / 100<< std::endl;
}
if (b)
std::cout << "------------" << std::endl;
for (int i = 0; i < n+1; i++)
{
glTexCoord2d(0.0f, 1.0f - (float)i / n);
glVertex3d(xright, (0.68f * sin((30.0 + 60.0 / n * i)*0.0175)), (-0 == round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100) ? 0 : round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100);
if (b)
std::cout << 1.0f - (float)i / n<<" "<< (0.68f * sin((30.0 + 60.0 / n * i) * 0.0175)) << " " << round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100<< std::endl;
}
b = false;
glEnd();
Исправление
bad_master,
:
я уже сделал, там надо умножить на 0.0175 - но в 90 градусов выдает -0.002 по z координате из-за этого получается что картинку по диагонали режет - взял round и срезал числа после 2 знаков запятой, а потом сравнил с -0 и поменял на 0
glBegin(GL_POLYGON);
int n = 10;
for (int i = 0; i < n+1; i++)
{
glTexCoord2d(1.0f, (float)i / n);
glVertex3d(xleft, (0.68f * sin((90.0 - 60.0 / n * i) *0.0175)), (-0==round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175)*100)/100)?0: round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175) * 100) / 100);
if (b)
std::cout << (float)i / n<<" "<< (0.68f * sin((90.0 - 60.0 / n * i) * 0.0175)) << " " << round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175) * 100) / 100<< std::endl;
}
if (b)
std::cout << "------------" << std::endl;
for (int i = 0; i < n+1; i++)
{
glTexCoord2d(0.0f, 1.0f - (float)i / n);
glVertex3d(xright, (0.68f * sin((30.0 + 60.0 / n * i)*0.0175)), (-0 == round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100) ? 0 : round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100);
if (b)
std::cout << 1.0f - (float)i / n<<" "<< (0.68f * sin((30.0 + 60.0 / n * i) * 0.0175)) << " " << round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100<< std::endl;
}
b = false;
glEnd();
Исправление
bad_master,
:
я уже сделал, там надо умножить на 0.0175 - но в 0 по игрек координате выдает -0.002 по z координате из-за этого получается что картинку по диагонали режет - взял round и срезал числа после 2 знаков запятой, а потом сравнил с -0 и поменял на 0
glBegin(GL_POLYGON);
int n = 10;
for (int i = 0; i < n+1; i++)
{
glTexCoord2d(1.0f, (float)i / n);
glVertex3d(xleft, (0.68f * sin((90.0 - 60.0 / n * i) *0.0175)), (-0==round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175)*100)/100)?0: round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175) * 100) / 100);
if (b)
std::cout << (float)i / n<<" "<< (0.68f * sin((90.0 - 60.0 / n * i) * 0.0175)) << " " << round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175) * 100) / 100<< std::endl;
}
if (b)
std::cout << "------------" << std::endl;
for (int i = 0; i < n+1; i++)
{
glTexCoord2d(0.0f, 1.0f - (float)i / n);
glVertex3d(xright, (0.68f * sin((30.0 + 60.0 / n * i)*0.0175)), (-0 == round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100) ? 0 : round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100);
if (b)
std::cout << 1.0f - (float)i / n<<" "<< (0.68f * sin((30.0 + 60.0 / n * i) * 0.0175)) << " " << round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100<< std::endl;
}
b = false;
glEnd();
Исправление
bad_master,
:
я уже сделал, там надо умножить на 0.0175 - но в 0 по игрек координате выдает -0.002 по z координате из-за этого получается что картинку по диагонали режет - взял round и срезал числа после 2 знаков запятой, а потом сравнил с -0 и поменял на 0
glBegin(GL_POLYGON);
int n = 10;
for (int i = 0; i < n+1; i++)
{
glTexCoord2d(1.0f, (float)i / n);
glVertex3d(xleft, (0.68f * sin((90.0 - 60.0 / n * i) *0.0175)), (-0==round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175)*100)/100)?0: round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175) * 100) / 100);
if (b)
std::cout << (float)i / n<<" "<< (0.68f * sin((90.0 - 60.0 / n * i) * 0.0175)) << " " << round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175) * 100) / 100<< std::endl;
}
if (b)
std::cout << "------------" << std::endl;
for (int i = 0; i < n+1; i++)
{
glTexCoord2d(0.0f, 1.0f - (float)i / n);
glVertex3d(xright, (0.68f * sin((30.0 + 60.0 / n * i)*0.0175)), (-0 == round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100) ? 0 : round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100);
if (b)
std::cout << 1.0f - (float)i / n<<" "<< (0.68f * sin((30.0 + 60.0 / n * i) * 0.0175)) << " " << round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100<< std::endl;
}
b = false;
glEnd();
Исправление
bad_master,
:
я уже сделал, там надо умножить на 0.0175 - но в 0 по игрек координате выдает -0.002 по z координате из-за этого получается что картинку по диагонали режет - взял round и срезал числа после 2 знаков запятой, а потом сравнил с -0 и поменял знак
glBegin(GL_POLYGON);
int n = 10;
for (int i = 0; i < n+1; i++)
{
glTexCoord2d(1.0f, (float)i / n);
glVertex3d(xleft, (0.68f * sin((90.0 - 60.0 / n * i) *0.0175)), (-0==round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175)*100)/100)?0: round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175) * 100) / 100);
if (b)
std::cout << (float)i / n<<" "<< (0.68f * sin((90.0 - 60.0 / n * i) * 0.0175)) << " " << round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175) * 100) / 100<< std::endl;
}
if (b)
std::cout << "------------" << std::endl;
for (int i = 0; i < n+1; i++)
{
glTexCoord2d(0.0f, 1.0f - (float)i / n);
glVertex3d(xright, (0.68f * sin((30.0 + 60.0 / n * i)*0.0175)), (-0 == round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100) ? 0 : round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100);
if (b)
std::cout << 1.0f - (float)i / n<<" "<< (0.68f * sin((30.0 + 60.0 / n * i) * 0.0175)) << " " << round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100<< std::endl;
}
b = false;
glEnd();
Исходная версия
bad_master,
:
я уже сделал, там надо умножить на 0.0175 - но в 0 по игрек координате выдает -0.002 по z координате из-за этого получается что картинку по диагонали режет - взял round и срезал числа после 2 знаков запятой, а потом сравнил с -0 и поменял знак
glBegin(GL_POLYGON);
int n = 10;
for (int i = 0; i < n+1; i++)
{
glTexCoord2d(1.0f, (float)i / n);
glVertex3d(xleft, (0.68f * sin((90.0 - 60.0 / n * i) *0.0175)), (-0==round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175)*100)/100)?0: round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175) * 100) / 100);
if (b)
std::cout << (float)i / n<<" "<< (0.68f * sin((90.0 - 60.0 / n * i) * 0.0175)) << " " << round(0.68f * cos((90.0 - 60.0 / n * i) * 0.0175) * 100) / 100<< std::endl;
}
if (b)
std::cout << "------------" << std::endl;
for (int i = 0; i < n+1; i++)
{
glTexCoord2d(0.0f, 1.0f - (float)i / n);
glVertex3d(xright, (0.68f * sin((30.0 + 60.0 / n * i)*0.0175)), (-0 == round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100) ? 0 : round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100);
if (b)
std::cout << 1.0f - (float)i / n<<" "<< (0.68f * sin((30.0 + 60.0 / n * i) * 0.0175)) << " " << round(0.68f * cos((30.0 + 60.0 / n * i) * 0.0175) * 100) / 100<< std::endl;
}
b = false;
glEnd();