xr-frame / Exports / Matrix4

# Class: Matrix4

# Table of contents

# Constructors

# Accessors

# Methods

# Constructors

# constructor

new Matrix4(raw?, offset?)

# Parameters

Name Type
raw? Float32Array
offset? number

# Accessors

# IDENTITY

Static get IDENTITY(): Matrix4

单位矩阵

readonly

static

memberof Matrix4

# Returns

Matrix4

单位矩阵,每次返回都会创建新的对象

# Methods

# axisRotate

axisRotate(axis, angleInRadians, dst?): Matrix4

将该矩阵绕指定轴旋转

memberof Matrix4

# Parameters

Name Type Description
axis Vector3 轴向量
angleInRadians number 旋转幅度,用弧度表示
dst? Matrix4 -

# Returns

Matrix4

计算结果


# clone

clone(): Matrix4

拷贝该矩阵

memberof Matrix4

# Returns

Matrix4

拷贝出来的对象


# decomposeTransRotMatScale

decomposeTransRotMatScale(dstTranslation, dstRotationMatrix, dstScale): boolean

分解RTS矩阵为位移、旋转、缩放向量,返回是否成功

memberof Matrix4

# Parameters

Name Type Description
dstTranslation Vector3 目标位移向量
dstRotationMatrix Matrix4 目标旋转矩阵
dstScale Vector3 目标缩放分量

# Returns

boolean

分解是否成功,如不成功,可能是缩放分量为0


# getColumn

getColumn(column, dst?): Vector4

获取矩阵某列

memberof Matrix4

# Parameters

Name Type Description
column number 列数
dst? Vector4 -

# Returns

Vector4

该列数据


# getRow

getRow(row, dst?): Vector4

获取矩阵某行

memberof Matrix4

# Parameters

Name Type Description
row number 行数
dst? Vector4 -

# Returns

Vector4

该行数据


# getValue

getValue(column, row): number

获取矩阵某行某列的值

memberof Matrix4

# Parameters

Name Type Description
column number 列数
row number 行数

# Returns

number

自身


# inverse

inverse(dst?): Matrix4

求该矩阵的逆

memberof Matrix4

# Parameters

Name Type
dst? Matrix4

# Returns

Matrix4

计算结果


# multiply

multiply(m, dst?): Matrix4

将该矩阵与另一个矩阵相乘

memberof Matrix4

# Parameters

Name Type Description
m Matrix4 右乘矩阵
dst? Matrix4 -

# Returns

Matrix4

计算结果


# print

print(): void

# Returns

void


# rotateByQuaternion

rotateByQuaternion(quaternion, dst?): Matrix4

将该矩阵使用指定四元数旋转

memberof Matrix4

# Parameters

Name Type Description
quaternion Quaternion 四元数
dst? Matrix4 -

# Returns

Matrix4

计算结果


# scale

scale(sx, sy, sz, dst?): Matrix4

将该矩阵进行缩放变换

memberof Matrix4

# Parameters

Name Type Description
sx number x轴缩放
sy number y轴缩放
sz number z轴缩放
dst? Matrix4 -

# Returns

Matrix4

计算结果


# set

set(val): Matrix4

拷贝目标矩阵的值到该矩阵

memberof Matrix4

# Parameters

Name Type Description
val Matrix4 目标

# Returns

Matrix4

自身


# setArray

setArray(value, offset?): Matrix4

# Parameters

Name Type
value ArrayLike<number>
offset? number

# Returns

Matrix4


# setColumn

setColumn(vec, column): Matrix4

设置矩阵某列

memberof Matrix4

# Parameters

Name Type Description
vec Vector4 列向量
column number 列数

# Returns

Matrix4

自身


# setRow

setRow(vec, row): Matrix4

设置矩阵某行

memberof Matrix4

# Parameters

Name Type Description
vec Vector4 行向量
row number 行数

# Returns

Matrix4

自身


# setValue

setValue(value, column, row): Matrix4

设置该矩阵某行某列的值

memberof Matrix4

# Parameters

Name Type Description
value number
column number 列数
row number 行数

# Returns

Matrix4

自身


# toArray

toArray(): number[]

返回矩阵数据

memberof Matrix4

# Returns

number[]

矩阵数据,以JSArray返回


# transformDirection

transformDirection(dir, dst?): Vector3

矩阵变换作用于方向

memberof Matrix4

# Parameters

Name Type Description
dir Vector3 方向
dst? Vector3 -

# Returns

Vector3

计算结果


# transformPoint

transformPoint(p, dst?): Vector3

矩阵变换作用于点

memberof Matrix4

# Parameters

Name Type Description
p Vector3
dst? Vector3 -

# Returns

Vector3

计算结果


# transformVector

transformVector(v, dst?): Vector4

矩阵变换作用于向量

memberof Matrix4

# Parameters

Name Type Description
v Vector4 向量
dst? Vector4 -

# Returns

Vector4

计算结果


# translate

translate(tx, ty, tz, dst?): Matrix4

将该矩阵进行位移变换

memberof Matrix4

# Parameters

Name Type Description
tx number x轴位移
ty number y轴位移
tz number z轴位移
dst? Matrix4 -

# Returns

Matrix4

计算结果


# transpose

transpose(dst?): Matrix4

求该矩阵的转置

memberof Matrix4

# Parameters

Name Type
dst? Matrix4

# Returns

Matrix4

计算结果


# xRotate

xRotate(rx, dst?): Matrix4

将该矩阵绕x轴旋转

memberof Matrix4

# Parameters

Name Type Description
rx number 旋转幅度,用弧度表示
dst? Matrix4 -

# Returns

Matrix4

计算结果


# yRotate

yRotate(ry, dst?): Matrix4

将该矩阵绕y轴旋转

memberof Matrix4

# Parameters

Name Type Description
ry number 旋转幅度,用弧度表示
dst? Matrix4 -

# Returns

Matrix4

计算结果


# zRotate

zRotate(rz, dst?): Matrix4

将该矩阵绕z轴旋转

memberof Matrix4

# Parameters

Name Type Description
rz number 旋转幅度,用弧度表示
dst? Matrix4 -

# Returns

Matrix4

计算结果


# composeFromRST3

Static composeFromRST3(m3, dst?): Matrix4

从二维RST矩阵扩展到三维RST矩阵

static

memberof Matrix4

# Parameters

Name Type Description
m3 Matrix3 二维RST矩阵
dst? Matrix4 -

# Returns

Matrix4

计算结果


# composeTQS

Static composeTQS(translation, rotation, scale, dst?): Matrix4

将位移旋转缩放合成一个RST矩阵,旋转用四元数表示

static

memberof Matrix4

# Parameters

Name Type Description
translation Vector3 位移向量
rotation Quaternion 旋转四元数
scale Vector3 缩放向量
dst? Matrix4 -

# Returns

Matrix4

计算结果


# composeTRS

Static composeTRS(translation, rotation, scale, dst?): Matrix4

将位移旋转缩放合成一个RST矩阵,旋转用矩阵表示

static

memberof Matrix4

# Parameters

Name Type Description
translation Vector3 位移向量
rotation Matrix4 旋转矩阵
scale Vector3 缩放向量
dst? Matrix4 -

# Returns

Matrix4

计算结果


# createFromArray

Static createFromArray(array): Matrix4

使用一个数组创建 此操作会拷贝一份数组

static

memberof Matrix4

# Parameters

Name Type Description
array number[] 数据源,长度必须为16,否则会抛出异常

# Returns

Matrix4

创建出来的矩阵


# createFromTypedArray

Static createFromTypedArray(array, offset?): Matrix4

使用某个已有的typedArray创建 此操作不会拷贝数据,而是在原来的内存区域上操作

static

memberof Matrix4

# Parameters

Name Type Default value Description
array Float32Array undefined 数据源
offset number 0 -

# Returns

Matrix4

创建出来的矩阵


# createRotationAxis

Static createRotationAxis(axis, angleInRadians, dst?): Matrix4

创建绕指定轴旋转的矩阵

static

memberof Matrix4

# Parameters

Name Type Description
axis Vector3 旋转轴
angleInRadians number 旋转幅度,用弧度表示
dst? Matrix4 -

# Returns

Matrix4

计算结果


# createRotationX

Static createRotationX(rad, dst?): Matrix4

创建绕X轴旋转的矩阵

static

memberof Matrix4

# Parameters

Name Type Description
rad number 旋转幅度,用弧度表示
dst? Matrix4 -

# Returns

Matrix4

计算结果


# createRotationY

Static createRotationY(rad, dst?): Matrix4

创建绕Y轴旋转的矩阵

static

memberof Matrix4

# Parameters

Name Type Description
rad number 旋转幅度,用弧度表示
dst? Matrix4 -

# Returns

Matrix4

计算结果


# createRotationZ

Static createRotationZ(rad, dst?): Matrix4

创建绕Z轴旋转的矩阵

static

memberof Matrix4

# Parameters

Name Type Description
rad number 旋转轴
dst? Matrix4 -

# Returns

Matrix4

计算结果


# fromQuaternion

Static fromQuaternion(quat, dst?): Matrix4

将四元数转换为旋转矩阵

static

memberof Matrix4

# Parameters

Name Type Description
quat Quaternion 四元数
dst? Matrix4 -

# Returns

Matrix4

计算结果


# lookAt

Static lookAt(position, target, up, dst?): Matrix4

构造相机矩阵

static

memberof Matrix4

# Parameters

Name Type Description
position Vector3 相机位置
target Vector3 相机目标位置
up Vector3 上方向
dst? Matrix4 -

# Returns

Matrix4

计算结果


# orthographic

Static orthographic(left, right, bottom, top, near, far, dst?): Matrix4

构造正交投影矩阵

static

memberof Matrix4

# Parameters

Name Type Description
left number 左平面
right number 右平面
bottom number 上平面
top number 下平面
near number 近平面
far number 远平面
dst? Matrix4 -

# Returns

Matrix4

计算结果


# perspective

Static perspective(fieldOfViewRadians, aspect, near, far, dst?): Matrix4

构造透视投影矩阵

static

memberof Matrix4

# Parameters

Name Type Description
fieldOfViewRadians number 视野大小,用弧度表示
aspect number 宽高比
near number 近平面
far number 远平面
dst? Matrix4 -

# Returns

Matrix4

计算结果