UNPKG

@3r/tool

Version:

🏃‍包含一些常用方法例如对象深克隆、递归调用、一一对比/数组交集、并集、差集/二维向量点乘、叉乘/股票KDJ、MACD、RSI、BOLL/验证为空、车牌号、邮箱、身份证、统一社会信用代码、手机号、版本对比/转换日期、星座、身份证解析、字节/随机颜色、手机号、身份证号码、统一社会信用代码...持续更新整合

116 lines (115 loc) 2.79 kB
/** * 二维向量 * @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;