-1
OpenGL 프로그램에서 heptagon을 그리는 데 문제가 있습니다. 나는 직사각형 내에서 heptagon을 그리기를 원한다. 지금까지 나는 빨간 사각형을 그릴 수 있지만 heptagon은 나타나지 않는다.2D Heptagon 그리기 OpenGL
오른쪽으로 회전하고 싶지 않으면 각도로 변환해야한다고 생각하지 않습니다.
void CChildView::OnGLDraw(CDC* pDC)
{
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
int width, height;
GetSize(width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, // left
1.0, // right
0.0, // bottom
GLdouble(height)/GLdouble(width), // top
1.0, // near
-1.0); // far
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glColor3d(1., 0., 0.);
glBegin(GL_POLYGON); // Rectangle
glVertex2d(0.25, 0.25);
glVertex2d(0.75, 0.25);
glVertex2d(0.75, 0.75);
glVertex2d(0.25, 0.75);
glEnd();
glColor3d(1., 1., 1.);
int numPoints = 7; // Heptagon
double x, y;
double radius = 0;
double centerx = 0;
double centery = 0;
glBegin(GL_POLYGON);
for (int i = 0; i < numPoints; i++)
{
x = centerx + radius * sin(2.0*M_PI*i/numPoints);
y = centery + radius * cos(2.0*M_PI*i/numPoints);
glVertex2d(x, y);
}
glEnd();
glColor3d(0., 1., 0.);
glBegin(GL_LINES);
glVertex2d(m_linefmx, m_linefmx);
glVertex2d(m_linetox, m_linetoy);
glEnd();
}
사각형이 제거되었는지 확인하기 위해 시도 했습니까? 계산 된 좌표가 정확한지 디버깅 해 보셨습니까? Btw 대개 '죄'는 'y'이고 'cos'은'x '입니다. – vesan
'반지름'이 0으로 설정되고 나중에 수정되지 않는 것으로 나타났습니다. 따라서 모든 점은 (0,0)으로 계산됩니다. – vesan
예, 반경이 문제였습니다. 이 질문을 삭제해야합니까? – Goose