【发布时间】:2016-01-23 22:48:02
【问题描述】:
我正在尝试制作一个简单的二维“物理”模拟,主要涉及圆形物体的碰撞,为了避免编写我自己的空间索引(四叉树/r-tree/等),我希望使用 Boost 的 R -树。
问题是我在 Boost 文档中找不到任何关于如何创建圆形(或者甚至可能)的文档或示例。有大量关于创建任意多边形对象的文档。使用 Boost 几何库是否可以做到这一点,如果可以,如何做到这一点?
已编辑:澄清我不是在问一个人如何找到两个圆圈是否相交。
【问题讨论】:
-
在我看来,您有两个 不同 问题,一个是制作“圆圈”(无论在您的上下文中是什么意思),另一个是检查交叉点。确实如此,那么您应该问两个不同的问题。
-
如果两个中心之间的距离小于它们的半径之和,那么它们相交。
-
@Joachim Pileborg 问题的目的是确定是否可以使用表示圆的 boost 几何库创建对象(类似于创建多边形对象的方式),如果可以,是否支持 boost圆的几何布尔运算符。 (交叉点、联合等)。你能告诉我你是否认为有更好的方法来改写这个问题?
-
@101010 我对造成的误解深表歉意,我了解检查两个圆是否相交的一般几何方法,我试图确定是否有办法使用 boost 库(主要用于将所述圆形对象放入 boost 提供的 r-tree 的目的。)
标签: c++ boost boost-geometry