cesium 构建模型局部坐标系
时间: 2023-07-31 14:05:58 浏览: 188
在Cesium中,构建模型的局部坐标系需要先创建一个模型实例,然后设置模型的位置、旋转和缩放等变换属性。下面是一个简单的示例代码:
```javascript
// 创建一个BoxGeometry模型
var boxGeometry = new Cesium.BoxGeometry({
vertexFormat : Cesium.VertexFormat.POSITION_ONLY
});
// 创建一个模型实例
var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(
Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883, 0.0));
var boxInstance = new Cesium.GeometryInstance({
geometry : boxGeometry,
modelMatrix : modelMatrix
});
// 创建一个模型
var model = new Cesium.Model({
instances : [boxInstance],
allowPicking : false
});
// 设置模型的变换属性
model.modelMatrix = Cesium.Transforms.headingPitchRollToFixedFrame(
new Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883, 0.0),
new Cesium.HeadingPitchRoll(0.0, 0.0, 0.0));
// 添加模型到场景中
viewer.scene.primitives.add(model);
```
在上面的代码中,我们首先创建了一个BoxGeometry模型,然后使用该模型创建一个GeometryInstance实例,并设置该实例的模型变换矩阵(即模型在场景中的位置、旋转和缩放等属性)。接着,我们创建了一个Model实例,并将GeometryInstance实例添加到该模型中。最后,我们设置了模型的变换属性,将模型的局部坐标系转换为场景中的坐标系,并将模型添加到场景中。
阅读全文