Init
This commit is contained in:
33
src/common/Matrix2.ts
Normal file
33
src/common/Matrix2.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import { Vector2, Vector3 } from "three";
|
||||
|
||||
export class Matrix2
|
||||
{
|
||||
private el = [1, 0, 0, 1];
|
||||
set(n11: number, n12: number, n21: number, n22: number)
|
||||
{
|
||||
let te = this.el;
|
||||
|
||||
te[0] = n11; te[1] = n21;
|
||||
te[2] = n12; te[3] = n22;
|
||||
return this;
|
||||
}
|
||||
applyVector(vec: Vector2 | Vector3)
|
||||
{
|
||||
let x = vec.x, y = vec.y;
|
||||
let e = this.el;
|
||||
vec.x = e[0] * x + e[2] * y;
|
||||
vec.y = e[1] * x + e[3] * y;
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
setRotate(theta: number): Matrix2
|
||||
{
|
||||
// let el = this.el;
|
||||
let c = Math.cos(theta), s = Math.sin(theta);
|
||||
|
||||
this.set(c, -s,
|
||||
s, c);
|
||||
return this;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user