首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网格到网格交点

网格到网格交点
EN

Stack Overflow用户
提问于 2011-11-02 05:53:25
回答 5查看 10.2K关注 0票数 11

我正在寻找一个库或一篇论文,它描述了如何确定一个三角形网格是否与另一个三角形网格相交。

有趣的是,我一无所获。如果在CGAL中有什么方法可以做到这一点,那我就难倒了。

这看起来显然应该是可能的,因为三角形相交是可能的,并且因为每个网格包含有限数量的三角形。但我假设一定有比明显的O(n*m)方法更好的方法,其中一个网格有n个三角形,另一个网格有m个三角形。

EN

回答 5

Stack Overflow用户

发布于 2011-11-02 15:19:19

我们通常使用CGAL的方式是使用CGAL::box_intersection_d

您可以通过将此example与此one混合使用来实现它。

编辑:

从CGAL4.12开始,现在有了函数CGAL::Polygon_mesh_processing::do_intersect()

票数 8
EN

Stack Overflow用户

发布于 2011-11-02 12:54:01

Real-Time Collision Detection一书对实现这样的算法有一些很好的建议。基本方法是使用空间分区或边界体积来减少您需要执行的三三交叉点测试的数量。

有许多很好的学术包可以解决这个问题,包括Proximity Query PackageGAMMA research group at University of North Carolina的其他工作,SWIFT,I-COLLIDE和RAPID都是众所周知的。检查这些库上的许可证是否可接受。

Open Dynamics Engine (ODE)是一个物理引擎,包含大量交集原语的优化实现。您可以在他们的wiki上查看三角形-三角形交集测试的文档。

虽然这并不是您想要的,但我相信使用CGAL - Tree of Triangles, for Intersection and Distance Queries也是可能的。

票数 4
EN

Stack Overflow用户

发布于 2011-11-02 09:10:00

我认为您遗漏的搜索词是overlay。例如,这里有一个关于Surface Mesh Overlay的网页。该网站有一个简短的参考书目,全部出自同一作者之手。这是另一篇关于这个主题的论文:"Overlay mesh construction using interleaved spanning trees,“Infocom2004: IEEE计算机和通信学会的第23届年度联席会议。另请参阅GIS问题“Performing Overlay of Two Triangulated Irregular Networks (TIN)”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7973402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档