Intersections2D

Intersections2D()

包含对二维三角形进行操作的函数。

Methods

staticSuperMap3D.Intersections2D.clipTriangleAtAxisAlignedThreshold(threshold, keepAbove, u0, u1, u2, result)Array.<Number>

在给定的轴对齐阈值处分割二维三角形,并返回阈值给定边上的多边形结果。生成的多边形可能有 0、1、2、3 或 4 个顶点。
Name Type Description
threshold Number 剪切三角形的阈值坐标值。
keepAbove Boolean True表示保持三角形高于阈值的部分,false表示保持低于阈值的部分。
u0 Number 三角形中第一个顶点的坐标,按逆时针顺序。
u1 Number 三角形中第二个顶点的坐标,按逆时针顺序。
u2 Number 三角形中第三个顶点的坐标,按逆时针方向排列。
result Array.<Number> optional 要将结果复制到其中的数组。如果未提供此参数,则构造并返回一个新数组。
Returns:
剪切后的多边形,指定为一个顶点列表。 每个顶点要么是现有列表中的索引(用 0、1 或 2 表示),要么是 -1 表示不在原始三角形中的新顶点。 对于新顶点,-1 后面还有三个数字:构成新顶点所在线段的两个原始顶点的索引,以及第一个顶点到第二个顶点距离的分数。
Example:
var result = SuperMap3D.Intersections2D.clipTriangleAtAxisAlignedThreshold(0.5, false, 0.2, 0.6, 0.4);
// result === [2, 0, -1, 1, 0, 0.25, -1, 1, 2, 0.5]

staticSuperMap3D.Intersections2D.computeBarycentricCoordinates(x, y, x1, y1, x2, y2, x3, y3, result)Cartesian3

计算二维三角形内二维位置的偏心坐标。
Name Type Description
x Number 要查找偏心坐标的位置的 x 坐标。
y Number 用于查找偏心坐标的位置的 y 坐标。
x1 Number 三角形第一个顶点的 x 坐标。
y1 Number 三角形第一个顶点的 Y 坐标。
x2 Number 三角形第二个顶点的 x 坐标。
y2 Number 三角形第二个顶点的 Y 坐标。
x3 Number 三角形第三个顶点的 x 坐标。
y3 Number 三角形第三个顶点的 Y 坐标。
result Cartesian3 optional 要将结果复制到其中的实例。 如果该参数 未定义,则会创建并返回一个新实例。
Returns:
三角形内位置的重心坐标。
Example:
var result = SuperMap3D.Intersections2D.computeBarycentricCoordinates(0.0, 0.0, 0.0, 1.0, -1, -0.5, 1, -0.5);
// result === new SuperMap3D.Cartesian3(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0);