首页 / Cesium / 使用示例
椭圆与扇形地面
左边是拉伸过的椭圆,右边是按圆心角实时重算的扇形。 两种面状图元共用一套经纬度坐标,方便对比写法差异。
源码与运行效果
椭圆只认长短半轴
ellipse.semiMajorAxis 是东西方向半径,semiMinorAxis
是南北方向半径,单位都是米,不是度。两者相等时就是圆。
extrudedHeight 把面沿法线方向拉起一段,形成有厚度的柱体,
侧面会自动补上。
扇形靠拼坐标
没有现成的扇形图元。示例的做法是:以圆心为第一个顶点,再按圆心角均匀
采样弧上的点,凑成一个闭合多边形交给 polygon.hierarchy。
采样点越多边缘越圆滑,48 段在这个尺度下已经看不出折线。
顶点数组放在 CallbackProperty 里,滑杆一变就重新计算,
多边形立刻跟着改形状。这种写法适合顶点数量不多的面,点数上千时
每帧重算会有开销。
可调参数
| 位置 | 改什么 | 效果 |
|---|---|---|
| 滑杆 | 20° 到 330° | 扇形张口大小 |
RADIUS | 1600 改成 800 | 扇形半径缩短 |
semiMinorAxis | 800 贴近 1400 | 椭圆趋近于圆 |
extrudedHeight | 改成 0 | 椭圆退回成平面 |
角度按方位角算。示例用「正北为 0、顺时针递增」的方式换算经纬度,
和测量上的方位角一致。直接改 Math.cos 与 Math.sin
的位置会让开口方向整体转一个角度。