/** * 2D 向量类 * 提供常用向量运算 */ export declare class Vec2 { x: number; y: number; constructor(x?: number, y?: number); /** 创建零向量 */ static zero(): Vec2; /** 创建单位向量 */ static one(): Vec2; /** 从角度创建单位向量 */ static fromAngle(angle: number): Vec2; /** 从两点创建向量 */ static fromPoints(x1: number, y1: number, x2: number, y2: number): Vec2; /** 两点之间的距离 */ static distance(x1: number, y1: number, x2: number, y2: number): number; /** 两点之间的距离平方(避免开方,性能更好) */ static distanceSq(x1: number, y1: number, x2: number, y2: number): number; /** 两向量点积 */ static dot(x1: number, y1: number, x2: number, y2: number): number; /** 两向量叉积(返回 z 分量) */ static cross(x1: number, y1: number, x2: number, y2: number): number; /** 线性插值 */ static lerp(x1: number, y1: number, x2: number, y2: number, t: number): Vec2; /** 克隆 */ clone(): Vec2; /** 设置值 */ set(x: number, y: number): this; /** 复制另一个向量 */ copy(v: Vec2): this; /** 加法 */ add(v: Vec2): this; /** 加法(分量) */ addXY(x: number, y: number): this; /** 减法 */ sub(v: Vec2): this; /** 减法(分量) */ subXY(x: number, y: number): this; /** 标量乘法 */ scale(s: number): this; /** 分量乘法 */ multiply(v: Vec2): this; /** 分量除法 */ divide(v: Vec2): this; /** 取反 */ negate(): this; /** 长度 */ length(): number; /** 长度平方 */ lengthSq(): number; /** 归一化 */ normalize(): this; /** 设置长度 */ setLength(length: number): this; /** 限制长度 */ clampLength(max: number): this; /** 到另一个向量的距离 */ distanceTo(v: Vec2): number; /** 到另一个向量的距离平方 */ distanceToSq(v: Vec2): number; /** 点积 */ dot(v: Vec2): number; /** 叉积 */ cross(v: Vec2): number; /** 角度(弧度) */ angle(): number; /** 到另一个向量的角度 */ angleTo(v: Vec2): number; /** 旋转 */ rotate(angle: number): this; /** 垂直向量(逆时针旋转 90 度) */ perpendicular(): this; /** 反射(基于法线) */ reflect(normal: Vec2): this; /** 线性插值到目标 */ lerp(target: Vec2, t: number): this; /** 判断是否相等 */ equals(v: Vec2, epsilon?: number): boolean; /** 判断是否为零向量 */ isZero(epsilon?: number): boolean; /** 转为数组 */ toArray(): [number, number]; /** 转为对象 */ toObject(): { x: number; y: number; }; /** 字符串表示 */ toString(): string; } //# sourceMappingURL=Vec2.d.ts.map