사용자가 gluLookAt 함수의 매개 변수를 변경하여 주변을 둘러 볼 수있는 간단한 응용 프로그램을 구현하려고합니다.OpenGL 응용 프로그램 회전 카메라
float cx1;
float cz1;
float d1 = cx - eyex;
float d2 = cz - eyez;
cx1 = d2*sin(alfa*PI/180) + d1*cos(alfa*PI/180);
cz1 = d2*cos(alfa*PI/180) - d1*sin(alfa*PI/180);
yRotationAngle = yRotationAngle +alfa;
cx = cx1 + eyex;
cz = cz1 + eyez;
이 잘 작동하지만 x 축 중심으로 회전려고 할 때 내가 원하는 동작을하지 않는다 : 나는 다음과 같은 방법으로 Y 축을 중심으로 회전을 구현했습니다. 나는 카메라를 "위"와 "아래"로 회전시키고 싶었지만 그 순간 나는 그 특정한 방향으로 카메라를 회전시키고 싶었다. x 축을 중심으로 회전하는 코드는 다음과 같이 구현됩니다. float d1 = cy - eyey; float d2 = cz-eyez;
//rotate around x
cy1 = cos(angleToRotate) * d1 - sin(angleToRotate) * d2;
cz1 = sin(angleToRotate) * d1 + cos(angleToRotate) * d2;
cy = cy1 + eyey;
cz = cz1 + eyez;
x를 중심으로 회전하기 전에 반드시 y 축을 중심으로 역 회전이 필요합니까? 그렇다면, 회전에 필요한 각도의 값은 무엇입니까?