如图所示,我想把圆锥与地面交面的轮廓画出来,比如下面圆锥是斜着的与地面的交面是一个椭圆,我想把这个椭圆的轮廓画出来,并且后续能跟着圆锥进行移动
查看更多
简单说一下思路,晚上有时间我再详细阐述。1.圆锥的顶点为起点,发出一条射线,求与点的交点也就是椭圆的圆心。2.分别设定椭圆的长半轴与短半轴。最后再绘制ellipsoid entity。期待你的反馈。
你想实现的效果,应该是需要用深度图。获取一张地球的深度图,然后绘制圆锥的时候 ,根据深度差越小=》越接近,然后根据是否接近,然后高亮片元。原理是通的,但不太清楚cesium中如何去做。
发布 问题
分享 好友
手机 浏览
回到 顶部
感谢回复!我也这样想过,但是椭圆的长半轴和短半轴如何确定呢?
@chencj 可以根据三角形确定。一个简单草图,因为手机画的可能不太标准。
那如果圆锥是有角度的,就比如上面的那个圆锥他其实在地下也有一部分,然后地上面才会出现椭圆的形状,这样如何解决呢?
同样的道理,你可以从顶点射出5条射线(根据你需求可以增加)。四条射线可以分别得到对应的长半轴短半轴的为止点,同时也能求出距离。同时你也可以根据射线得到椭圆的中心点。这样信息就全了
好的 谢谢您!
@Jsonco 你好,我最近在尝试实现这个方法,和您简单描述下您看我这个方法是不是对的。
1、首先我这里的圆锥是添加了heading和pitch,并且是绕着顶点转动的,假设heading是30,pitch是30,圆锥的半角是8度,那么我可以获取到圆锥顶点的位置和圆锥中心的位置,这样构造出一个射线,求出和地面的交点,这个就是椭圆的中心点point1。
2、根据圆锥的半角是8度,我让heading先减去或者加上8度,得到另一个圆锥,利用上述的方法求出这个圆锥和地面的交点point2,同样让pitch减去或者加上8度,得到point3.
3、分别计算point和point2和point3的距离,这个距离就是椭圆的短半轴和长半轴的长度
我按照这个方法得到的椭圆有点不准确,请问问题出现在哪里了呢?求回复