기본적으로 15x15 크기의 사각 바닥 (좌표가 (0,0,0) (0,0,15) (15,0,15) 인 장면) (15,0,0)).OpenGL 장면 중심을 중심으로 카메라 회전
장면 중심을 (7.5,0,7.5)로 설정했습니다. 문제는 그 장면의 중심을 중심으로 카메라를 수평으로 회전시키는 방법을 알아낼 수 없다는 것입니다 (일명 카메라가 장면 중앙에서 360 도의 원으로 만듦). 나는 당신이 죄와 코사인으로 무엇인가를해야한다는 것을 알고 있지만 정확히 무엇을 모르는 지 알고 있습니다.
이당신은 당신의 camx
및 camz
위치를 계산하는 죄/COS를 사용할 수 있습니다 : 당신이 사용할 수있는 두 가지 방법이 있습니다
//set camera position
//camera height is 17
GLfloat camx=0, camy=17, camz=0;
//set center of scene
GLfloat xref=7.5, yref=0, zref=7.5;
gluLookAt(camx, camy, camz, xref, yref, zref, 0, 1, 0);
//projection is standard gluPerspective, nothing special
gluPerspective(45, (GLdouble)width/(GLdouble)height, 1, 1000);
음이, 당신은 단순히 정의 된 카메라가보고된다. 실제로 회전 시키려면 camx, camy, camz를 변경하고 (xref, yref, zref)를보아야합니다. 따라서 코드에 update() 메서드가있는 경우 원하는 회전 축을 중심으로 올바른 x, y 및 z 증분을 계산해야합니다. 회전 매트릭스에 대해 아십니까? – ChaoSXDemon
* 죄와 cos로 무언가를 할 필요가 있다는 것을 알고 있지만, 정확히 무엇을 알지는 못합니다. * 처음에는 수학에 관한 책을 읽지 않으십니까? 나는 당신을 낙담하고 싶지 않지만, 3D 그래픽은 적어도 * 일부 수학 지식을 필요로합니다. "코드를 보내면"5 분 후에 비슷한 문제가 나타납니다. http://arcsynthesis.org/gltut을 살펴보십시오. 훌륭한 수학적 배경을 가지고 있습니다. –