Quaternion

Quaternion

用于存储四元数数据的类

Members

x : number

第一个值(默认为0)

y : number

第二个值(默认为0)

z : number

第三个值(默认为0)

w : number

第四个值(默认为1.0)

Methods

constructor(x,y,z,w)

从给定的浮点数创建新的四元数
Name Type Description
x number optional第一个值(默认为0)
y number optional第二个值(默认为0)
z number optional第三个值(默认为0)
w number optional第四个值(默认为1.0)

toString() → string

获取当前四元数的字符串表示形式@returns 返回具有四元数坐标的字符串

getClassName() → string

获取四元数的类名@returns 返回字符串“Quaternion”

getHashCode() → number

获取此四元数的哈希代码@returns 返回四元数哈希代码

asArray() → number[]

将四元数复制到数组中@returns 返回由四元数坐标中的四个元素填充的新数组

equals(otherQuaternion) → boolean

检查两个四元数是否相等
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 返回一个新的四元数

length() → number

获取当前四元数的长度@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> 源矩阵

staticFromRotationMatrixToRef(matrix,result)

使用给定的旋转矩阵值更新给定的四元数
Name Type Description
matrix DeepImmutable<Matrix> 源矩阵
result Quaternion 目标四元数

staticDot(left,right) → number

返回四元数“left”和“right”之间的点积(float)
Name Type Description
left DeepImmutable<Quaternion> 左操作数
right DeepImmutable<Quaternion> 正确的操作数

staticAreClose(quat0,quat1) → boolean

检查两个四元数是否彼此接近
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 返回标识四元数

staticIsIdentity(quaternion) → boolean

获取一个布尔值,指示给定的四元数是否为标识

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轴的旋转

staticRotationYawPitchRollToRef(yaw,pitch,roll,result)

从给定的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 绕第三个轴的旋转

staticRotationAlphaBetaGammaToRef(alpha,beta,gamma,result)

从以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> 第三个轴

staticRotationQuaternionFromAxisToRef(axis1,axis2,axis3,ref)

创建一个旋转值以达到目标(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 渐变

staticSlerpToRef(left,right,amount,result)

在两个四元数之间插值并将其存储到目标四元数中
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 目标四元数