/** * 当向量以数组的方式出现,一个计算单元库 * @Description : 向量数组 * @Author : 赵耀圣 * @QQ : 549184003 * @Date : 2021-08-02 15:09:33 * @LastEditTime : 2021-08-02 15:50:16 * @FilePath : \cga.js\src\math\VecArray.ts */ import { ArrayList } from '../struct/data/ArrayList'; export declare class vector { /** * 检测相邻没有重复点 */ static uniqueNeighbor(vs: number[], component?: number): number[]; /** * 去除任意重复点 * @param vs 向量数组 * @param component 向量组件数量 * @returns 无重复向量数组 */ static unique(vs: number[], component?: number): number[]; /** * 翻转向量数组 * @param vecs 向量数组 * @param component 组件数量 * @returns */ static reverse(vecs: number[], component?: number): number[]; /** * 点积 * @param vecs * @returns */ static dot(...vecs: number[]): number; /** * 长度平方 * @param vecs * @returns */ static distanceSq(...vecs: number[]): number; /** * 长度 * @param vecs * @returns */ static distance(...vecs: number[]): number; /** * 相加 * @param vecs * @returns */ static add(...vecs: number[]): number[] | (number & any[]); /** * 相减 * @param vecs * @returns */ static sub(...vecs: number[]): number[]; /** * 相乘 * @param vecs * @returns */ static mul(...vecs: number[]): number[] | (number & any[]); /** * 获取矢量数组的i个矢量 * @param vecs * @param i * @param component * @returns */ static getVecAt(vecs: number[], i: number, component?: number): number[]; /** * 在第 i 个位置插入一个向量 * @param vecs * @param i * @param vec */ static insertAt(vecs: number[], i: number, ...vec: number[]): void; /** * 是否逆时针 * counterclockwise */ static isCCW(shape: Array | ArrayList, component?: number): boolean; }