import { ZRenderGroup } from '../types'; /** * 坐标值的类型 */ export type CoordinateValue = string | number; /** * 坐标 */ export type Point = [CoordinateValue, CoordinateValue]; /** * 坐标 */ export type Coord = { x: number; y: number; }; /** * 知道矩形的中心点和长宽 计算矩形的左上角坐标 y轴会做负值处理 以适应笛卡尔坐标系 * @param data 矩形的中心点坐标 * @param rect 矩形的长宽 * @returns `{x: number,y: number }` */ export declare const center2LeftTop: (data: Point, rect: { length: CoordinateValue; width: CoordinateValue; }) => { x: number; y: number; }; /** * 弧度转角度 * @param {number} radian 弧度 * @returns */ export declare const radian2Angle: (radian: number) => number; /** * 角度转弧度 * @param {number} angle 角度 * @returns */ export declare const angle2Radian: (angle: number) => number; /** * 计算坐标和 x轴正方向的角度 (以弧度为单位) * * 默认计算的是从原点 (0,0) 到 (x,y) 点的线段与 x 轴正方向之间的平面角度 (弧度值) * @param {number[]} data 坐标 * @param {number[]} origin 起始点坐标 默认值 [0,0] * @returns */ export declare const getRadian: (data: Point, origin?: Point) => number; /** * 计算弧的起始角度和结束角度 (以弧度为单位) * * @param {number[]} start 起始点坐标 * @param {number[]} end 结束点坐标 * @param {number[]} center 圆心坐标 * @returns `{ startRadian: number,endRadian: number }` */ export declare const getArcRadian: (start: Point, end: Point, center: Point) => { startRadian: number; endRadian: number; }; /** * 计算弧的起始角度和结束角度 (以角度为单位) * @param start * @param end * @param center * @returns `{ startAngle: number,endAngle: number}` */ export declare const getArcAngle: (start: Point, end: Point, center: Point) => { startAngle: number; endAngle: number; }; /** * 计算两个点之间的距离 * @param {number[]} p1 第一个点的坐标 * @param {number[]} p2 第二个点的坐标 * @returns */ export declare const getTwoPointDistance: (p1: Point, p2: Point) => number; /** * 求两点之间的中点坐标 * @param p1 * @param p2 * @returns */ export declare const getMiddle: (p1: Point, p2: Point) => number[]; /** * 旋转 */ export declare const rotate: (group: ZRenderGroup | null, options: { originX: number; originY: number; rotation: number; }) => void; /** * 平移 */ export declare const translate: (group: ZRenderGroup | null, options: { x: number; y: number; }) => void; /** * 恢复 * @param group * @param options */ export declare const resume: (group: ZRenderGroup | null, options?: { x: number; y: number; }) => void; /** * 坐标转换 * @param cx 原点坐标x * @param cy 原点坐标y * @param point 转换的坐标 示例: { x: 1,y: 1} * @param angle 角度 * @returns `{ x: number,y: number }` */ export declare const getRotatePoint: (cx: number, cy: number, point: Coord, angle: number) => { x: number; y: number; };