三角形旋转会导致变形

时间:2016-04-10 11:56:20

标签: opengl glut

我想旋转我的三角形,但有一些问题。

其默认形式: enter image description here

我用箭头键旋转它,但是你看到它在三角形的形状上有一些变形: enter image description here

这是我的代码:

typedef struct {
point_t pos;    // position of the triangle
float   angle;  // view angle 
float   r;
} weapon_t;


void drawPlayer(weapon_t tw) {

glBegin(GL_TRIANGLES);
glColor3f(0.1, 0.2, 0.3);
glVertex2f(tw.pos.x, tw.pos.y);
glVertex2f(tw.pos.x + 150 * cos(tw.angle * D2R), tw.pos.y + 100 * sin(tw.angle * D2R) + 8);
glVertex2f(tw.pos.x + 150 * cos(tw.angle * D2R), tw.pos.y + 100 * sin(tw.angle * D2R) - 8);
glEnd();
}

void onTimer(int v) {

glutTimerFunc(TIMER_PERIOD, onTimer, 0);

if (right) {
    if (weapon.angle != -45)
        turnWeapon(&weapon, -3);
}
if (left) {
    if (weapon.angle != 45)
        turnWeapon(&weapon, 3);
}

任何想法的人?

0 个答案:

没有答案