Я пытаюсь изучить Opengl, кодируя некоторые вещи, но все еще не в состоянии понять концепцию вращения
вот мой код:
glm::mat4 projection1 = glm::perspective(glm::radians(camera.Zoom), (float)SCR_WIDTH / (float)SCR_HEIGHT, 0.1f, 100.0f);
glm::mat4 view1 =camera.GetViewMatrix();//// //
ourShader.setMat4("projection", projection1);
ourShader.setMat4("view", view1);
ourShader.setInt ("pass1",1);
glm::mat4 model1 = glm::mat4(1.0f);
vangle+=0.1;
float cvangle = (vangle-90)*PI /180;
model1=glm::translate (model1 ,glm::vec3(cos(cvangle )*50,0,sin(cvangle )*50));
model1 = glm::scale(model1, glm::vec3(1,1, 1));
model1 = glm::rotate(model1,3.0f , glm::vec3(1, 0, 0));
model1 = glm::rotate(model1,2.0f, glm::vec3(0, 1, 0));
ourShader.setMat4("model", model1);
ourModel.Draw(ourShader);
Вертолет должен вращаться вокругкамера, но моя проблема, вращение оказывает различное влияние на каждый угол, то есть под углом 0 выглядит так
![angle 0](https://i.stack.imgur.com/SmFx4.jpg)
где угол 90 выглядит так
![angle 90](https://i.stack.imgur.com/nXr7b.jpg)
Моя цель - вращать вертолет вокруг камеры, показывая всегда одну и ту же сторону. Любая помощь приветствуется