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

椭圆与扇形地面

左边是拉伸过的椭圆,右边是按圆心角实时重算的扇形。 两种面状图元共用一套经纬度坐标,方便对比写法差异。

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

椭圆只认长短半轴

ellipse.semiMajorAxis 是东西方向半径,semiMinorAxis 是南北方向半径,单位都是米,不是度。两者相等时就是圆。 extrudedHeight 把面沿法线方向拉起一段,形成有厚度的柱体, 侧面会自动补上。

扇形靠拼坐标

没有现成的扇形图元。示例的做法是:以圆心为第一个顶点,再按圆心角均匀 采样弧上的点,凑成一个闭合多边形交给 polygon.hierarchy。 采样点越多边缘越圆滑,48 段在这个尺度下已经看不出折线。

顶点数组放在 CallbackProperty 里,滑杆一变就重新计算, 多边形立刻跟着改形状。这种写法适合顶点数量不多的面,点数上千时 每帧重算会有开销。

可调参数

位置改什么效果
滑杆20° 到 330°扇形张口大小
RADIUS1600 改成 800扇形半径缩短
semiMinorAxis800 贴近 1400椭圆趋近于圆
extrudedHeight改成 0椭圆退回成平面

角度按方位角算。示例用「正北为 0、顺时针递增」的方式换算经纬度, 和测量上的方位角一致。直接改 Math.cos 与 Math.sin 的位置会让开口方向整体转一个角度。