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
默认矩阵,禁止修改