class Graphics.Point
2024-07-18 12:36:46
类 Graphics.Point
数据类型,表示 2D 点(也称为 2D 向量)。
const position1 = Point(10,10);
const position2 = Point.make(20,20);
const position3 = Point(Rect(10,10,100,100)); // origin of the rect
// operators
const sum = Point(0,0) + Point(50,50);
const sub = Point(0,0) - Point(50,50); // [-50,-50]
constructor
点实例可以由 new Point(...)
“convesrsion”构造函数构造,也可以由 Point(...)
“convesrsion”构造函数构造。
Point()
- 构造 0,0 点;Point(Point)
- 构建要点的副本;Point(Size)
- 通过从 Size 转换点来构造点;Point(x,y)
- 从两个数字构造 pont;
properties:
x, y
数字
length
number, 向量的长度 - sqrt(x*x + y*y)
;
methods:
distance()
point.distance(other:Point):number
返回此点与其他点之间的距离。
distanceToLineSegment()
point.distanceToLineSegment(lp1:Point, lp2:Point): [distance:number, lp: Point]
从该点到线段的距离 [lp1,lp2]。
返回距离和 lp - 线段上到该点的最近点,如果此点投影落在线段之外,则返回 lp1 或 lp2。
dot()
point.dot(other:Point): number
返回此点和其他点的 DOT 乘积。
unit()
point.unit():Point
返回沿相同方向但长度为 1 的归一化单位向量。
inscribe()
point.inscribe(Rect):Point
移动(如果需要)矩形内点的副本,返回始终位于矩形内的副本。
operators:
Point 支持以下运算符:
point * n|size
- 每个组件乘以数量或大小(缩放);point / n|size
- 按数量或尺寸划分每个组件(缩放);point + point|size
- 两点(向量)的总和;point - point|size
- 减去两分;point == point
- 两点相等,实现使用浮点EPSILON精度;+point
- 一元+(副本);-point
- 一元 - (反转);
static methods:
make()
Point.make(x,y):Point
构造来自 x,y 的点