Intersections2D
是一个用于在二维平面上进行几何操作的CesiumJS库。
computeSegmentSegmentIntersection(p0, p1, q0, q1)
该函数用于计算两条线段之间的交点。参数p0
和p1
分别代表第一条线段的两个端点,参数q0
和q1
分别代表第二条线段的两个端点。函数调用成功返回包含交点坐标的对象,否则返回undefined。
computeCircleLineIntersection(center, radius, p1, p2)
该函数用于计算圆和线段之间的交点。参数center
代表圆心坐标,radius
代表圆半径,p1
和p2
分别代表线段的两个端点。函数调用成功返回包含交点坐标的对象,否则返回undefined。
computeCircleCircleIntersection(c1, r1, c2, r2)
该函数用于计算两个圆之间的交点。参数c1
和r1
分别代表第一个圆的圆心和半径,c2
和r2
分别代表第二个圆的圆心和半径。函数调用成功返回包含交点坐标的对象,否则返回undefined。
computePolygonCircleIntersection(polygon, center, radius)
该函数用于计算一个多边形和一个圆之间的交点。参数polygon
代表多边形的顶点列表,center
代表圆心坐标,radius
代表圆半径。函数调用成功返回一个包含交点坐标的数组,否则返回undefined。
以下为一个计算两条线段交点的示例:
var Cartesian2 = Cesium.Cartesian2;
var Intersections2D = Cesium.Intersections2D;
var p0 = new Cartesian2(0.0, 0.0);
var p1 = new Cartesian2(1.0, 1.0);
var q0 = new Cartesian2(0.0, 1.0);
var q1 = new Cartesian2(1.0, 0.0);
var intersection = Intersections2D.computeSegmentSegmentIntersection(p0, p1, q0, q1);
if (intersection) {
// 打印交点坐标
console.log(intersection.x, intersection.y);
} else {
// 两条线段没有交点
console.log("no intersection");
}
更多示例参见CesiumJS官方文档。