2013-10-30 39 views
0

我有一個平面,其法線爲(0,1,0),即它是一個x-z平面。我有一個新的常態和距離。我想將我的原始平面轉換爲新的平面法線/距離。將平面從一個法線旋轉/翻譯到另一個

爲了計算旋轉角度,我只是取兩個法線的叉積,並通過做點積來得到角度。然後我旋轉它。我如何沿着新的法線移動飛機?如果我的原始平面起源於(0,0,0),我只是將它翻譯爲(Nx * d,Ny * d,Nz * d)(其中N =新法線,d =距離原點的距離)?

+0

聽起來對我來說,假設原來的飛機經過原點... – Alnitak

+1

這個問題似乎是題外話,因爲它屬於math.stackexchange.com – Alnitak

回答

1

如何將飛機沿着新的法線移動?

我認爲你的建議是正確的。

假設你表示與單元正常距離其是從原點到平面的距離的平面。然後,你可以做任何翻譯如下,

m_distance += m_normal.Dot(translation); \\ translation will be (Nx*d, Ny*d, Nz*d) in your case. 
m_normal; \\ normal stay the same, as translation won't change the direction of the plan. 

其實m_distance = m_distance + d在這種情況下。

相關問題