Intersections2D

包含用于在2D三角形上进行操作的函数。

Methods

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

以给定的轴对齐阈值分割2D三角形并返回结果阈值给定边上的多边形。产生的多边形可能具有0、1、23或4个顶点。
Name Type Description
threshold Number 裁剪三角形的阈值坐标值。
keepAbove Boolean 将三角形的一部分保持在阈值以上,则为true,否则为false 保持下面的部分。
u0 Number 三角形中第一个顶点的坐标,按逆时针顺序。
u1 Number 三角形中第二个顶点的坐标,按逆时针顺序。
u2 Number 三角形中第三个顶点的坐标,按逆时针顺序。
result Array.<Number> 可选 将结果复制到的数组。如果未提供此参数, 构造并返回一个新数组。
Returns:
剪辑之后产生的多边形,指定为的列表 顶点。顶点以逆时针顺序指定。 每个顶点都是现有列表的索引(标识为 0、1或2)或-1表示不在原始三角形中的新顶点。 对于新顶点,-1后跟三个附加数字: 形成线段的两个原始顶点各自的索引 新的顶点位于,并且与第一个顶点的距离的分数 顶点到第二个。
Example:
var result = LSGlobe.Intersections2D.clipTriangleAtAxisAlignedThreshold(0.5, false, 0.2, 0.6, 0.4);
// result === [2, 0, -1, 1, 0, 0.25, -1, 1, 2, 0.5]

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

计算2D三角形内2D位置的重心坐标。
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 可选 将结果复制到的实例。如果这个参数 未定义,则创建新实例并返回。
Returns:
三角形内位置的重心坐标。
Example:
var result = LSGlobe.Intersections2D.computeBarycentricCoordinates(0.0, 0.0, 0.0, 1.0, -1, -0.5, 1, -0.5);
// result === new LSGlobe.Cartesian3(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0);

static LSGlobe.Intersections2D.computeLineSegmentLineSegmentIntersection (x00, y00, x01, y01, x10, y10, x11, y11, result ) Cartesian2

计算2个线段之间的交点
Name Type Description
x00 Number 第一行的第一个顶点的x坐标。
y00 Number 第一行的第一个顶点的y坐标。
x01 Number 第一行第二个顶点的x坐标。
y01 Number 第一行第二个顶点的y坐标。
x10 Number 第二行的第一个顶点的x坐标。
y10 Number 第二行的第一个顶点的y坐标。
x11 Number 第二行第二个顶点的x坐标。
y11 Number 第二行第二个顶点的y坐标。
result Cartesian2 可选 将结果复制到的实例。如果这个参数 未定义,则创建新实例并返回。
Returns:
相交点,如果没有相交点或直线重合,则不确定。
Example:
var result = LSGlobe.Intersections2D.computeLineSegmentLineSegmentIntersection(0.0, 0.0, 0.0, 2.0, -1, 1, 1, 1);
// result === new LSGlobe.Cartesian2(0.0, 1.0);