Skip to content
本页导航

基础类型说明

ts
/**
 * 坐标值的类型
 */
export type CoordinateValue = string | number
/**
 * 坐标
 */
export type Point = [CoordinateValue, CoordinateValue]

getMiddle

求两点之间的中点坐标

ts
/**
 * 求两点之间的中点坐标
 * @param p1 第一个点的坐标
 * @param p2  第二个点的坐标
 * @returns
 */
export declare const getMiddle: (p1: Point, p2: Point) => number[]

使用示例

ts
import { getMiddle } from 'auto-drawing'

getMiddle([0, 0], [2, 2]) // [1,1]

getTwoPointDistance

计算两个点之间的距离

ts
import type { Point } from 'auto-drawing'
/**
 * 计算两个点之间的距离
 * @param p1 第一个点的坐标
 * @param p2 第二个点的坐标
 * @returns
 */
export declare const getTwoPointDistance: (p1: Point, p2: Point) => number

使用示例

ts
import { getTwoPointDistance } from 'auto-drawing'

getTwoPointDistance([4, 2], [2, 4]) // 2.8284271247461903

center2LeftTop

知道矩形的中心点和长宽 计算矩形的左上角坐标 y 轴数据会做负值处理 以适应笛卡尔坐标系

ts
import type { CoordinateValue, Point } from 'auto-drawing'

/**
 *  知道矩形的中心点和长宽  计算矩形的左上角坐标  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
}

使用示例

ts
import { center2LeftTop } from 'auto-drawing'

center2LeftTop([10, -10], {
  length: 5,
  width: 5
}) // {x: 7.5, y: 7.5}

radian2Angle

弧度转角度

ts
/**
 * 弧度转角度
 * @param {number} radian  弧度
 * @returns
 */
export declare const radian2Angle: (radian: number) => number

使用示例

ts
import { radian2Angle } from 'auto-drawing'

radian2Angle(Math.PI / 2) // 90

angle2Radian

角度转弧度

ts
/**
 * 角度转弧度
 * @param {number} angle 角度
 * @returns
 */
export declare const angle2Radian: (angle: number) => number

使用示例

ts
import { angle2Radian } from 'auto-drawing'

angle2Radian(180) // 3.141592653589793

getRadian

计算坐标和 x 轴正方向的角度 (以弧度为单位)

ts
import type { Point } from 'auto-drawing'
/**
 * 计算坐标和 x轴正方向的角度  (以弧度为单位)
 *
 * 默认计算的是从原点 (0,0) 到 (x,y) 点的线段与 x 轴正方向之间的平面角度 (弧度值)
 * @param  data 坐标
 * @param  origin 起始点坐标 默认值[0,0]
 * @returns
 */
export declare const getRadian: (data: Point, origin?: Point) => number

使用示例

ts
import { getRadian } from 'auto-drawing'

getRadian([4, 4]) //0.7853981633974483

getArcRadian

计算弧的起始角度和结束角度 (以弧度为单位)

ts
import type { Point } from 'auto-drawing'
/**
 * 计算弧的起始角度和结束角度 (以弧度为单位)
 *
 * @param start  起始点坐标
 * @param end  结束点坐标
 * @param center 圆心坐标
 * @returns `{ startRadian: number,endRadian: number }`
 */
export declare const getArcRadian: (
  start: Point,
  end: Point,
  center: Point
) => {
  startRadian: number
  endRadian: number
}

使用示例

ts
import { getArcRadian } from 'auto-drawing'

getArcRadian([4, 2], [2, 4], [2, 2]) // {"startRadian": 0,"endRadian": 1.5707963267948966}

getArcAngle

计算弧的起始角度和结束角度 (以角度为单位)

ts
import type { Point } from 'auto-drawing'
/**
 * 计算弧的起始角度和结束角度 (以角度为单位)
 * @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
}

使用示例

ts
import { getArcAngle } from 'auto-drawing'

getArcAngle([4, 2], [2, 4], [2, 2]) // { "startAngle": 0,"endAngle": 90}