W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
該類實(shí)現(xiàn)了 quaternion 。
四元數(shù)在three.js中用于表示 rotation (旋轉(zhuǎn))。
對(duì) Quaternion 實(shí)例進(jìn)行遍歷將按相應(yīng)的順序生成它的分量 (x, y, z, w)。
const quaternion = new THREE.Quaternion();
quaternion.setFromAxisAngle( new THREE.Vector3( 0, 1, 0 ), Math.PI / 2 );
const vector = new THREE.Vector3( 1, 0, 0 );
vector.applyQuaternion( quaternion );
x - x 坐標(biāo)
y - y 坐標(biāo)
z - z 坐標(biāo)
w - w 坐標(biāo)
只讀標(biāo)志,用于檢查給定對(duì)象是否為四元數(shù)類型。
以弧度返回該四元數(shù)與四元數(shù) q 之間的夾角。
創(chuàng)建一個(gè)與該四元數(shù)具有相同x、y、z和w 屬性的四元數(shù)。
返回該四元數(shù)的旋轉(zhuǎn)共軛。 四元數(shù)的共軛表示的是,圍繞旋轉(zhuǎn)軸在相反方向上的相同旋轉(zhuǎn)。
復(fù)制四元數(shù) q 的 x、y、z 和 w 屬性到該四元數(shù)中。
v - 用于進(jìn)行比較的四元數(shù)。
將四元數(shù) v 的 x、 y、 z 和 w 的屬性 與當(dāng)前四元數(shù)的對(duì)應(yīng)屬性相比較,以確定它們是否表示相同的旋轉(zhuǎn)。
計(jì)算四元數(shù) v 與當(dāng)前四元數(shù)的dot product(點(diǎn)積)。
array - 用于構(gòu)造四元數(shù)的形如(x, y, z, w)的數(shù)組。
offset - (可選)數(shù)組的偏移量。(譯者注:使用數(shù)組中從第offset元素算起的四個(gè)元素)
從一個(gè)數(shù)組來設(shè)置四元數(shù)的 x、 y、z 和 w 的屬性。
設(shè)置該四元數(shù)為 identity 四元數(shù),即表示“不旋轉(zhuǎn)”的四元數(shù)。
翻轉(zhuǎn)該四元數(shù) —— 計(jì)算 conjugate 。假定該四元數(shù)具有單位長(zhǎng)度。
計(jì)算四元數(shù)的 Euclidean length (歐幾里得長(zhǎng)度,直線長(zhǎng)度),視為一個(gè)四維向量。
計(jì)算四元數(shù) Euclidean length (歐幾里得長(zhǎng)度,直線長(zhǎng)度)的平方,視為一個(gè)四維向量。 如果要比較兩個(gè)四元數(shù)的長(zhǎng)度,這可能會(huì)十分有用, 因?yàn)檫@比 length() 的效率稍高一些。
Normalizes(歸一化)四元數(shù) —— 即計(jì)算與該四元數(shù)具有相同旋轉(zhuǎn)、但長(zhǎng)度為1的四元數(shù)。
將該四元數(shù)與q相乘。
將該四元數(shù)設(shè)為 a x b 。
改編自 here 所概述的方法。
使用 q 乘以該四元數(shù)。
q - 目標(biāo)四元數(shù)
step - 以弧度為單位的角度步長(zhǎng)
將該四元數(shù)按照步長(zhǎng) step 向目標(biāo) q 進(jìn)行旋轉(zhuǎn)。該方法確保最終的四元數(shù)不會(huì)超過 q。
qb - 另一個(gè)四元數(shù)旋轉(zhuǎn)
t - 閉區(qū)間 [0, 1] 中的插值因子
處理四元數(shù)之間的球面線性插值。t 表示該四元數(shù)(其中 t 為 0) 和 qb (其中 t 為1) 之間的旋轉(zhuǎn)量。 該四元數(shù)會(huì)被設(shè)置為上述計(jì)算的結(jié)果。另請(qǐng)參閱下面 slerp 的靜態(tài)版本。
// rotate a mesh towards a target quaternion
mesh.quaternion.slerp( endQuaternion, 0.01 );
在給定的四元數(shù)之間執(zhí)行球面線性插值,并將結(jié)果存儲(chǔ)在這個(gè)四元數(shù)中
設(shè)置該四元數(shù)的 x、y、z和w屬性。
從由 axis(軸) 和 angle(角度)所給定的旋轉(zhuǎn)來設(shè)置該四元數(shù)。
改編自 here 所述的方法。
假定Axis已被歸一化,angle以弧度來表示。
從由 Euler 角所給定的旋轉(zhuǎn)來設(shè)置該四元數(shù)。
從m的旋轉(zhuǎn)分量中來設(shè)置該四元數(shù)。
改編自 here 所概述的方法。
將該四元數(shù)設(shè)置為從方向向量 vFrom 旋轉(zhuǎn)到方向向量 vTo 所需的旋轉(zhuǎn)。
改編自方法 here。
假設(shè) vFrom 和 vTo 都已歸一化。
array - (可選)存儲(chǔ)該四元數(shù)的數(shù)組。若未指定該參數(shù),則將創(chuàng)建一個(gè)新數(shù)組。
offset - (可選)若指定了該值,結(jié)果將會(huì)被拷貝到該 Array。
在形如[x, y, z, w]的數(shù)組中,返回四元數(shù)中的數(shù)字元素。
attribute - 源 attribute。
index - attribute 中的索引。
從 attribute 中設(shè)置該四元數(shù)的x、 y、 z、 w屬性。
dst - 輸出數(shù)組
dstOffset - 輸出數(shù)組的偏移量
src0 - 起始四元數(shù)的源數(shù)組
srcOffset0 - 數(shù)組 src0 的偏移量
src1 - 目標(biāo)四元數(shù)的源數(shù)組
srcOffset1 - 數(shù)組 src1 的偏移量
t - 歸一化插值因子(介于 0 和 1 之間)
此 SLERP 實(shí)施假定四元數(shù)數(shù)據(jù)在平面數(shù)組中進(jìn)行管理。
dst - 輸出數(shù)組。
dstOffset - 輸出數(shù)組的偏移量。
src0 - 起始四元數(shù)的源數(shù)組。
srcOffset0 - 數(shù)組 src0 的偏移量。
src1 - 目標(biāo)四元數(shù)的源數(shù)組。
srcOffset1 - 數(shù)組 src1 的偏移量。
此乘法實(shí)現(xiàn)假定四元數(shù)數(shù)據(jù)在平面數(shù)組中進(jìn)行管理。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: