四元數

公開課程 Quaternion

浮動式的 Squaneform 四元數類別。

四元數運算採用右手規規則,為漢米爾頓文撰寫。

欄位

公開浮動值
公開浮動值 X 鍵
公開浮動值
公開浮動值

公用建構函式

四元數()
建構四元數並設為「身分識別」
四元數(浮點值 x、浮點數 y、浮點值 z、浮點寬度值)
建構四元數並設定每個值。
Quaternion (Quaternion q)
使用其他 Quaternion 的值建構四元數
四元數(Vector3 軸、浮點)
使用軸/角度定義旋轉數以定義旋轉
Quaternion (Vector3 eulerAngles)
根據 eulerAngles 建構四元數。

公用方法

靜態四元數
shaAngle(Vector3 軸、浮點度)
使用軸/角度來定義新的四元數並定義旋轉
靜態布林值
等於 (Quaternion lh、Quaternion rhs)
比較兩個四元組

計算 lhs 和 rhs 的虛點產品,以相等。

布林
等於 (物件其他)
如果另一個物件是四元數,且點數值為 1.0 +/-,則傳回 true。
靜態四元數
eulerAngles(Vector3 eulerAngles)
使用 eulerAngles 取得新的 Quaternion 以定義旋轉。
靜態四元數
identity()
設定四分位數身分設定
靜態 Vector3
四元數
inverted()
取得相反旋轉的四元數
靜態四元數
lookRotation (Vector3前進 inWorld、Vector3所需 UpInInWorld)
取得新的四元數,代表旋轉的指定方向。
靜態四元數
乘上 (Quaternion lhs、Quaternion rhs)
結合兩個四元數乘(lhs, rhs) 以建立四元數,相當於執行 rhs 旋轉,否則作業必須執行 Andres 輪替。
布林
normalize()
將四元數重新調整為單位長度。
四元數
canonicalized()
取得具有相符旋轉角度的四元數,並縮放為單位長度。
靜態 Vector3
rotateVector(Quaternion q, Vector3 src)
將 Vector3 旋轉至四元數
靜態四元數
rotectBetweenVectors(Vector3 開始,Vector3 結束)
取得一個新四元數,代表從一個向量到另一個向量的旋轉。
void
set(float qx、float qy、float qz、float qw)
設定每個值並正規化四元數
void
set(Vector3 軸、浮點角度)
使用軸/角度更新這個四邊形以定義旋轉
void
set(四元數 q)
將其他四元數的值複製到這個數值
void
setIdentity()
將四元數設為身分
靜態四元數
slerp(Quaternion 起始、Quaternion 結束、浮點 t)
字串

沿用的方法

欄位

public float w

public float x

public float y

public float z

公用建構函式

public Quaternion()

建構四元數並設為「身分識別」

public Quaternion (float x、float y、float z、float w)

建構四元數並設定每個值。四邊形會在建構過程中進行正規化

參數
x
z
w

公開 Quaternion (Quaternion q)

使用其他 Quaternion 的值建構四元數

參數
q

公開 四元數 (Vector3 軸,浮點角度)

使用軸/角度定義旋轉數以定義旋轉

參數
Axis 設定旋轉方向
角度 角度大小 (以度為單位)

公開 Quaternion (Vector3 eulerAngles)

根據 eulerAngles 建構四元數。

參數
愛麗舍 - 每個軸線的的角度。
另請參閱

公用方法

公開靜態 四元數 軸角度 (Vector3 軸,浮點度)

使用軸/角度來定義新的四元數並定義旋轉

參數
Axis 設定旋轉方向
度數 角度大小 (以度為單位)

公開靜態布林值 等於 (Quaternion lhs、Quaternion rhs)

比較兩個四元組

計算 lhs 和 rhs 的點數值,藉此測試相等性。lhs 和 -lhs 不會根據這個函式相等。

參數
rhs

公開布林值 等於 (物件其他)

如果另一個物件是四元數,且點數值為 1.0 +/-,則傳回 true。

參數
其他

公開靜態 Quaternion eulerAngles (Vector3 eulerAngles)

使用 eulerAngles 取得新的 Quaternion 以定義旋轉。

旋轉方向會以 Z、Y、X 順序套用。這與其他圖像引擎一致。 值得一提的是,座標系統和 Unity 的座標系統不同,因此這裡使用的角度也會與 Unity 不同。請仔細檢查您的參數值,以取得與其他引擎相同的效果。

參數
愛麗舍 - 以度為單位的角度。

公開靜態 Quaternion identity ()

設定四分位數身分設定

公開 靜態Vector3 inverserotVector (Quaternion q, Vector3 src)

參數
q
src

公開 四元數 反轉 ()

取得相反旋轉的四元數

傳回
  • 相反的旋轉

公開靜態 Quaternion lookRotation (Vector3forwardInWorld,Vector3所需 UpInInWorld)

取得新的四元數,代表旋轉的指定方向。如果 upInWorld 與前進 InWorld 正交,則 Y 軸會與 UpUpInWorld 對齊。

參數
前進世界
所需的上游世界

公開靜態 Quaternion 乘以 (Quaternion lh, Quaternion rhs)

結合兩個四元數乘(lhs, rhs) 以建立四元數,相當於執行 rhs 旋轉,否則作業必須執行 Andres 輪替。

參數
rhs
傳回
  • 合併旋轉

公開布林值 正規化 ()

將四元數重新調整為單位長度。

如果無法使四元數無法縮放,會設為 Identity,並傳回 false。

傳回
  • 如果 Quaternion 的值不是零,則為 true

公開 四元數 標準化 ()

取得具有相符旋轉角度的四元數,並縮放為單位長度。

傳回
  • 四元數會調整為單位長度,如果無法執行,則為 0。

public static Vector3 rotateVector (Quaternion q,Vector3 src)

將 Vector3 旋轉至四元數

參數
q
src
傳回
  • 旋轉的向量

公開靜態 四元數 向量向量 (Vector3 開始,Vector3 結束)

取得一個新四元數,代表從一個向量到另一個向量的旋轉。

參數
開始
結束

public void set (float qx、float qy、float qz、float qw)

設定每個值並正規化四元數

參數
QQ
QQ
qz
QQ

public set (Vector3 軸、浮點角度)

使用軸/角度更新這個四邊形以定義旋轉

參數
Axis
角度

public set (Quaternion q)

將其他四元數的值複製到這個數值

參數
q

public setIdentity ()

將四元數設為身分

公開靜態 Quaternion slerp (Quaternion 起始,Quaternion 結束,浮點 t)

參數
開始
結束
t

publicStringtoString()