xtorcga
Version:
Xtor Compute Geometry Algorithm Libary 计算几何算法库
87 lines (86 loc) • 2.24 kB
TypeScript
/**
* 当向量以数组的方式出现,一个计算单元库
* @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<T>(shape: Array<T> | ArrayList<T>, component?: number): boolean;
}