关于cesium的问题:为什么我在做通视分析,求射线与地形的交点时正常,但是求射线与模型的交点时,拾取不到那个交点,这是咋回事?下面的图上蓝色的点是求到的交点,在倾斜上拾取不到。
在 Cesium 中,求射线与模型的交点和求射线与地形的交点的过程是不同的。
当求射线与地形的交点时,Cesium 内置了一种碰撞检测机制,可以自动检测射线与地形的交点,因此可以很容易地获取交点。
而求射线与模型的交点时,Cesium 内置的碰撞检测机制是不能处理的,因此需要通过额外的方法来求交点。
这里给你几种可能的解决方案:
使用 Cesium 的 ray.intersect() 方法来求射线与模型的交点。这种方法可能需要您手动检测射线与模型的交点,因此可能会比较复杂。使用第三方库如 three.js 或者 a-frame 等来求射线与模型的交点,这些库都提供了类似的功能
使用更为高级的交互方式,比如通过更改模型的透明度来使模型可交互的形式来进行选取。
需要注意的是,在倾斜的情况下,射线与模型的交点可能会受到视线倾斜的影响,所以求交点会有困难。