@3r/tool
Version:
🏃包含一些常用方法例如对象深克隆、递归调用、一一对比/数组交集、并集、差集/二维向量点乘、叉乘/股票KDJ、MACD、RSI、BOLL/验证为空、车牌号、邮箱、身份证、统一社会信用代码、手机号、版本对比/转换日期、星座、身份证解析、字节/随机颜色、手机号、身份证号码、统一社会信用代码...持续更新整合
116 lines (115 loc) • 2.79 kB
TypeScript
/**
* 二维向量
* @Author 林一怂儿
* @Date 2022/12/13 19:01:56
*/
export declare class Vector2 {
/**
* x轴坐标
*/
x: number;
/**
* y轴坐标
*/
y: number;
constructor(x: number, y: number);
/**
* 加
* @param t 目标值
* @returns 自身值 + 目标值 = V2(sx+tx,sy+ty);
*/
plus(t: Vector2): Vector2;
/**
* 减
* @param t 目标值
* @returns 自身值 - 目标值 = V2(sx-tx,sy-ty);
*/
subtract(t: Vector2): Vector2;
/**
* 乘
* @param t 目标值
* @returns 自身值 * 目标值 = V2(sx*tx,sy*ty);
*/
multiply(t: Vector2): Vector2;
/**
* 除
* @param t 目标值
* @returns 自身值 / 目标值 = V2(sx/tx,sy/ty);
*/
divide(t: Vector2): Vector2;
/**
* 叉乘
* @param t 目标值
* @returns 自身值 · 目标值 = s.x*t.y-s.y*t.x;
*/
multiplicationCross(t: Vector2): number;
/**
* 点乘
* @param t 目标值
* @returns 自身值 · 目标值 = s.x*t.x+s.y*t.y;
*/
dotProduct(t: Vector2): number;
/**
* 检测两线段是否交叉
* @param p1 点1
* @param p2 点2
* @param p3 点3
* @param p4 点4
*/
static checkCross(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2): boolean;
/**
* 检测p点是否在点p1,p2,p3组成的三角形内
* @param p
* @param p1
* @param p2
* @param p3
*/
static checkInTriangle(p: Vector2, p1: Vector2, p2: Vector2, p3: Vector2): boolean;
/**
* 检测p点是否在点p1,p2,p3,p4组成的矩形内
* @param p
* @param p1
* @param p2
* @param p3
* @param p4
*/
static checkInRectangle(p: Vector2, p1: Vector2, p2: Vector2, p3: Vector2): boolean;
/**
* p点绕o点旋转angle°
* @param p 当前点
* @param o 源点
* @param angle 角度
*/
static rotateAroundPoint(p: Vector2, o: Vector2, angle: number): Vector2;
/**
* 计算p1到p2两点之间的距离 保留3位小数
* @param p1
* @param p2
*/
static distance(p1: Vector2, p2: Vector2): number;
/**
* 计算两直线的夹角角度 保留三位小数
* @param v1
* @param v2
*/
static includedAngle(v1: Vector2, v2: Vector2): number;
/**
* 在距离处获取点
* @param start 开始点
* @param end 结束点
* @param distance 距离
*/
static getPointAtDist(start: Vector2, end: Vector2, distance: number): Vector2;
/**
* 转换字符串
* @returns
*/
toString(): string;
}
/**
* 二维向量
* @param x
* @param y
* @returns
*/
export declare function v2(x: number, y: number): Vector2;