Поворот равнобедренного треугольника в определенном направлении в OpenGL

#c #opengl #opengl-es-2.0 #opengl-3

#c #opengl #opengl-es-2.0 #opengl-3

Вопрос:

Я пытаюсь повернуть равнобедренный треугольник в определенном направлении в OpenGL (все это в 2D). Например, если треугольник движется вверх, то треугольник должен быть направлен вверх, и это должно применяться во всех направлениях (вниз -правая сторона-левая сторона -вверх справа … и т.д.) на плоскости.

Вопрос в том, как это можно сделать? У меня есть точки (x, y) для перевода и направление, которое является углом (не радианом). Код следующий.

 void Graphics::draw(){
double P[2];
double Direction;

for (int i = 0; i < numBirds; i  )
{
    P[0]      = flock[i]->Px;
    P[1]      = flock[i]->Py;
    Direction = flock[i]->Dir - 90;


    glPushMatrix();
        glColor3d(1, 1, 1);
        //Operacion para el triangulo
        glTranslated(P[0], P[1], 0.0);
        glRotated(Direction, 0.0, 0.0, 1.0);

        /*
            Se mantienen estas proporciones:
            Base: 1
                Altura: 1.9364916731
                Lado (isosceles): 2
        */
        glBegin(GL_TRIANGLES); // Inicio del dibujo
        glVertex3d(-1.5, 0, 0); // Primer vertice
        glVertex3d( 1.5, 0, 0); // Segundo vertice
        glVertex3d( 0, 7.9364916731, 0); // Tercer vertice
        glEnd(); // Fin del dibujo

        // Deshago las operaciones de rotacion y translacion
        glRotated(-Direction, 0, 0, 1);
        glTranslated(-P[0], -P[1], 0.0);
    glPopMatrix();

    //cout << "Velocidad pajaro "<< i <<" Graph x: "<<flock[i]->Vx << " Velocidad pajaro Graph Y:"<< flock[i]->Vy<<endl;
    //flock[i]->Py 

    physics.updatePosition(flock, flock[i]);

    //cout << "Velocidad update pajaro "<< i <<" Graph x: "<<flock[i]->Vx << " Velocidad pajaro Graph Y:"<< flock[i]->Vy<<endl;
}
  

}

В этой версии кода треугольники движутся в определенном направлении (x, y), но треугольник не указывает (равнобедренные треугольники могут указывать одной вершиной) в / по направлению (?) к этому направлению.

Комментарии:

1. Не могли бы вы, пожалуйста, указать, что происходит, когда вы пробуете свою версию кода? В чем именно заключается проблема, которую вы не можете решить?

2. Треугольники движутся в определенном направлении, но они не указывают (равнобедренный треугольник может указывать) в этом направлении.