包围盒 vs 矩形

7

边框框和矩形之间有什么区别?

这个问题特指Unity 3D的BoundsRect类,但我更感兴趣的是一个通用答案。

具体而言:

  • 哪个性能更好?
  • 一个边框框只是一个三维矩形吗?
  • 何时应该优先考虑其中之一?
  • 它们是否可以互换使用,如果是,为什么Unity 3D会为它们单独创建类?
  • 您可以提供的任何其他知识将不胜感激!
2个回答

5

哪种性能更好?

无关紧要。它们在2D中是相同的,在3D中有不同的意义和用途。

包围盒只是一个3D矩形吗?

并不存在3D矩形。您指的是一个盒子。包围盒是一个足够大的盒子,足以囊括实体/模型的所有可碰撞部分。

我应该何时选择其中之一?

无关紧要,请参见第一段。

它们是可以互换的术语吗?如果是,为什么Unity 3D有单独的类?

同样,2D与3D之间的区别。

是否还有其他知识可以分享?

包围盒存在是为了提高碰撞检测的性能。如果两个物体的包围盒不相交,则无需进一步处理它们的任何碰撞器或在2D中执行像素完美的相交测试。包围盒允许碰撞检测算法快速丢弃任何保证不会发生碰撞的物体。


我喜欢你能够用“不相关”这个词来概括你的整个回答,而且它仍然具有相同的意义。 - Hobbyist

3
基本区别在于2D和3D。您无法使用2D矩形定义3D对象的边界。
理论上,您可以使用Bounds而不是Rect(将一个轴设置为0),但不能使用Rect替换Bounds。由于Bounds需要更多数据,因此会有一些性能损失。
阿伯特的Flatland是关于2D和3D空间交互的经典概述。

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