cesium primitive圆柱
时间: 2025-04-19 14:53:22 浏览: 41
### 使用 Cesium 的 Primitive 创建圆柱体
在 Cesium 中创建圆柱体主要通过 `Cesium.CylinderGeometry` 和 `Cesium.Primitive` 来实现。下面是一个完整的例子来展示如何定义并渲染一个圆柱体。
#### 定义几何形状
首先,需要构建表示圆柱体的几何对象:
```javascript
const cylinder = new Cesium.CylinderGeometry({
length: 1000,
topRadius: 50.0,
bottomRadius: 50.0,
slices: 64 // 更多切片可以提供更平滑的效果
});
const geometry = Cesium.CylinderGeometry.createGeometry(cylinder);
```
这里设置了顶部半径 (`topRadius`) 和底部半径 (`bottomRadius`) 均为50单位长度,以及高度(`length`)设为了1000单位长度[^1]。
#### 构建图形实例
接着要基于上述几何数据创建具体的图形实例:
```javascript
const instance = new Cesium.GeometryInstance({
geometry : geometry,
attributes : {
color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.RED)
},
modelMatrix : Cesium.Transforms.eastNorthUpToFixedFrame(
Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883))
});
```
此部分代码指定了颜色属性,并且应用了一个变换矩阵用于定位该圆柱的位置于地球表面某处坐标上[^2]。
#### 渲染 Primitive 对象
最后一步就是利用这些配置好的参数去初始化一个 Primitive 实例来进行实际绘制工作:
```javascript
viewer.scene.primitives.add(new Cesium.Primitive({
geometryInstances : instance,
appearance : new Cesium.PerInstanceColorAppearance()
}));
```
这会把之前准备的所有设置都传递给一个新的 Primitive 实例,并将其添加到场景中的 primitives 集合里以便显示出来。
阅读全文
相关推荐

















