麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

Cesium API - Intersections2D 中文文档

本文介绍下Cesium中 Intersections2D API的详细使用说明。

Intersections2D API 调用方法

Intersections2D()
包含操作2D三角形的函数。

内置方法

staticCesium.Intersections2D.clipTriangleAtAxisAlignedThreshold(threshold, keepAbove, u0, u1, u2, result)Array.<Number>
在给定轴对齐的阈值处分割一个2D三角形,并在阈值的给定一侧返回结果多边形。 得到的多边形可能有0、1、2、3或4个顶点。
Name Type Description
threshold Number 用于裁剪三角形的阈坐标值。
keepAbove Boolean true使三角形的部分保持在阈值以上,或false使三角形的部分保持在阈值以下。
u0 Number 三角形中第一个顶点的坐标,按逆时针方向排列。
u1 Number 三角形中第二个顶点的坐标,按逆时针方向排列。
u2 Number 三角形中第三个顶点的坐标,按逆时针方向排列。
result Array.<Number> optional 要将结果复制到其中的数组。如果不提供此参数,则构造并返回一个新数组。
返回值:
裁剪后生成的多边形,指定为顶点列表。顶点按逆时针方向指定。 每个顶点要么是现有列表的索引(标识为0、1或2),要么是-1,表示原始三角形中没有新的顶点。 对于新的顶点,-1后面跟着三个附加的数字:构成新顶点所在线段的两个原始顶点的索引,以及从第一个顶点到第二个顶点的距离的分数。
示例:
var result = Cesium.Intersections2D.clipTriangleAtAxisAlignedThreshold(0.5, false, 0.2, 0.6, 0.4);
// result === [2, 0, -1, 1, 0, 0.25, -1, 1, 2, 0.5]
staticCesium.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 要将结果复制到其中的实例。如果该参数未定义,则创建并返回一个新实例。
返回值:
三角形中重心坐标的位置。
示例:
var result = Cesium.Intersections2D.computeBarycentricCoordinates(0.0, 0.0, 0.0, 1.0, -1, -0.5, 1, -0.5);
// result === new Cesium.Cartesian3(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0);
staticCesium.Intersections2D.computeLineSegmentLineSegmentIntersection(x00, y00, x01, y01, x10, y10, x11, y11, result)Cartesian2
计算两条线段的交点。
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 optional 要将结果复制到其中的实例。如果该参数未定义,则创建并返回一个新实例。
返回值:
交点,如果没有交点或线是重合的则为undefined。 if there is no intersection point or lines are coincident.
示例:
var result = Cesium.Intersections2D.computeLineSegmentLineSegmentIntersection(0.0, 0.0, 0.0, 2.0, -1, 1, 1, 1);
// result === new Cesium.Cartesian2(0.0, 1.0);

其他API

Cesium中文API文档手册(v1.63.1版本)参考:《Cesium中文API文档手册(v1.63.1版本)

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)