Packagelaya.d3.math
Classpublic class Matrix4x4
InheritanceMatrix4x4 Inheritance Object
Implements laya.d3.core.IClone

Matrix4x4 类用于创建4x4矩阵。



Public Properties
 PropertyDefined By
  elements : Float32Array
矩阵元素数组
Matrix4x4
Public Methods
 MethodDefined By
  
Matrix4x4(m11:Number = 1, m12:Number = 0, m13:Number = 0, m14:Number = 0, m21:Number = 0, m22:Number = 1, m23:Number = 0, m24:Number = 0, m31:Number = 0, m32:Number = 0, m33:Number = 1, m34:Number = 0, m41:Number = 0, m42:Number = 0, m43:Number = 0, m44:Number = 1)
创建一个 Matrix4x4 实例。
Matrix4x4
  
clone():*
克隆。
Matrix4x4
  
cloneTo(destObject:*):void
克隆。
Matrix4x4
  
[static] 计算仿射矩阵
Matrix4x4
  
[static] 从四元数计算旋转矩阵
Matrix4x4
  
createLookAt(eye:Vector3, target:Vector3, up:Vector3, out:Matrix4x4):void
[static] 计算观察矩阵
Matrix4x4
  
createOrthoOffCenterRH(left:Number, right:Number, bottom:Number, top:Number, near:Number, far:Number, out:Matrix4x4):void
[static] 计算正交投影矩阵。
Matrix4x4
  
createPerspective(fov:Number, aspect:Number, near:Number, far:Number, out:Matrix4x4):void
[static] 计算透视投影矩阵。
Matrix4x4
  
createRotationAxis(axis:Vector3, angle:Number, result:Matrix4x4):void
[static] 通过旋转轴axis和旋转角度angle计算旋转矩阵。
Matrix4x4
  
[static] 通过四元数创建旋转矩阵。
Matrix4x4
  
createRotationX(rad:Number, out:Matrix4x4):void
[static] 绕X轴旋转
Matrix4x4
  
createRotationY(rad:Number, out:Matrix4x4):void
[static] 绕Y轴旋转
Matrix4x4
  
createRotationYawPitchRoll(yaw:Number, pitch:Number, roll:Number, result:Matrix4x4):void
[static] 通过yaw pitch roll旋转创建旋转矩阵。
Matrix4x4
  
createRotationZ(rad:Number, out:Matrix4x4):void
[static] 绕Z轴旋转
Matrix4x4
  
[static] 根据缩放计算输出矩阵
Matrix4x4
  
[static] 根据平移计算输出矩阵
Matrix4x4
  
decomposeTransRotMatScale(translation:Vector3, rotationMatrix:Matrix4x4, scale:Vector3):Boolean
分解矩阵为平移向量、旋转矩阵、缩放向量。
Matrix4x4
  
decomposeTransRotScale(translation:Vector3, rotation:Quaternion, scale:Vector3):Boolean
分解矩阵为平移向量、旋转四元数、缩放向量。
Matrix4x4
  
decomposeYawPitchRoll(yawPitchRoll:Vector3):void
分解旋转矩阵的旋转为YawPitchRoll欧拉角。
Matrix4x4
  
判断两个4x4矩阵的值是否相等。
Matrix4x4
  
getElementByRowColumn(row:Number, column:Number):Number
Matrix4x4
  
获取前向量。
Matrix4x4
  
获取平移向量。
Matrix4x4
  
identity():void
设置矩阵为单位矩阵
Matrix4x4
  
invert(out:Matrix4x4):void
计算一个矩阵的逆矩阵
Matrix4x4
  
multiply(left:Matrix4x4, right:Matrix4x4, out:Matrix4x4):void
[static] 计算两个矩阵的乘法
Matrix4x4
  
normalize():void
归一化矩阵
Matrix4x4
  
setElementByRowColumn(row:Number, column:Number, value:Number):void
Matrix4x4
  
setForward(forward:Vector3):void
设置前向量。
Matrix4x4
  
设置平移向量。
Matrix4x4
  
[static]
Matrix4x4
  
计算矩阵的转置矩阵
Matrix4x4
Public Constants
 ConstantDefined By
  DEFAULT : Matrix4x4
[static] 默认矩阵,禁止修改
Matrix4x4
Property Detail
elementsproperty
public var elements:Float32Array

矩阵元素数组

Constructor Detail
Matrix4x4()Constructor
public function Matrix4x4(m11:Number = 1, m12:Number = 0, m13:Number = 0, m14:Number = 0, m21:Number = 0, m22:Number = 1, m23:Number = 0, m24:Number = 0, m31:Number = 0, m32:Number = 0, m33:Number = 1, m34:Number = 0, m41:Number = 0, m42:Number = 0, m43:Number = 0, m44:Number = 1)

创建一个 Matrix4x4 实例。

Parameters
m11:Number (default = 1)
 
m12:Number (default = 0)
 
m13:Number (default = 0)
 
m14:Number (default = 0)
 
m21:Number (default = 0)
 
m22:Number (default = 1)
 
m23:Number (default = 0)
 
m24:Number (default = 0)
 
m31:Number (default = 0)
 
m32:Number (default = 0)
 
m33:Number (default = 1)
 
m34:Number (default = 0)
 
m41:Number (default = 0)
 
m42:Number (default = 0)
 
m43:Number (default = 0)
 
m44:Number (default = 1)
Method Detail
clone()method
public function clone():*

克隆。

Returns
* — 克隆副本。
cloneTo()method 
public function cloneTo(destObject:*):void

克隆。

Parameters

destObject:* — 克隆源。

createAffineTransformation()method 
public static function createAffineTransformation(trans:Vector3, rot:Quaternion, scale:Vector3, out:Matrix4x4):void

计算仿射矩阵

Parameters

trans:Vector3 — 平移
 
rot:Quaternion — 旋转
 
scale:Vector3 — 缩放
 
out:Matrix4x4 — 输出矩阵

createFromQuaternion()method 
public static function createFromQuaternion(rotation:Quaternion, out:Matrix4x4):void

从四元数计算旋转矩阵

Parameters

rotation:Quaternion — 四元数
 
out:Matrix4x4 — 输出矩阵

createLookAt()method 
public static function createLookAt(eye:Vector3, target:Vector3, up:Vector3, out:Matrix4x4):void

计算观察矩阵

Parameters

eye:Vector3 — 视点位置
 
target:Vector3 — 视点目标
 
up:Vector3 — 向上向量
 
out:Matrix4x4 — 输出矩阵

createOrthoOffCenterRH()method 
public static function createOrthoOffCenterRH(left:Number, right:Number, bottom:Number, top:Number, near:Number, far:Number, out:Matrix4x4):void

计算正交投影矩阵。

Parameters

left:Number — 视椎左边界。
 
right:Number — 视椎右边界。
 
bottom:Number — 视椎底边界。
 
top:Number — 视椎顶边界。
 
near:Number — 视椎近边界。
 
far:Number — 视椎远边界。
 
out:Matrix4x4 — 输出矩阵。

createPerspective()method 
public static function createPerspective(fov:Number, aspect:Number, near:Number, far:Number, out:Matrix4x4):void

计算透视投影矩阵。

Parameters

fov:Number — 视角。
 
aspect:Number — 横纵比。
 
near:Number — 近裁面。
 
far:Number — 远裁面。
 
out:Matrix4x4 — 输出矩阵。

createRotationAxis()method 
public static function createRotationAxis(axis:Vector3, angle:Number, result:Matrix4x4):void

通过旋转轴axis和旋转角度angle计算旋转矩阵。

Parameters

axis:Vector3 — 旋转轴,假定已经归一化。
 
angle:Number — 旋转角度。
 
result:Matrix4x4 — 结果矩阵。

createRotationQuaternion()method 
public static function createRotationQuaternion(rotation:Quaternion, result:Matrix4x4):void

通过四元数创建旋转矩阵。

Parameters

rotation:Quaternion — 旋转四元数。
 
result:Matrix4x4 — 输出旋转矩阵

createRotationX()method 
public static function createRotationX(rad:Number, out:Matrix4x4):void

绕X轴旋转

Parameters

rad:Number — 旋转角度
 
out:Matrix4x4 — 输出矩阵

createRotationY()method 
public static function createRotationY(rad:Number, out:Matrix4x4):void

绕Y轴旋转

Parameters

rad:Number — 旋转角度
 
out:Matrix4x4 — 输出矩阵

createRotationYawPitchRoll()method 
public static function createRotationYawPitchRoll(yaw:Number, pitch:Number, roll:Number, result:Matrix4x4):void

通过yaw pitch roll旋转创建旋转矩阵。

Parameters

yaw:Number
 
pitch:Number
 
roll:Number
 
result:Matrix4x4

createRotationZ()method 
public static function createRotationZ(rad:Number, out:Matrix4x4):void

绕Z轴旋转

Parameters

rad:Number — 旋转角度
 
out:Matrix4x4 — 输出矩阵

createScaling()method 
public static function createScaling(scale:Vector3, out:Matrix4x4):void

根据缩放计算输出矩阵

Parameters

scale:Vector3 — 缩放值
 
out:Matrix4x4 — 输出矩阵

createTranslate()method 
public static function createTranslate(trans:Vector3, out:Matrix4x4):void

根据平移计算输出矩阵

Parameters

trans:Vector3 — 平移向量
 
out:Matrix4x4 — 输出矩阵

decomposeTransRotMatScale()method 
public function decomposeTransRotMatScale(translation:Vector3, rotationMatrix:Matrix4x4, scale:Vector3):Boolean

分解矩阵为平移向量、旋转矩阵、缩放向量。

Parameters

translation:Vector3 — 平移向量。
 
rotationMatrix:Matrix4x4 — 旋转矩阵。
 
scale:Vector3 — 缩放向量。

Returns
Boolean — 是否分解成功。
decomposeTransRotScale()method 
public function decomposeTransRotScale(translation:Vector3, rotation:Quaternion, scale:Vector3):Boolean

分解矩阵为平移向量、旋转四元数、缩放向量。

Parameters

translation:Vector3 — 平移向量。
 
rotation:Quaternion — 旋转四元数。
 
scale:Vector3 — 缩放向量。

Returns
Boolean — 是否分解成功。
decomposeYawPitchRoll()method 
public function decomposeYawPitchRoll(yawPitchRoll:Vector3):void

分解旋转矩阵的旋转为YawPitchRoll欧拉角。

Parameters

yawPitchRoll:Vector3 — float yaw

equalsOtherMatrix()method 
public function equalsOtherMatrix(other:Matrix4x4):Boolean

判断两个4x4矩阵的值是否相等。

Parameters

other:Matrix4x4 — 4x4矩阵

Returns
Boolean
getElementByRowColumn()method 
public function getElementByRowColumn(row:Number, column:Number):Number

Parameters

row:Number
 
column:Number

Returns
Number
getForward()method 
public function getForward(out:Vector3):void

获取前向量。

Parameters

out:Vector3 — 前向量。

getTranslationVector()method 
public function getTranslationVector(out:Vector3):void

获取平移向量。

Parameters

out:Vector3 — 平移向量。

identity()method 
public function identity():void

设置矩阵为单位矩阵

invert()method 
public function invert(out:Matrix4x4):void

计算一个矩阵的逆矩阵

Parameters

out:Matrix4x4 — 输出矩阵

multiply()method 
public static function multiply(left:Matrix4x4, right:Matrix4x4, out:Matrix4x4):void

计算两个矩阵的乘法

Parameters

left:Matrix4x4 — left矩阵
 
right:Matrix4x4 — right矩阵
 
out:Matrix4x4 — 输出矩阵

normalize()method 
public function normalize():void

归一化矩阵

setElementByRowColumn()method 
public function setElementByRowColumn(row:Number, column:Number, value:Number):void

Parameters

row:Number
 
column:Number
 
value:Number

setForward()method 
public function setForward(forward:Vector3):void

设置前向量。

Parameters

forward:Vector3 — 前向量。

setTranslationVector()method 
public function setTranslationVector(translate:Vector3):void

设置平移向量。

Parameters

translate:Vector3 — 平移向量。

translation()method 
public static function translation(v3:Vector3, out:Matrix4x4):void

Parameters

v3:Vector3
 
out:Matrix4x4

transpose()method 
public function transpose():Matrix4x4

计算矩阵的转置矩阵

Returns
Matrix4x4
Constant Detail
DEFAULTConstant
public static const DEFAULT:Matrix4x4

默认矩阵,禁止修改