Javascript 如何使用铯投射光线并检测与点云的交点

Javascript 如何使用铯投射光线并检测与点云的交点,javascript,raytracing,point-clouds,cesium,Javascript,Raytracing,Point Clouds,Cesium,我目前正在进行一个铯项目,该项目旨在投射光线,并找到它与点云相交的点(Cesium3DTileSet) 到目前为止,我还没有找到一种方法可以做到这一点。我确实实现了scene.pickFromRay和drillPickFromRay,如下所示: //CameraPosition and CameraDirection: [x, y, z] const { cameraPosition, cameraDirection } = cameraToWorldPoint(rotationQuaterni

我目前正在进行一个铯项目,该项目旨在投射光线,并找到它与点云相交的点(Cesium3DTileSet)

到目前为止,我还没有找到一种方法可以做到这一点。我确实实现了scene.pickFromRay和drillPickFromRay,如下所示:

//CameraPosition and CameraDirection: [x, y, z]
const { cameraPosition, cameraDirection } = cameraToWorldPoint(rotationQuaternion, translation, geoTransformationMatrix)

const ray = new Cesium.Ray(new Cesium.Cartesian3(cameraPosition[0], cameraPosition[1], cameraPosition[2]), new Cesium.Cartesian3(cameraDirection[0], cameraDirection[1], cameraDirection[2]));
const intersections = viewer.scene.drillPickFromRay(ray, undefined, undefined, 5);
//Always returns an array of one object (Cesium3dTileSet)

return { x: intersections[0].position.x, y: intersections[0].position.y, z: intersections[0].position.z }

但是pickFromRay和drillPickFromRay的交点似乎发生在整个CesiumTileSet对象上,而不是点云中的实际点,这意味着它不会返回我实际需要的位置


有人知道实现这一点的不同方法吗?

如果你能分享一些你固有的代码就好了谢谢Luca,在那里添加了一些代码。使用直线击中一个点的几率在数学上接近于零,不是吗?