我有2點:C和P旋轉後的三維座標
我想旋轉3個維度中的C.
我該如何計算P的新位置?
我有兩個角度:'偏航'和'間距'。
偏航在'x'軸上圍繞C移動P,因此它將該點向左+和向右移動。
Pitch在'y'軸上圍繞C移動P,所以它將它向上移動並向下移動。
Z,深度+向你移動時,從你離開時 -
我當然希望把它與「中間」位置的工作太像45deg偏航和45deg間距。
偏航和變槳在DEG給出,然後轉換爲RAD(此代碼之前,這樣的代碼使用RAD)
p.x = c.x + Math.sin(yaw) * Math.sin(pitch);
p.y = c.y + Math.cos(yaw);
p.z = c.z + Math.cos(yaw) * Math.cos(pitch);
想象一個球體和一個點上,我要移動的點上的球的表面。
這有時有效,有時不會。我錯過了什麼?
對不起,如果這是重複的,我不知道我應該搜索什麼。
這是一個關於我的問題,小提琴:http://jsfiddle.net/Jm6Lt/2/
藍色球的位置被計算,白色球體圍繞球體紅色的中心旋轉。
我明白了,但爲什麼我的代碼給出了錯誤的結果?有時候這些值只是'0'。我沒有旋轉矩陣,只有座標和角度。 –
z分量中有一個cos應該有一個罪。 – LutzL
我不明白髮生了什麼,我已經做了一個小提琴:http://jsfiddle.net/Jm6Lt/2/在這裏,你可以看到3個球體和一個圓柱體。紅色球體是C,藍色P,白色P2。 P的位置是計算的點(用於答案),P2是旋轉的球體,它圍繞C旋轉。圓柱體與P2相同,但它是圓柱體。爲什麼P給出錯誤的結果?或者發生了什麼?我誤解了什麼嗎?謝謝。 –