Ich habe versucht, Zahlen durch Revolution zu erzeugen, indem ich das Profil der Figur aus einer Lage lese. Ich folge den Schritten von here und anderen ähnlichen Aufgaben, aber mein Problem bleibt bestehen. Wenn ich versuche, einen Ply mit nur 2 Punkte zu drehen 36 stesps ich das, wenn ich die Röschen auf der Oberseite der cilinder Puth:Punkte drehen openGL
Mein Code nach einer Änderung der Methode drehen ist:
void Figura::rotateY(int ngiros){
//Variables de rotacion.
//double alfa = 2*M_PI/ngiros;
int long_perfil = vertices.size();
vector<_vertex3f> new_vertices;
cout << long_perfil << " vertices" << endl;
_vertex3f aux1, aux2;
for(int i=0; i < ngiros; i++){
double alfa = (2*M_PI/ngiros)*i;
for(int j=0; j < long_perfil; j++){
aux1 = vertices.at(j);
aux1._0 = (cos(alfa) * aux1._0) + (sin(alfa) * aux1._2);
aux1._2 = (cos(alfa) * aux1._2) - (sin(alfa) * aux1._0);
vertices.push_back(aux1);
}
}
//vertices.clear();
//vertices = new_vertices;
//caras
for(int i=0; i < vertices.size(); i++){
_vertex3i aux(i, i+1, i+long_perfil);
_vertex3i aux2(i, i+long_perfil+1, i+1);
caras.push_back(aux);
caras.push_back(aux2);
}
}
}
Ich kann meinen Fehler nicht finden. Etwas Hilfe ist willkommen.