2012-02-17 67 views
1

給定一個平面(它的法線),並給出2點位於該平面上的K1,K2點。我需要在該平面上將角度K2旋轉約K1角度α。如何計算K2的新座標?飛機上的旋轉點

回答

2

好了,不知道你在編碼的語言,一般的回答是這樣的:

//get some distances 
distx = K2.x - K1.x 
disty = K2.y - K1.y 

//use Pythagorean theorem to find radius 
radius = Math.sqrt(distx*distx + disty*disty) 

//set new location using your angle, alpha 
K2.x = K1.x + radius*cos(alpha) 
K2.y = K1.y + radius*sin(alpha) 
+0

哈哈,你在2D系統{x,y}中回答了我的問題,但我用3d {x,y,z} – Lacoste 2012-02-18 11:44:32

0

旋轉由定義是在一個固定支點的軸。 想象一下,在筆下旋轉紙片只會在適合您的情況下更改紙張和筆的排列方式。

旋轉單個軸以創建您想要旋轉的軸。 您需要距離原點的距離,以便通過軸的移動來保持它的位置。 您還需要實現新軸的必要角度。測量終端時保持一致。

接下來,您需要一個位於該軸上的支點。這是你的原始素質。 由於它在固定軸上旋轉,您不必再擔心z軸,因爲它不能來回滑動。 使用正弦和餘弦,距離和旋轉角度來查找新的座標。

最後旋轉軸回原來的位置,使你有你的(X「 Y」,Z')

軸角度,旋轉式和歐拉角。 會爲初學者推薦最後一個。