中心場景的-I有一個場景這基本上是一個正方形底板測量15×15(具有座標(0,0,0四)(0,0,15)(15,0,15) (15,0,0))。OpenGL的旋轉相機圍繞
我已經設定的中心的場景是在(7.5,0,7.5)。問題是我無法弄清楚如何在相機場景中心水平旋轉攝像機(也就是讓攝像機圍繞場景中心做一個360度的水平圓)。我知道你需要用罪和cos做點什麼,但不知道究竟是什麼。
下面是代碼(純C):
//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有關的事情,但是不知道究竟是什麼。* Y你沒有先讀過關於數學的書嗎?我不想讓你灰心,但3D圖形至少需要*一些*數學知識。如果我只是「向您發送代碼」,您將在5分鐘後回到類似的問題。看看http://arcsynthesis.org/gltut,它有很好的數學背景。 –