0
我正在逆向設計遊戲的關卡地圖。級別中的每個對象都有3個用於定位(x,y,z)的浮點數和3個用於旋轉的浮點數(x,y,z)。旋轉關於點的頂點
當拉入3D程序時,許多物體座標軸位於0,0,0(世界座標軸),物體被拉離該點而不是被拉入並以世界座標軸爲中心。
這裏是我的意思2D例如:
你有一個方形4頂點的(5,5),(5,10),(10,10),(10,5)和它的中心是(7.5,7,5)
我所需要的4頂點的要圍繞其旋轉0,0,而不是其中心(7.5,7.5)
我一直在使用下面的Python代碼旋轉的對象:
#vX,vY,vZ is the vector coords
#rx,rY,rZ is the rotation angles in degrees
#Xrotation
xX = vX
xY = vY * math.cos(rX) - vZ * math.sin(rX)
xZ = vY * math.sin(rX) + vZ * math.cos(rX)
#Yrotation
yX = xZ * math.sin(rY) + xX * math.cos(rY)
yY = xY
yZ = xZ * math.cos(rY) - xX * math.sin(rY)
#Zrotation
zX = yX * math.cos(rZ) - yY * math.sin(rZ)
zY = yX * math.sin(rZ) + yY * math.cos(rZ)
zZ = yZ
#zX,zY,zZ is what gets outputted
上述代碼旋轉對象圍繞其中心而不是世界軸線0,0,0。我不知道如何修改上述計算來旋轉世界座標軸上的對象。
我一直在尋找這裏和其他地方的很多其他類似的問題,我的大腦即將爆炸成希臘符號池。
任何幫助或方向將非常感謝!
是的,這是我一直在讀的其他地方,但這需要在每個頂點級別完成,而不是完成整個對象。爲了更清楚一點,我將包含在自定義網格格式中的對象轉換爲波前OBJ格式,而不是嘗試將自定義格式加載到引擎或其他內容中。 – clrx 2014-10-30 13:01:28