cesium实现竖立的圆

58 篇文章 2 订阅
文章介绍了如何在Cesium库中利用ellipsoid组件创建看起来像立起来的圆,通过调整radii值和orientation设置来改变形状和方向。通过实例代码展示了如何通过设置x轴radii接近0和heading为90度来模拟圆面效果。
摘要由CSDN通过智能技术生成

cesium中的圆是平行于地面的,想实现竖起来的圆可以使用ellipsoid,设置其中一个轴的radii值为一个很小的值,比如0.00001,则这个轴上的宽度就会非常小,看起来就是一个圆面。

一、画圆ellipse,此处也把画圆的代码贴出来作为对比

viewer.entities.add({
                position: new Cesium.Cartesian3.fromDegrees(113.3960024, 38.090712, 500),
                ellipse: {
                    semiMajorAxis: 1000,
                    semiMinorAxis: 1000,
                    material: Cesium.Color.RED,
                    height: 100
                }
            });

二、画椭球ellipsoid,先不设置radii

viewer.entities.add({
                position: new Cesium.Cartesian3.fromDegrees(113.4410851867723, 38.07983596564565, 500),
                ellipsoid: {
                    radii: new Cesium.Cartesian3(1000, 1000, 1000),
                    material: Cesium.Color.RED.withAlpha(0.9),
                }
            });

三、分别设置三个轴的radii

可以看出,通过设置三个轴的radii能让椭球变成一个圆面,初步实现立起来的圆,如果要调整圆的方向,则需要设置orientation

四、设置圆面的方向orientation

let position = new Cesium.Cartesian3.fromDegrees(113.4410851867723, 38.07983596564565, 500);
            viewer.entities.add({
                position: position,
                orientation: Cesium.Transforms.headingPitchRollQuaternion(
                    position,
                    new Cesium.HeadingPitchRoll(
                        Cesium.Math.toRadians(90),
                    )
                ),
                ellipsoid: {
                    radii: new Cesium.Cartesian3(0.00001, 1000, 1000),
                    material: Cesium.Color.RED,
                }
            });

可以看出,如果设置了x轴的radii,再设置heading为90度,效果和单独设置y轴radii是一样的,可以根据需求配合radii和orientation,达到需要的效果。

其他参考

竖立的面:ceisum 画矩形 画带高度的矩形 画竖起来的矩形-CSDN博客 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值