SACLEO+

矩阵 Matrix / Quat

矩阵旋转与四元数运算

sa · 扩展 CLEO+ · 需 CLEO + CLEO+

矩阵、四元数。参数里的 matrix/quat 多为结构体地址。写法见 Lua / Redux

矩阵旋转

ROTATE_MATRIX_ON_AXIS · 0D01

绕轴旋转矩阵。

0D01 ROTATE_MATRIX_ON_AXIS
in: matrix, x, y, z, angle, rwCombine

矩阵轴角

GET_MATRIX_X_ANGLE · 0D02

取矩阵 X 轴角。

0D02 GET_MATRIX_X_ANGLE
in: matrix
out: angle
GET_MATRIX_Y_ANGLE · 0D03

取矩阵 Y 轴角。

0D03 GET_MATRIX_Y_ANGLE
in: matrix
out: angle
GET_MATRIX_Z_ANGLE · 0D04

取矩阵 Z 轴角。

0D04 GET_MATRIX_Z_ANGLE
in: matrix
out: angle

局部 → 世界

GET_OFFSET_FROM_MATRIX_IN_WORLD_COORDS · 0D0A

矩阵局部偏移 → 世界坐标。

0D0A GET_OFFSET_FROM_MATRIX_IN_WORLD_COORDS
in: matrix, x, y, z
out: x, y, z

矩阵 ↔ 四元数

SET_MATRIX_ROTATION_FROM_QUAT · 0D16

用四元数设矩阵旋转。

0D16 SET_MATRIX_ROTATION_FROM_QUAT
in: matrix, quat
SET_QUAT_FROM_MATRIX · 0D17

从矩阵取四元数。

0D17 SET_QUAT_FROM_MATRIX
in: quat, matrix

四元数运算

ROTATE_QUAT_ON_AXIS · 0D18

四元数绕轴旋转。

0D18 ROTATE_QUAT_ON_AXIS
in: quat, x, y, z, angle, rwCombine
GET_NORMALISED_QUAT · 0D19

归一化四元数。

0D19 GET_NORMALISED_QUAT
in: quat
out: quat
MULTIPLY_QUATS · 0D1A

四元数相乘。

0D1A MULTIPLY_QUATS
in: quat1, quat2
out: quatResult
QUAT_SLERP · 0D1E

四元数球面插值。

0D1E QUAT_SLERP
in: from, to, lambda
out: result

四元数读写

INITIALISE_QUAT · 0D24

用分量初始化四元数。

0D24 INITIALISE_QUAT
in: quat, x, y, z, real
GET_QUAT_ELEMENTS · 0D29

读四元数 xyz + real。

0D29 GET_QUAT_ELEMENTS
in: quat
out: x, y, z, real

方向 / 朝向

CONVERT_DIRECTION_TO_QUAT · 0EB3

方向向量写入四元数。

0EB3 CONVERT_DIRECTION_TO_QUAT
in: quat, x, y, z
SET_MATRIX_LOOK_DIRECTION · 0F0D

按原点 + 方向设矩阵朝向。

0F0D SET_MATRIX_LOOK_DIRECTION
in: matrix, originX, originY, originZ, dirX, dirY, dirZ

On this page