Skip to content

Point

Point 坐标类。

关键属性

x: number

x 轴坐标。

y: number

y 轴坐标。

关键方法

返回 Point 时,可以支持连贯操作。

set ( x: number | IPointData = 0, y = 0 ): Point

设置坐标数据,与 new Point() 的参数一样, 默认为 0,0。

get (): IPointData

获取坐标数据对象 {x,y}。

clone (): Point

克隆一个 Point 对象。

缩放

scale ( scaleX: number, scaleY = scaleX ): Point

围绕原点(0,0)缩放当前 坐标。

scaleOf ( origin: IPointData, scaleX: number, scaleY = scaleX ): Point

围绕原点 origin 缩放当前 坐标。

旋转

rotate ( rotation: number ): Point

围绕原点(0,0)旋转 坐标。

rotateOf ( origin: IPointData, rotation: number ): Point

围绕原点 origin 旋转 坐标。

getRotation ( origin: IPointData, to: IPointData ): number

以 origin 为中心点,获取 当前坐标 到 目标点 to 的 旋转角度 , 顺时针为正数,逆时针为负数。

atan2

getAngle ( to: IPointData ): number

以当前坐标为原点,获取到目标点 to 的 atan2 坐标角度

getAtan2 ( to: IPointData ): number

以当前坐标为原点,获取到目标点 to 的 atan2 坐标弧度

距离

getCenter ( to: IPointData ): Point

获取到目标点 to 的中心点坐标。

getDistance ( to: IPointData ): number

获取到目标点 to 的距离。

getDistancePoint ( to: IPointData, distance:number) Point

获取到目标点 to 之间指定距离的一个坐标点, 支持获取延长线上的坐标点。

reset ():Point

重置坐标。

Matrix 方法

toInnerOf ( matrix: IMatrixData ): Point

转换为 matrix 的内部坐标 (假设当前为外部坐标)。

toOuterOf ( matrix: IMatrixData ): Point

转换为 matrix 的外部坐标,(假设当前为内部坐标)。

示例

通过属性值创建

ts
import { Point } from 'leafer-ui'

const point = new Point(100, 100)

通过数据对象创建

ts
const pointData = { x: 100, y: 100 }

const point = new Point(pointData)

连贯操作

ts
const point = new Point()

point.set(100, 100).getDistance({ x: 200, y: 100 }) // 100

API

Point

Released under the MIT License.