export type Vec3 = [number, number, number]; export type Vec4 = [number, number, number, number]; export type Mat3 = [Vec3, Vec3, Vec3]; export type Mat4 = [Vec4, Vec4, Vec4, Vec4]; /** * x,y,zの3次元座標 */ export declare class Point { protected _pos: Vec3; /** * @param pos 座標[x, y, z] */ constructor(pos?: number[]); /** * 平行移動(x, y, z) */ get pos(): Vec3; /** * @param pos 座標[x, y, z] */ set pos(pos: number[]); } /** * 座標変換 * * 内部ではx, y, zの座標とz-y-x系のオイラー角で保持している。 */ export declare class Transform extends Point { private _rot; /** * @param pos 座標[x, y, z] または 4x4の同次変換行列 * @param rot z-y-xのオイラー角、または3x3の回転行列 * posに同次変換行列を渡した場合rotは不要 */ constructor(pos?: number[] | number[][], rot?: number | number[] | number[][]); /** * 平行移動(x, y, z) */ get pos(): Vec3; /** * @param pos 座標[x, y, z] または 4x4の同次変換行列 */ set pos(pos: number[] | number[][]); /** * 回転をz-y-x回転のオイラー角で表す。 * @return [z, y, x] */ get rot(): Vec3; /** * @param rot z-y-xのオイラー角、または3x3の回転行列 */ set rot(rot: number | number[] | number[][]); /** * 回転行列を返す。 * @return 3x3の行列 (numberの2次元配列) */ get rotMatrix(): Mat3; /** * 回転行列で回転を指定。 * @param rot 3x3の行列 (numberの2次元配列) */ set rotMatrix(rot: number[][]); /** * 同次変換行列を返す。 * @return 4x4の行列 (numberの2次元配列) */ get tfMatrix(): Mat4; /** * 同次変換行列で座標と回転を指定。 * @param m 4x4の行列 (numberの2次元配列) */ set tfMatrix(pos: number[][]); }