Members
-
第一个值(默认为0)
-
第二个值(默认为0)
-
第三个值(默认为0)
-
第四个值(默认为1.0)
Methods
从给定的浮点数创建新的四元数
Name | Type | Description |
---|---|---|
x |
number | optional第一个值(默认为0) |
y |
number | optional第二个值(默认为0) |
z |
number | optional第三个值(默认为0) |
w |
number | optional第四个值(默认为1.0) |
获取当前四元数的字符串表示形式@returns 返回具有四元数坐标的字符串
获取四元数的类名@returns 返回字符串“Quaternion”
获取此四元数的哈希代码@returns 返回四元数哈希代码
asArray() → number[]
将四元数复制到数组中@returns 返回由四元数坐标中的四个元素填充的新数组
检查两个四元数是否相等
Name | Type | Description |
---|---|---|
otherQuaternion |
DeepImmutable<Quaternion> | 第二个操作数 |
clone() → Quaternion
克隆当前四元数@returns 返回从当前四元数复制的新四元数
copyFrom(other) → Quaternion
将四元数复制到当前四元数
Name | Type | Description |
---|---|---|
other |
DeepImmutable<Quaternion> | 另一个四元数 |
copyFromFloats(x,y,z,w) → Quaternion
使用给定的浮点坐标更新当前四元数
Name | Type | Description |
---|---|---|
x |
number | x坐标 |
y |
number | y坐标 |
z |
number | z坐标 |
w |
number | w坐标 |
set(x,y,z,w) → Quaternion
从给定的浮点坐标更新当前四元数
Name | Type | Description |
---|---|---|
x |
number | x坐标 |
y |
number | y坐标 |
z |
number | z坐标 |
w |
number | w坐标 |
addInPlace(other) → Quaternion
将四元数加到当前四元数
Name | Type | Description |
---|---|---|
other |
DeepImmutable<Quaternion> | 要添加的四元数 |
subtract(other) → Quaternion
两个四元数相减
Name | Type | Description |
---|---|---|
other |
Quaternion | 第二个操作数 |
scale(value) → Quaternion
将当前四元数乘以比例因子
scaleToRef(scale,result) → Quaternion
按因子缩放当前四元数值,并将结果存储到给定的四元数
Name | Type | Description |
---|---|---|
scale |
number | 比例因子 |
result |
Quaternion | 存储结果的四元数对象 |
scaleInPlace(value) → Quaternion
就地将当前四元数乘以比例因子
scaleAndAddToRef(scale,result) → Quaternion
按因子缩放当前四元数值,并将结果添加到给定的四元数
Name | Type | Description |
---|---|---|
scale |
number | 比例因子 |
result |
Quaternion | 存储结果的四元数对象 |
multiply(q1) → Quaternion
将两个四元数相乘
Name | Type | Description |
---|---|---|
q1 |
DeepImmutable<Quaternion> | 第二个操作数 |
multiplyToRef(q1,result) → Quaternion
将给定的“result”设置为当前结果与给定结果“q1”的乘积
Name | Type | Description |
---|---|---|
q1 |
DeepImmutable<Quaternion> | 第二个操作数 |
result |
Quaternion | 目标四元数 |
multiplyInPlace(q1) → Quaternion
更新当前四元数,使其自身与给定的一个“q1”相乘
Name | Type | Description |
---|---|---|
q1 |
DeepImmutable<Quaternion> | 第二个操作数 |
conjugateToRef(ref) → Quaternion
共轭(1-q)当前四元数并将结果存储在给定的四元数中
Name | Type | Description |
---|---|---|
ref |
Quaternion | 目标四元数 |
conjugateInPlace() → Quaternion
将当前四元数就地(1-q)共轭@returns 返回当前更新的四元数
conjugate() → Quaternion
将当前四元数就地(1-q)共轭@returns 返回一个新的四元数
获取当前四元数的长度@returns 返回四元数长度(浮点)
normalize() → Quaternion
就地规范化当前四元数@returns 返回当前更新的四元数
toEulerAngles(order) → Vector3
返回一个新的Vector3集,其中Euler角度从当前四元数转换而来
toEulerAnglesToRef(result) → Quaternion
使用从当前四元数转换的Euler角度设置给定Vector3“result”
Name | Type | Description |
---|---|---|
result |
Vector3 | 将用欧拉角填充的向量 |
toRotationMatrix(result) → Quaternion
使用当前四元数值更新给定的旋转矩阵
Name | Type | Description |
---|---|---|
result |
Matrix | 目标矩阵 |
fromRotationMatrix(matrix) → Quaternion
根据给定的旋转矩阵值更新当前四元数
Name | Type | Description |
---|---|---|
matrix |
DeepImmutable<Matrix> | 源矩阵 |
staticFromRotationMatrix(matrix) → Quaternion
从旋转矩阵创建新的四元数
Name | Type | Description |
---|---|---|
matrix |
DeepImmutable<Matrix> | 源矩阵 |
使用给定的旋转矩阵值更新给定的四元数
Name | Type | Description |
---|---|---|
matrix |
DeepImmutable<Matrix> | 源矩阵 |
result |
Quaternion | 目标四元数 |
返回四元数“left”和“right”之间的点积(float)
Name | Type | Description |
---|---|---|
left |
DeepImmutable<Quaternion> | 左操作数 |
right |
DeepImmutable<Quaternion> | 正确的操作数 |
检查两个四元数是否彼此接近
Name | Type | Description |
---|---|---|
quat0 |
DeepImmutable<Quaternion> | 要检查的第一个四元数 |
quat1 |
DeepImmutable<Quaternion> | 要检查的第二个四元数 |
staticZero() → Quaternion
创建一个空的四元数@将新的四元数设置为(0.0,0.0,0.0)
staticInverse(q) → Quaternion
求给定四元数的逆
Name | Type | Description |
---|---|---|
q |
DeepImmutable<Quaternion> | 源四元数 |
staticInverseToRef(q,result) → Quaternion
求给定四元数的逆
Name | Type | Description |
---|---|---|
q |
Quaternion | 源四元数 |
staticIdentity() → Quaternion
创建标识四元数@returns 返回标识四元数
获取一个布尔值,指示给定的四元数是否为标识
staticRotationAxis(axis,angle) → Quaternion
通过绕轴旋转创建四元数
Name | Type | Description |
---|---|---|
axis |
DeepImmutable<Vector3> | 轴 |
angle |
number | 角度 |
staticRotationAxisToRef(axis,angle,result) → Quaternion
创建绕轴旋转并将其存储到给定的四元数中
Name | Type | Description |
---|---|---|
axis |
DeepImmutable<Vector3> | 轴 |
angle |
number | 角度 |
result |
Quaternion | 目标四元数 |
staticFromArray(array,offset) → Quaternion
从存储在数组中的数据创建新的四元数
Name | Type | Description |
---|---|---|
offset |
number | optional数据开始的源数组中的偏移量 |
staticFromEulerAngles(x,y,z) → Quaternion
从Euler旋转角度创建四元数
Name | Type | Description |
---|---|---|
x |
number | 俯仰角 |
y |
number | 航向角 |
z |
number | Roll |
staticFromEulerAnglesToRef(x,y,z,result) → Quaternion
从Euler旋转角度更新四元数
Name | Type | Description |
---|---|---|
x |
number | 俯仰角 |
y |
number | 航向角 |
z |
number | Roll |
result |
Quaternion | 存储结果的四元数 |
staticFromEulerVector(vec) → Quaternion
从Euler旋转向量创建四元数
staticFromEulerVectorToRef(vec,result) → Quaternion
从Euler旋转向量更新四元数
Name | Type | Description |
---|---|---|
result |
Quaternion | 存储结果的四元数 |
staticRotationYawPitchRoll(yaw,pitch,roll) → Quaternion
从给定的Euler浮点数角度(y、x、z)创建新的四元数
Name | Type | Description |
---|---|---|
yaw |
number | 绕Y轴的旋转 |
pitch |
number | 绕X轴的旋转 |
roll |
number | 围绕Z轴的旋转 |
从给定的Euler浮点数角度(y、x、z)创建新旋转,并将其存储在目标四元数中
Name | Type | Description |
---|---|---|
yaw |
number | 绕Y轴的旋转 |
pitch |
number | 绕X轴的旋转 |
roll |
number | 围绕Z轴的旋转 |
result |
Quaternion | 目标四元数 |
staticRotationAlphaBetaGamma(alpha,beta,gamma) → Quaternion
从以z-x-z方向表示的给定Euler浮点数角度创建新的四元数
Name | Type | Description |
---|---|---|
alpha |
number | 绕第一个轴的旋转 |
beta |
number | 围绕第二个轴的旋转 |
gamma |
number | 绕第三个轴的旋转 |
从以z-x-z方向表示的给定Euler浮点数角度创建新的四元数,并将其存储在目标四元数中
Name | Type | Description |
---|---|---|
alpha |
number | 绕第一个轴的旋转 |
beta |
number | 围绕第二个轴的旋转 |
gamma |
number | 绕第三个轴的旋转 |
result |
Quaternion | 目标四元数 |
staticRotationQuaternionFromAxis(axis1,axis2,axis3) → Quaternion
创建一个新的四元数,该四元数包含旋转值以达到目标(axis1、axis2、axis3)方向,作为旋转XYZ系统(axis1、axis2和axis3在此操作期间被规范化)
Name | Type | Description |
---|---|---|
axis1 |
DeepImmutable<Vector3> | 第一个轴 |
axis2 |
DeepImmutable<Vector3> | 第二个轴 |
axis3 |
DeepImmutable<Vector3> | 第三个轴 |
创建一个旋转值以达到目标(axis1、axis2、axis3)方向,作为旋转的XYZ系统(axis1、axis2和axis3在此操作期间被规范化),并将其存储在目标四元数中
Name | Type | Description |
---|---|---|
axis1 |
DeepImmutable<Vector3> | 第一个轴 |
axis2 |
DeepImmutable<Vector3> | 第二个轴 |
axis3 |
DeepImmutable<Vector3> | 第三个轴 |
ref |
Quaternion | 目标四元数 |
staticSlerp(left,right,amount) → Quaternion
在两个四元数之间插值
Name | Type | Description |
---|---|---|
left |
DeepImmutable<Quaternion> | 第一个四元数 |
right |
DeepImmutable<Quaternion> | 第二个四元数 |
amount |
number | 渐变 |
在两个四元数之间插值并将其存储到目标四元数中
Name | Type | Description |
---|---|---|
left |
DeepImmutable<Quaternion> | 第一个四元数 |
right |
DeepImmutable<Quaternion> | 第二个四元数 |
amount |
number | 渐变 |
result |
Quaternion | 目标四元数 |
staticHermite(value1,tangent1,value2,tangent2,amount) → Quaternion
使用Hermite插值法在两个四元数之间插值
Name | Type | Description |
---|---|---|
value1 |
DeepImmutable<Quaternion> | 第一个四元数 |
value2 |
DeepImmutable<Quaternion> | 第二个四元数 |
amount |
number | 目标四元数 |