init framework

This commit is contained in:
yhh
2020-06-08 11:49:45 +08:00
parent a2fd5153ad
commit db077d187c
125 changed files with 140474 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
/** 2d 向量 */
class Vector2 {
public x: number;
public y: number;
/**
* 从两个值构造一个带有X和Y的二维向量。
* @param x 二维空间中的x坐标
* @param y 二维空间的y坐标
*/
constructor(x: number, y: number){
this.x = x;
this.y = y;
}
public static add(value1: Vector2, value2: Vector2){
value1.x += value2.x;
value1.y += value2.y;
return value1;
}
public static divide(value1: Vector2, value2: Vector2){
value1.x /= value2.x;
value1.y /= value2.y;
return value1;
}
public static multiply(value1: Vector2, value2: Vector2){
value1.x *= value2.x;
value1.y *= value2.y;
return value1;
}
public static subtract(value1: Vector2, value2: Vector2){
value1.x -= value2.x;
value1.y -= value2.y;
return value1;
}
/** 变成一个方向相同的单位向量 */
public normalize(){
let val = 1 / Math.sqrt((this.x * this.x) + (this.y * this.y));
this.x *= val;
this.y *= val;
}
}