@phaserjs/phaser
Version:
8 lines (7 loc) • 477 B
JavaScript
import { Matrix4 } from "./Matrix4";
export function Mat4RotateZ(matrix, angle, out = new Matrix4()) {
const s = Math.sin(angle);
const c = Math.cos(angle);
const [a00, a01, a02, a03, a10, a11, a12, a13, a20, a21, a22, a23, a30, a31, a32, a33] = matrix.data;
return out.set(a00 * c + a10 * s, a01 * c + a11 * s, a02 * c + a12 * s, a03 * c + a13 * s, a10 * c - a00 * s, a11 * c - a01 * s, a12 * c - a02 * s, a13 * c - a03 * s, a20, a21, a22, a23, a30, a31, a32, a33);
}