cesuim 怎么获得斜圆锥

其它 · superfog · 于 1个月前 发布 · 245 次阅读

需要用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 中国大陆许可协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。

共收到 1 条回复
sogrey#129天前 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

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics