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