文档手册

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 的点