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: angleGET_MATRIX_Y_ANGLE · 0D03
取矩阵 Y 轴角。
0D03 GET_MATRIX_Y_ANGLE
in: matrix
out: angleGET_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, quatSET_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, rwCombineGET_NORMALISED_QUAT · 0D19
归一化四元数。
0D19 GET_NORMALISED_QUAT
in: quat
out: quatMULTIPLY_QUATS · 0D1A
四元数相乘。
0D1A MULTIPLY_QUATS
in: quat1, quat2
out: quatResultQUAT_SLERP · 0D1E
四元数球面插值。
0D1E QUAT_SLERP
in: from, to, lambda
out: result四元数读写
INITIALISE_QUAT · 0D24
用分量初始化四元数。
0D24 INITIALISE_QUAT
in: quat, x, y, z, realGET_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, zSET_MATRIX_LOOK_DIRECTION · 0F0D
按原点 + 方向设矩阵朝向。
0F0D SET_MATRIX_LOOK_DIRECTION
in: matrix, originX, originY, originZ, dirX, dirY, dirZ