Skip to content

Quaternion

Quaternion类用于表示旋转,它描述了一个三维空间中的旋转变换。

构造方法

Quaternion.new ( x : number? , y : number? , z : number? , w : number? )
创建一个新四元数。

成员变量

Quaternion.x : number
四元数的X分量。
Quaternion.y : number
四元数的y分量。
Quaternion.z : number
四元数的z分量。
Quaternion.w : number
四元数的w分量。
Quaternion.eulerAngles : Vector3
(只读)四元数所表示的旋转欧拉角。
Quaternion.normalized : Quaternion
(只读)将四元数规范化为长度为1的单位四元数,保留了原有四元数的旋转方向和角度,返回一个新的归一化后的四元数
Quaternion.zAxis : Vector3
(只读)四元数在z轴方向上的旋转轴向量。
Quaternion.inverse : Quaternion
只读
Quaternion.negative : Quaternion
只读
Quaternion.xAxis : Vector3
(只读)四元数在x轴方向上的旋转轴向量。
Quaternion.yAxis : Vector3
(只读)四元数在y轴方向上的旋转轴向量。
Quaternion.almostZero : boolean
(只读)判断四元数是否接近0。

静态变量

Quaternion.zero : Quaternion
(只读)x、y、z、w分量均为0的四元数值,无实际含义。
Quaternion.identity : Quaternion
(只读)单位四元数。

成员方法

Quaternion.SetValues ( x : number , y : number , z : number , w : number ) : void
设置四元数的各个分量。
Quaternion.ToAxis ( ref_xaxis : Vector3 , ref_yaxis : Vector3 , ref_zaxis : Vector3 ) : void
通过参数返回四元数转换的三个轴向量。
Quaternion.ToAxisAngle ( ref_axis : Vector3 ) : number
通过参数和返回值返回四元数转换的轴向量和旋转角度。
Quaternion.Inverse ( ) : void
Quaternion.Negative ( ) : void
Quaternion.Normalize ( ) : void
将四元数规范化为长度为1的单位四元数,保留了原有四元数的旋转方向和角度。
Quaternion.RotateVector ( src : Vector3 ) : Vector3
计算目标向量绕当前四元数旋转后的向量。
Quaternion.InvertRotateVector ( src : Vector3 ) : Vector3
计算目标向量绕当前四元数逆旋转后的向量。
Quaternion.Mul ( rhs : Quaternion ) : Quaternion
将当前四元素与指定四元素相乘,并返回一个新的四元素对象。
Quaternion.toString ( ) : string
转化四元数为字符串表示。
Quaternion.CopyFrom ( from : Quaternion ) : void
从指定四元数拷贝值到当前四元数。
Quaternion.Get ( index : number ) : number
根据下标获取四元数的分量。
Quaternion.Set ( index : number , value : number ) : void
根据下标设置四元数的分量。
Quaternion.Add ( rhs : Quaternion ) : Quaternion
将当前四元素与指定四元素相加,并返回一个新的四元素对象。
Quaternion.Sub ( rhs : Quaternion ) : Quaternion
将当前四元素减去指定四元素,并返回一个新的四元素对象。
Quaternion.AddAssign ( rhs : Quaternion ) : void
将当前四元素与指定四元素相加。
Quaternion.SubAssign ( rhs : Quaternion ) : void
将当前四元素减去指定四元素。
Quaternion.MulAssign ( rhs : Quaternion ) : void
将当前四元素与指定四元素相乘。
Quaternion.EqualsTo ( other : Quaternion ) : boolean

静态方法

Quaternion.Clone ( val : Quaternion ) : Quaternion
获取指定四元数的一个克隆,返回一个新的四元数。
Quaternion.Dot ( lhs : Quaternion , rhs : Quaternion ) : number
对四元数lhs和四元数rhs进行点积运算。
Quaternion.LookRotation ( forward : Vector3 , up : Vector3? ) : Quaternion
创建一个具有指定向前、向上方向的四元数。
Quaternion.Angle ( lhs : Quaternion , rhs : Quaternion ) : number
返回两次旋转lhs和rhs之间的夹角。
Quaternion.FromEuler ( euler : Vector3 ) : Quaternion
将欧拉角转换成四元数并返回。
Quaternion.FromEulerXYZ ( x : number , y : number , z : number ) : Quaternion
将一组欧拉角转换成四元数并返回。
Quaternion.AxisToQuaternion ( x : Vector3 , y : Vector3 , z : Vector3 ) : Quaternion
根据三条法向量轴计算出四元数旋转量。
Quaternion.AngleAxis ( angle : number , axis : Vector3 ) : Quaternion
创建一个围绕轴旋转指定角度的旋转。
Quaternion.Lerp ( q1 : Quaternion , q2 : Quaternion , t : number ) : Quaternion
通过t在q1和q2之间进行插值,再将结果进行归一化。
Quaternion.Slerp ( q1 : Quaternion , q2 : Quaternion , t : number ) : Quaternion
在两个四元数之间进行球形插值。
Quaternion.RotateTowards ( from : Quaternion , to : Quaternion , max_delta_degrees : number ) : Quaternion
将一个四元数从当前方向旋转到目标方向。
Quaternion.FromToRotation ( from_dir : Quaternion , to_dir : Quaternion ) : Quaternion
创建一个从四元数from_dir旋转到to_dir的四元数。
Quaternion.EqualsTo ( lhs : Quaternion , rhs : Quaternion ) : boolean