我正在使用CGAL来使用ex_alpha_shapes_3 example创建一组3D点的凹形。接下来,我想知道空间中的点查询是否位于由三角形凹壳面(ex_alpha_shapes_3代码的输出)创建的曲面内。一个“多边形点”技术应该对此有用。如果有人能帮助我解决这个问题,我将不胜感激。确定一个点是否在CGAL的3D Alpha形状表面的内部或外部
2
A
回答
4
1
我不知道CGAL,但有几个启发式可以使用,因为你的多面体已知是凸的。基本上2D可以做很多工作。您可以使用任何轴,但假设我们正在XY平面中工作并暂时忽略Z分量。由于你的形状是凸的,通常只有两个三角形的XY坐标围绕着你的点的XY坐标。对于任何三角形,您可以快速确定是否x [min] < x [point] < x [max],同样对于y。如果这些测试失败,继续前进。如果他们成功了,需要进一步测试来确定点是否实际在三角形内。找到2个可接受的三角形后,找到该点(X,Y)处每个三角形的Z值。如果点的Z位于面的Z值之间,则该点位于实体内部。
相关问题
- 1. 确定一个点是否在opencv形状的内部或外部
- 2. 保存CGAL alpha形状表面网格
- 3. 谷歌地图API:确定点是否在内部形状
- 4. 在CGAL和可视化中创建3D Alpha形状
- 5. 确定一个点是否坐在任意形状内?
- 6. 确定多边形法线,多边形内部还是外部的点
- 7. 3D alpha形状产生意想不到的凸面的表面
- 8. 找到一个点是否内部或外部的柔性基本对象
- 9. 如何测试一个点是在三角形的内部还是外部?
- 10. 如何确定Delaunay三角形是内部还是外部?
- 11. 是否在特定元素内部或外部
- 12. CGAL找到网格中的内部点
- 13. 是否可以确定某个方法是从一个类的内部还是外部调用的?
- 14. 确定点是否在多边形内?
- 15. 确定点是否在多边形内
- 16. '扭'不是一个公认的内部或外部命令
- 17. 如何知道一个点是否在一个多边形的内部android
- 18. 确定一个点相对于给定3D表面的位置
- 19. 明确不被识别为一个内部或外部命令
- 20. 找到一条线段(矩形内部的一个点,外部的一个点)和直肠侧的交点
- 21. 在内部放置一个UImageView?或外面?一个UITableView
- 22. 确定一组点的“内部域”
- 23. 确定一个点是否在多边形的顶点
- 24. 如何确定一系列点(或多边形)是否在矩形区域内?
- 25. 确定一个点的列表是否符合“形成”?
- 26. 是否在报价单内部或外部放置减号?
- 27. C#移动面板内部形状
- 28. 的JavaScript不是内部形状
- 29. 确定外部页面
- 30. 测试矩形是否包含另一个矩形的全部或部分?
我不熟悉CGAL,所以我不知道在那里实现光线追踪和射线碰撞算法是多么容易。如果这很难,而且性能也不重要,那么如果一个点在一个alpha形状内,那么原始点集+查询点的alpha形状应该与原始alpha形状相同,并且您可能能够检查这个“平等”。 –
感谢您的回复。实际上,性能非常关键,因为我需要在每个时间步骤重复此过程,并且我的数据集中可能会有相当多的点(数十万甚至更多)。 – Vahid