2014-10-19 66 views
0

我必須從下圖中定義一個黃色矢量。我所知道的是深綠色的矢量和垂直平面。石灰和深綠色矢量之間的角度爲90度。在3D平面上旋轉矢量

我能做的是平面方程。而且我知道矢量在平面上的旋轉,但只能在二維空間中進行。

所以我想,如果我把這個平面上的深綠色矢量旋轉90度,而不是通過深綠色矢量移動那個新矢量,我會創建石灰矢量。之後,我將添加石灰矢量和深綠色矢量來定義黃色矢量。

在開始我知道深綠色矢量和我們的飛機。

Graphical representation of the problem

預先感謝您的幫助

+0

這與java有什麼關係?或與編程本身? – Maverick283 2014-10-19 21:11:57

+0

@ Maverick283 - 我只需要用java寫它:) – mroknocy 2014-10-20 15:22:57

回答

0

看一看羅德里格斯公式。它用於以3D形式旋轉矢量。 enter image description here

這裏

  • v是要旋轉矢量。
  • k是描述轉動

的軸線有關詳細信息穀歌的Rodrigues的公式的單位矢量,或者按照wiki

或者可以使用quaternion rotation。 已在此回答中很好地解釋了How does this Quaternion rotation code work?

+0

我不是在尋找什麼。 正如我已閱讀羅德里格斯的旋轉公式旋轉v圍繞軸z角度θ通過將其分解成其平行和垂直於z的分量,並只旋轉垂直分量。但是這個旋轉並不在(0,0,0)的一個點上。我正在尋找的是通過點(0,0,0)旋轉一個平面並獲得一個新的旋轉矢量。 – mroknocy 2014-10-20 15:36:27