此頁面https://goocreate.com/learn/everything-you-always-wanted-to-know-about-rotation/描述了一個函數'LookAt',因爲它能夠旋轉3D對象以面對另一個對象。的注視功能的內部動作進行說明(但在代碼中未列出),爲:LookAt函數
功能的工作原理是,它需要的實體和目標 位置並減去它們,以得到一個背面向量。然後它計算向上矢量和後向矢量之間的交叉乘積以得到右側矢量 。然後它計算右邊的向量和後向量之間的叉積,得到一個向上的向量,這個向量與方向和向右的向量正交,最後存儲在我們的旋轉矩陣3x3內在它們各自的 行中歸一化的所有三個 向量。
我想複製這個沒有3D功能庫來幫助我。我有3D矢量減法,矩陣乘法,點和交叉乘積函數。 (我在Lua編碼)
我無法弄清楚的是如何讓一個物體與另一個物體朝向相同的方向(以及希望的方向)。
我已經讀過,這只是一個基於角度創建旋轉矩陣的問題,但是我發現通過返回一個角度來談論3D角度中的角度,我會認爲會有3個角度 - 一個爲每架飛機。
我該如何構造這個旋轉矩陣?我不知道我的物體面向哪個方向,這就是爲什麼計算物體的當前x,y,z角度的問題是一個問題。我認爲我需要的是一個函數來確定一個對象的當前三維角度,並將其轉換爲另一個對象的旋轉矩陣。