【发布时间】:2017-01-13 19:40:00
【问题描述】:
我正在尝试找到一种相当理想的算法来确定线段是否与 3D 凸非平面多边形相交。我现在能想到的最好的方法是画一条线,将非平面多边形分成两半,确定线段是位于分割线的右侧还是左侧,然后继续分割直到我可以确定交点。其背后的原因是我可以弄清楚给定点所在的 3d 球形 voronoi 图的哪个区域。但是,找到解决方案的时间可能取决于我的线拆分的浮动分辨率。
非平面多边形示例
在此示例中,我将在蓝点和单位球体中心之间绘制一条线段(在 voronoi 计算后添加,它们不是用于计算图表的点)。然后,我需要弄清楚该线段与哪个多边形相交,以确定它所在的区域。
【问题讨论】:
-
你有多边形还是多面体?
-
@RazimanT.V.根据定义,球体所包含的形状是多面体。但是,在我的代码中,它存储为多边形的集合。在寻找交叉点时,我只关心多面体的各个多边形面。我相信在这种情况下多面体面的正确定义是 3D 凸非平面多边形
标签: algorithm 3d graph-theory voronoi