我在網上看了300多頁,我沒有得到我想要的結果,或者它沒有工作,所以我希望人們可以幫助我在這裏。你可以使用僞代碼和數學來解釋。 :)從已知XYZ角度,半徑和原點的點尋找3D座標?
所以,我們有點(這是起源)。點A有一個半徑,一個XYZ位置和XYZ旋轉(我知道它可以用2個角度完成,但我真的需要它有3個角度)。 B點的位置不明。
有了這些信息,我的問題是:我將如何找到點B的位置? (或者,我的問題可以改寫爲:「如何在球體上找到3D點?」)
我已經在2D中完成了它,並且它在那裏工作。 二維我用:
x=pointA.x+radius*cos(angle)
y=pointA.y+radius*sin(angle)
我不使用純矩陣,但我想用餘弦和這樣。我嘗試(其中失敗得厲害,我真的不知道如何與餘弦XYZ旋轉相結合)的僞代碼:
newx=pointA.x+radius*cos(rotationY)*sin(rotationZ+toRadians(90))
newy=pointA.y+radius*cos(rotationZ-toRadians(90))*math.sin(rotationY)*math.cos(rotationX)
newz=pointA.z+radius*math.cos(rotationZ+toRadians(90))*sin(rotationX)
我將不勝感激這麼多,如果有人可以幫助我。 :)
謝謝,通常我不明白,在維基百科上的公式,但現在我能落實到我的3D環境。它只有2個角度成功旋轉。但我仍然不確定是否應該使用XY或ZX等? – Arundel 2012-08-06 11:33:15
有約定。你可以使用你想要的約定,但記住要與它一致(如果可以的話,總是使用相同的約定)。如果您不知道這一點,請使用ZYX約定。 – Jepessen 2012-08-18 06:58:25