/** * 矩形坐标 x,y,w,h */ export declare type RectPos = [number, number, number, number]; /** * 2d图像点 * * 由左至右 xy */ export declare type Point = [number, number]; /** * 多边形的原始值表示 */ export declare type Polygon = Point[]; /** * 路径的原始值表示 */ export declare type Path = Polygon; /** * 圆 圆心 半径 */ export declare type Circle = [Point, number]; /** * 直线的一般式 A B C */ export declare type Line = [number, number, number]; /** * 通过两点求一个直线表达式 * * @param p1 点1 * @param p2 点2 */ export declare function towPointLine(p1: Point, p2: Point): Line; /** * 计算两个点之间的距离 * @param p1 点1 * @param p2 点2 */ export declare function towPointDis(p1: Point, p2: Point): number; /** * 直线函数化 * @param line 直线 */ export declare function linefn(line: Line): (p: [number, number]) => number; /** * 判断点1与点2是否在直线的同侧 包含再线上的点 * @param line 直线 * @param p1 点1 * @param p2 点2 */ export declare function isIpsilateral(line: Line, p1: Point, p2: Point): boolean; /** * 判断多个点是否在线的同一侧 * @param line 线 * @param ps 点集合 */ export declare function isIpsilaterals(line: Line, ...ps: Point[]): boolean; /** * 判断一个点是否再三角形内或边缘 * @param triangle 三角形 * @param point 点 */ export declare function isInTriangle(triangle: Polygon, point: Point): boolean; /** * 判断一个点是否在凸多边形内或边缘 * @param polygon 多边形 * @param point 点 */ export declare function isInPolygon(polygon: Polygon, point: Point): boolean; /** * 判断一个多边形是否为凸多边形 * @param polygon 多边形 */ export declare function isConvex(polygon: Polygon): boolean; /** * 获取点集合的矩形坐标 * @param points 点集合 */ export declare function getPointsRect(points: Path): RectPos; /** * 判断点是否在矩形区域内 * @param rect 矩形区域 * @param p 点 */ export declare function isInRect(rect: RectPos, p: Point): boolean; /** * 返回点所在的第一个矩形区域 * @param rects 多个矩形区域 * @param p 点 */ export declare function isInRects(rects: RectPos[], p: Point): number; /** * 复制一个路径 * @param src 源 */ export declare function copyPath(src: Path): Path; /** * 变换矩阵 */ export declare type TransformMatrix = [number, number, number, number, number, number, number, number, number]; /** * 创建变换矩阵 */ export declare function createTransformMatrix(): TransformMatrix; /** * 变换一个点 * @param m 变换矩阵 * @param p 需要变换的点 */ export declare function transform(m: TransformMatrix, p: Point): Point; /** * 变换一个路径 * @param m 变换矩阵 * @param path 需要变换的路径 */ export declare function transformPath(m: TransformMatrix, path: Path): Path; /** * 返回平移后新的变换矩阵 * @param m 变换矩阵 * @param x x增量 * @param y y增量 * @param z z增量 */ export declare function translate(m: TransformMatrix, x?: number, y?: number, z?: number): TransformMatrix; /** * 返回伸缩后新的变换矩阵 * @param m 变换矩阵 * @param x x增量 * @param y y增量 * @param z z增量 */ export declare function scale(m: TransformMatrix, x?: number, y?: number, z?: number): [number, number, number, number, number, number, number, number, number]; /** * 变换矩阵相乘 * @param a 矩阵a * @param b 矩阵b */ export declare function multiplyTransformMatrix(a: TransformMatrix, b: TransformMatrix): TransformMatrix; /** * 判断两点是否相等 * @param p0 点1 * @param p1 点2 */ export declare function pointEq(p0: Point, p1: Point): boolean; /** * 判断两路径是否相等 * @param path0 路径1 * @param path1 路径2 */ export declare function pathEq(path0: Path, path1: Path): boolean; /** * 返回两个路径中不同点的下标,若路径长度不一致则抛出错误 * @param path0 路径1 * @param path1 路径2 */ export declare function twoPathNotEqPoints(path0: Path, path1: Path): number[]; //# sourceMappingURL=planimetry.d.ts.map