1
我無法在OpenGL中旋轉橢圓。所以,我有一些代碼來繪製一個橢圓如下:opengl:旋轉橢圓
glPushAttrib(GL_CURRENT_BIT);
glColor3f(1.0f, 0.0f, 0.0f);
glLineWidth(2.0);
glPushMatrix();
glTranslatef(0, 0, 0); // ellipse centre
glBegin(GL_LINE_LOOP);
float inc = (float) M_PI/500.0;
for (GLfloat i = 0; i < M_PI * 2; i+=inc)
{
float x = cos(i) * 0.4;
float y = sin(i) * 0.4;
glVertex2f(x, y);
}
glEnd();
glPopMatrix();
glPopAttrib();
這將產生一個畫面像這樣:
現在我想要做的就是這個橢圓按順時針方向旋轉。所以我在兩者之間增加了一個glrotate,但結果並不是我所期望的。
所以,我不喜歡的東西:
glPushAttrib(GL_CURRENT_BIT);
glColor3f(1.0f, 0.0f, 0.0f);
glLineWidth(2.0);
glPushMatrix();
glTranslatef(0, 0, 0);
glRotatef(-90, 1, 1, 0);
glBegin(GL_LINE_LOOP);
float inc = (float) M_PI/500.0;
for (GLfloat i = 0; i < M_PI * 2; i+=inc)
{
float x = cos(i) * 0.4;
float y = sin(i) * 0.4;
glVertex2f(x, y);
}
glEnd();
glPopMatrix();
glPopAttrib();
這產生這是簡單地倒塌的圖像。我想要做的是沿指定的中心旋轉橢圓。此外,我試着玩弄glRotatef的各種參數,但無法按預期做到。由此產生的圖像看起來像:
是的,我發現就像我發佈,但我也有其他問題!我會發佈一個新的問題來強調......! – Luca