高效的三维交叉算法集合

40

有人知道一个可以获取一些良好实现的3D相交算法的源、网站吗,如下所示:

  • 球和球的相交
  • 球/椭球体
  • 球/立方体
  • 椭球体/椭球体
  • 椭球体/立方体
  • 立方体/立方体
  • 球/光线
  • 椭球体/光线
  • 立方体/光线
  • 三角形/光线
  • 四边形/光线
  • 三角形/三角形
  • 四边形/四边形

3
我敢打赌,Quake的源代码中一定有类似这样的内容。 - Rafe Kettler
没有参考网站,但您可能想将GJK添加到您的列表中。可以在这里找到描述GJK的视频。 - Krypes
2
这类东西的唯一和最佳来源是Dave Eberly的Wild Magic库http://www.geometrictools.com。 - Matthieu N.
6个回答

48

1
+1,不错的链接。但请注意,他还将“实时碰撞检测”称为该主题的“权威来源”。我想这取决于你需要多少细节。 - James
实际上,该页面链接到这里提到的几个其他内容,如RTCD,Gems等。这只是一个大型维护的引用集合。 - luke

10

这并不是一个网站,而是一本书《实时碰撞检测》,非常值得阅读,特别是对于你正在寻找的内容。


这是一本好书。唯一的问题是它有太多的数学内容! - James McNellis
1
没错。我是在开玩笑地说“这本数学书里有那么多的数学!”这种评论。也许在早上喝几杯咖啡之后再试着搞笑可能更好。 - James McNellis
他想要在椭球体之间进行交集。这需要数学,通常的解决方案是R3中的4阶曲线。 - phkahler

1

1

你可能想把Eberly的游戏引擎设计放在你的书架上。它详细介绍了你列出的每个交叉点的算法和讨论。


0
如果你正在进行光线追踪,那么在ompf.org上提问并查看RTNews档案可能会有所帮助。无论如何,这取决于你将用它们做什么。

-1

POVRay光线追踪器的源代码有一些实现可能会有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接