Cesium半椭球体面的生成思路

Cesium提供了两种方式让使用着加载自己所需要的几何图形,分别是Entity和Primitive。前者是一些已经封装好的接口,可以很方面的添加点、线、面、矩形、椭球体、圆柱体等形状。对于一些意见的使用来说,Entity接口可以用极少量的代码就可以实现所需要的功能。另外一种则是Primitive,相比Entity来说,这种方式需要使用者对Cesium有着更深层次的理解,因为在Primitive中我们可以添加自定义的形状如:半椭球体,扇形等等形状。本文的重点主要讲解通过primitive添加半椭球体。

有的读者可能这么认为,半椭球体就是整个椭球体的一半,通过Cesium封装的EllipsoidGraphics接口参数中高度值进行设置,将椭球体的下半部分隐藏在球体中,就可以实现半椭球形状。实际上这种方式思想上有一定的借鉴性,但是在实际的使用却是万万不能这么做的,说这种方式在思想上有借鉴性的原因将会在后面进行介绍。现在,我们需要重新明确一下需求,我们所要做的椭球体是可以有离地高度的,这样以来通过EllipsoidGraphics接口来实现的方法就不能满足我们的需求了。在这种情况下,我们就需要思考到底有哪些可行的技术方案:

首先,通过Entity中的PolygonGraphic接口进行实现。这里我们可以将椭球体表面作为面对象而进行绘制。但是这样做的画有以下几点需要考虑,椭球面的划分,椭球面点坐标计算,椭球面点坐标的排列。这三个问题摆在我们面前其实意见相当的复杂了。笔者层沿着这条路进行了一段时间,虽然有一定的效果,但是由于计算过程的复杂性还是转而思考别的实现方式。

通过Primitive接口进行实现,这里的一些经验可以借鉴htt

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值