2011-11-05 167 views
0

我有中心點的座標。我也有一個稱爲小行星法線的數組,我假設它是軸的相對旋轉(其3和0之間的數字)。圍繞傾斜軸旋轉物體

如何使對象圍繞此對象旋轉?我一直沒能找到任何這樣做的公式。

+0

基本上你需要將對象轉換爲0,0,0,所以它是軸對齊的,在那裏旋轉它然後應用第一個變換的逆。 – ChrisF

+0

@ChrisF你能更具體一點嗎?我可以移動物體,但沒有內置的旋轉功能。它的方向並不重要,我所需要的只是它以0.3deg/s的速度在4deg/s附近旋轉。 –

+0

您必須自己生成轉換矩陣。自從我爲了生活而做這種事情已經有一段時間了,所以沒有事例要交。 – ChrisF

回答

0

試試這個:

glMatrixMode(GL_MODELVIEW); 
glLoadIdentity(); 
glTranslate(-x,-y,-z); 
glRotate(angle,nx,ny,nz); 
glTranslate(x,y,z); 
+0

謝謝,但opengl標籤是一個意外。是否可以計算點位置而不是使用旋轉函數? –

0

對象上使用rotation matrix for an axis and angle.p的新位置p'

p' = center + R(angle, axis) * (p - center) 

其中R(angle, axis)是由angleaxis旋轉矩陣,center是軸通過的點。 Tal Darom的回答是一樣的,只有在OpenGL標記中。