import { Matrix4, Vector3 } from 'three'; /** * 设置矩阵的某列的向量 * * @export * @param {Matrix4} mat 矩阵 * @param {number} col 列索引,0x 1y 2z 3org * @param {Vector3} v 向量或点 */ export function matrixSetVector(mat: Matrix4, col: number, v: Vector3) { let index = col * 4; mat.elements[index] = v.x; mat.elements[index + 1] = v.y; mat.elements[index + 2] = v.z; } /** * * 返回矩阵,该坐标系将坐标系与原点的坐标系映射为坐标系, * 并将坐标系与X轴坐标系, * Y轴坐标轴以及Z轴坐标系统之间的坐标系统坐标系统的原点坐标系和原点坐标系统坐标轴的坐标系分别设置为XAxis,YAxis和ZAxis * * @export */ export function matrixAlignCoordSys(matrixFrom: Matrix4, matrixTo: Matrix4) { let matrix = new Matrix4().getInverse(matrixFrom); matrix.multiply(matrixTo); return matrix; }