我无法弄清楚为什么我的绘图无法正常旋转。我已经看过很多其他想要完成同样事情的例子,但是我尝试过没有尝试过。
,由于某些原因它被转换到另一个位置,除非我在0,0开始中心然后它完美地工作。void drawBolt(Point p, GLfloat rotation){
glColor3f(1,0,0);
glPushMatrix();
glTranslatef(p.x, p.y,.0f);
glRotatef(rotation,0,0,1);
int pointArray[] = {
p.x - 7, p.y + 10,
p.x + 7, p.y + 10,
p.x + 4, p.y + 2,
p.x + 6, p.y + 2,
p.x + 1, p.y - 5,
p.x + 3, p.y - 5,
p.x - 1, p.y - 12,
p.x - 3, p.y - 5,
p.x - 4, p.y - 5,
p.x - 2, p.y + 2,
p.x - 5, p.y + 2,
p.x - 4, p.y + 13,
p.x - 7, p.y + 14
};
glBegin(GL_TRIANGLE_FAN);
for(int i = 0; i < 22; i++){
glVertex2i(pointArray[i] * 2, pointArray[i + 1] * 2);
i++;
}
glEnd();
glPopMatrix();
glFlush();
glColor3f(0,0,0);
}
void myDisplay()
{
glClear(GL_COLOR_BUFFER_BIT);
Point a(50, 50);
drawBolt(a, 180.0f);
}