Я пытаюсь генерировать цифры по оборотам, читая профиль фигуры из слоя. Я выполняю шаги от here и других подобных квестой, но моя проблема сохраняется. Когда я пытаюсь повернуть Ply только с 2 точками 36 stesps я получаю это, если я Puth Камара на вершине CILINDER:Повернуть точки openGL
Мой код после пересмотра метода вращения является:
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);
}
}
}
Я не могу найти свою ошибку. Некоторая помощь будет приветствоваться.