| Package | laya.d3.math |
| Class | public class Quaternion |
| Inheritance | Quaternion Object |
| Implements | laya.d3.core.IClone |
Quaternion 类用于创建四元数。
| Property | Defined By | ||
|---|---|---|---|
| elements : Float32Array 四元数元素数组 | Quaternion | ||
| w : Number [read-only]
获取四元数的w值
| Quaternion | ||
| x : Number [read-only]
获取四元数的x值
| Quaternion | ||
| y : Number [read-only]
获取四元数的y值
| Quaternion | ||
| z : Number [read-only]
获取四元数的z值
| Quaternion | ||
| Method | Defined By | ||
|---|---|---|---|
Quaternion(x:Number = 0, y:Number = 0, z:Number = 0, w:Number = 1)
创建一个 Quaternion 实例。
| Quaternion | ||
[static]
计算两个四元数的和
| Quaternion | ||
clone():*
克隆。
| Quaternion | ||
cloneTo(destObject:*):void
克隆。
| Quaternion | ||
[static]
从指定的轴和角度计算四元数
| Quaternion | ||
[static]
根据3x3矩阵计算四元数
| Quaternion | ||
[static]
从旋转矩阵计算四元数
| Quaternion | ||
createFromYawPitchRoll(yaw:Number, pitch:Number, roll:Number, out:Quaternion):void [static]
从欧拉角基元四元数(顺序为Yaw、Pitch、Roll)
| Quaternion | ||
[static]
计算两个四元数的点积
| Quaternion | ||
equals(b:Quaternion):Boolean | Quaternion | ||
getYawPitchRoll(out:Vector3):void
分解四元数到欧拉角(顺序为Yaw、Pitch、Roll),参考自http://xboxforums.create.msdn.com/forums/p/4574/23988.aspx#23988,问题绕X轴翻转超过±90度时有,会产生瞬间反转
| Quaternion | ||
identity():void
置四元数为单位算数
| Quaternion | ||
invert(out:Quaternion):void
求四元数的逆
| Quaternion | ||
[static]
计算四元数的逆四元数。
| Quaternion | ||
length():Number
计算四元数的长度
| Quaternion | ||
lengthSquared():Number
计算长度的平方。
| Quaternion | ||
[static]
计算两个四元数的线性插值
| Quaternion | ||
[static]
计算观察四元数
| Quaternion | ||
[static]
计算两个四元数相乘
| Quaternion | ||
normalize(out:Quaternion):void
归一化四元数
| Quaternion | ||
rotateX(rad:Number, out:Quaternion):void
根据绕X轴的角度旋转四元数
| Quaternion | ||
rotateY(rad:Number, out:Quaternion):void
根据绕Y轴的制定角度旋转四元数
| Quaternion | ||
rotateZ(rad:Number, out:Quaternion):void
根据绕Z轴的制定角度旋转四元数
| Quaternion | ||
[static]
计算旋转观察四元数
| Quaternion | ||
[static]
通过一个3x3矩阵创建一个四元数
| Quaternion | ||
scaling(scaling:Number, out:Quaternion):void
根据缩放值缩放四元数
| Quaternion | ||
[static]
球面插值
| Quaternion | ||
| Constant | Defined By | ||
|---|---|---|---|
| DEFAULT : Quaternion [static] 默认矩阵,禁止修改 | Quaternion | ||
| elements | property |
public var elements:Float32Array四元数元素数组
| w | property |
w:Number [read-only] 获取四元数的w值
public function get w():Number| x | property |
x:Number [read-only] 获取四元数的x值
public function get x():Number| y | property |
y:Number [read-only] 获取四元数的y值
public function get y():Number| z | property |
z:Number [read-only] 获取四元数的z值
public function get z():Number| Quaternion | () | Constructor |
public function Quaternion(x:Number = 0, y:Number = 0, z:Number = 0, w:Number = 1)
创建一个 Quaternion 实例。
x:Number (default = 0) — 四元数的x值
| |
y:Number (default = 0) — 四元数的y值
| |
z:Number (default = 0) — 四元数的z值
| |
w:Number (default = 1) — 四元数的w值
|
| add | () | method |
public static function add(left:Quaternion, right:Quaternion, out:Quaternion):void计算两个四元数的和
Parameters
left:Quaternion — left四元数
| |
right:Quaternion — right 四元数
| |
out:Quaternion — 输出四元数
|
| clone | () | method |
public function clone():*克隆。
Returns* — 克隆副本。
|
| cloneTo | () | method |
public function cloneTo(destObject:*):void克隆。
Parameters
destObject:* — 克隆源。
|
| createFromAxisAngle | () | method |
public static function createFromAxisAngle(axis:Vector3, rad:Number, out:Quaternion):void从指定的轴和角度计算四元数
Parameters
axis:Vector3 — 轴
| |
rad:Number — 角度
| |
out:Quaternion — 输出四元数
|
| createFromMatrix3x3 | () | method |
public static function createFromMatrix3x3(sou:Matrix3x3, out:Quaternion):void根据3x3矩阵计算四元数
Parameters
sou:Matrix3x3 — 源矩阵
| |
out:Quaternion — 输出四元数
|
| createFromMatrix4x4 | () | method |
public static function createFromMatrix4x4(mat:Matrix4x4, out:Quaternion):void从旋转矩阵计算四元数
Parameters
mat:Matrix4x4 — 旋转矩阵
| |
out:Quaternion — 输出四元数
|
| createFromYawPitchRoll | () | method |
public static function createFromYawPitchRoll(yaw:Number, pitch:Number, roll:Number, out:Quaternion):void从欧拉角基元四元数(顺序为Yaw、Pitch、Roll)
Parameters
yaw:Number — yaw值
| |
pitch:Number — pitch值
| |
roll:Number — roll值
| |
out:Quaternion — 输出四元数
|
| dot | () | method |
public static function dot(left:Quaternion, right:Quaternion):Number计算两个四元数的点积
Parameters
left:Quaternion — left四元数
| |
right:Quaternion — right四元数
|
Number — 点积
|
| equals | () | method |
| getYawPitchRoll | () | method |
public function getYawPitchRoll(out:Vector3):void分解四元数到欧拉角(顺序为Yaw、Pitch、Roll),参考自http://xboxforums.create.msdn.com/forums/p/4574/23988.aspx#23988,问题绕X轴翻转超过±90度时有,会产生瞬间反转
Parameters
out:Vector3 — 源四元数
|
| identity | () | method |
public function identity():void置四元数为单位算数
| invert | () | method |
| invert | () | method |
public static function invert(value:Quaternion, out:Quaternion):void计算四元数的逆四元数。
Parameters
value:Quaternion — 四元数。
| |
out:Quaternion — 逆四元数。
|
| length | () | method |
public function length():Number计算四元数的长度
ReturnsNumber — 长度
|
| lengthSquared | () | method |
public function lengthSquared():Number计算长度的平方。
ReturnsNumber — 长度的平方。
|
| lerp | () | method |
public static function lerp(left:Quaternion, right:Quaternion, t:Number, out:Quaternion):void计算两个四元数的线性插值
Parameters
left:Quaternion — left四元数
| |
right:Quaternion — right四元数b
| |
t:Number — 插值比例
| |
out:Quaternion — 输出四元数
|
| lookAt | () | method |
public static function lookAt(eye:Vector3, target:Vector3, up:Vector3, out:Quaternion):void计算观察四元数
Parameters
eye:Vector3 — 观察者位置
| |
target:Vector3 — 目标位置
| |
up:Vector3 — 上向量
| |
out:Quaternion — 输出四元数
|
| multiply | () | method |
public static function multiply(left:Quaternion, right:Quaternion, out:Quaternion):void计算两个四元数相乘
Parameters
left:Quaternion — left四元数
| |
right:Quaternion — right四元数
| |
out:Quaternion — 输出四元数
|
| normalize | () | method |
| rotateX | () | method |
public function rotateX(rad:Number, out:Quaternion):void根据绕X轴的角度旋转四元数
Parameters
rad:Number — 角度
| |
out:Quaternion — 输出四元数
|
| rotateY | () | method |
public function rotateY(rad:Number, out:Quaternion):void根据绕Y轴的制定角度旋转四元数
Parameters
rad:Number — 角度
| |
out:Quaternion — 输出四元数
|
| rotateZ | () | method |
public function rotateZ(rad:Number, out:Quaternion):void根据绕Z轴的制定角度旋转四元数
Parameters
rad:Number — 角度
| |
out:Quaternion — 输出四元数
|
| rotationLookAt | () | method |
public static function rotationLookAt(forward:Vector3, up:Vector3, out:Quaternion):void计算旋转观察四元数
Parameters
forward:Vector3 — 方向
| |
up:Vector3 — 上向量
| |
out:Quaternion — 输出四元数
|
| rotationMatrix | () | method |
public static function rotationMatrix(matrix3x3:Matrix3x3, out:Quaternion):void通过一个3x3矩阵创建一个四元数
Parameters
matrix3x3:Matrix3x3 — 3x3矩阵
| |
out:Quaternion — 四元数
|
| scaling | () | method |
public function scaling(scaling:Number, out:Quaternion):void根据缩放值缩放四元数
Parameters
scaling:Number — 缩放值
| |
out:Quaternion — 输出四元数
|
| slerp | () | method |
public static function slerp(left:Quaternion, right:Quaternion, t:Number, out:Quaternion):Float32Array球面插值
Parameters
left:Quaternion — left四元数
| |
right:Quaternion — right四元数
| |
t:Number — 插值比例
| |
out:Quaternion — 输出四元数
|
Float32Array — 输出Float32Array
|
| DEFAULT | Constant |
public static const DEFAULT:Quaternion默认矩阵,禁止修改