cesuim 怎么获得斜圆锥

其它 · superfog · 于 4年前 发布 · 7652 次阅读

需要用Cesuim做一个斜圆锥的可视化;新上手,在网上查了些资料。 drawredCone(){

    let redCone = that.currentmap.currentviewer.entities.add({
      name : 'white cone',
      position: Cesium.Cartesian3.fromDegrees(108.93, 34.27, 1000000),
      cylinder : {//圆锥
        HeightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
        length : 2000000,
        topRadius : 0.0,
        bottomRadius : 1000000 / 2,
        material: Cesium.Color.WHITE.withAlpha(.3),
        outline: false,
        numberOfVerticalLines: 0,
        outlineColor: Cesium.Color.WHITE.withAlpha(.3)
      }
    });

画正圆锥,但是斜圆锥不知怎么搞。求赐教!

本文由 superfog 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。

共收到 2 条回复
sogrey#14年前 1 个赞

这个viewer.entities应该不能满足,可以使用scene.primitives。只要给位置矩阵设置旋转就行。

示例地址(需要npm run build编译源码后可见): http://localhost:8080/Apps/Sandcastle/index.html?src=development/Cylinder.html&label=Development

我简单修改了官方源码,只加了一行代码:

//在 41 行后加上
Cesium.Matrix4.multiplyByMatrix3(modelMatrix,
                                 Cesium.Matrix3.fromRotationY(Math.PI/4),//绕Y轴旋转 π/4
                                 modelMatrix);

https://sogrey.top/Cesium-start-Example/examples/model/development_Cylinder.html

sogrey#22年前 1 个赞

最新的文档上看到 entity 可以设置方向了,https://cesium.com/learn/cesiumjs/ref-doc/Entity.html#.ConstructorOptions ,注意 orientation <可选> 指定实体方向的属性。

官网文有提:

https://cesium.com/learn/cesiumjs-learn/cesiumjs-creating-entities/#3d-models

默认情况下,模型是直立面向东的。通过Quaternion 为Entity.orientation属性指定 a来控制模型的方向。这控制了模型的航向、俯仰和滚动。

var viewer = new Cesium.Viewer('cesiumContainer');
var position = Cesium.Cartesian3.fromDegrees(-123.0744619, 44.0503706);
var heading = Cesium.Math.toRadians(45.0);
var pitch = Cesium.Math.toRadians(15.0);
var roll = Cesium.Math.toRadians(0.0);
var orientation = Cesium.Transforms.headingPitchRollQuaternion(position, new Cesium.HeadingPitchRoll(heading, pitch, roll));

var entity = viewer.entities.add({
    position : position,
    orientation : orientation,
    model : {
        uri : '../../../../Apps/SampleData/models/GroundVehicle/GroundVehicle.glb'
    }
});
viewer.trackedEntity = entity;
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics