经纬志
首页 / Cesium / 使用示例

裁剪平面剖切地球

一个平面把球体切成两半,滑杆控制切面到地心的距离, 可以按 X、Y、Z 三个世界坐标轴切换切割方向。

CesiumJS 1.121 · 更新 2026-10-27
源码与运行效果
运行效果

平面怎么定义

ClippingPlane 由法线和距离两部分组成:法线决定保留哪一侧, 距离是平面沿法线方向偏移到地心的米数。法线取 (1,0,0) 时, 保留的是 X 大于距离的那一半。

平面坐标是世界坐标(ECEF),不是经纬度,所以滑杆的单位是米, 范围取 ±6371000 就是整条地球半径。距离为 0 时切面正好穿过地心。

为什么要重建集合

示例在每次参数变化时新建一个 ClippingPlaneCollection 并整体赋给 globe.clippingPlanes。这样写的原因是平面对象本身 不保证支持就地修改距离后再生效,重建一次最稳;演示场景里重建的开销可以忽略, 每帧重建则不划算。

可调参数

位置改什么效果
X / Y / Z 轴按钮切换法线方向切面朝向完全不同,剖切位置跟着变
滑杆-6371 到 6371 km切面平移,超过半径后整球消失或完整
edgeWidth: 2.0调到 8切口的描边更粗,剖切轮廓更清楚
edgeColor换成其他颜色切口高亮色
rebuild 里的平面数组加第二个平面两个面同时切割,交集区域保留

实体不会被裁掉。示例里赤道上的参考点始终完整显示, 因为 globe.clippingPlanes 只作用于地球本身。 要裁剪模型或 3D Tiles,需要把同样的 ClippingPlaneCollection 设到 model.clippingPlanes 或 tileset.clippingPlanes 上。

实际用途

剖切在工程上用来展示地下结构、查看建筑内部、或者做「地层切片」演示。 做这类效果时通常给球体一个纯色,再用半透明的面补充剖面材质, 否则切开后只能看到空心的内壁,视觉上不像实心地球。