我正在尝试绘制一个日食形状的物体,所以我使用了一个球体并根据需要进行了缩放。我试图用下面的代码旋转这个日食形状的对象,但它不会让步(或者至少它看起来不像它正在酝酿)。我通过简单地改变到另一个3D形状进行测试并旋转。有什么我做错了吗? glutSolidSphere
glPushMatrix();
glTranslatef(subx, suby + y, subz);
glScalef(9.0, 1.75, 1.75);
glRotatef(angle, 0, 1, 0);
glTranslatef(-subx, -suby, -subz);
glTranslatef(subx, suby, subz);
glutSolidSphere(1.0, 50, 50);
glPopMatrix();
答案 0 :(得分:2)
上面评论中指出的问题是我在拉伸它之前旋转球体。缩放然后旋转修复了问题。
glPushMatrix();
glTranslatef(subx, suby + y, subz);
glRotatef(angle, 0, 1, 0);
glScalef(9.0, 1.75, 1.75);
glTranslatef(-subx, -suby, -subz);
glTranslatef(subx, suby, subz);
glutSolidSphere(1.0, 50, 50);
glPopMatrix();