是否有一种计算有效的方法来确定直线与矩形平面区域中给定Voronoi曲面细分的所有边的交点?
由于
答案 0 :(得分:2)
一旦你有了第一个交叉点,剩下的就很容易了。
准备边数据库:对于每条边,列出它所属的两个多边形,或者说它是外边(因此只属于一个多边形)。在你的图片中,矩形的下边将包含4个不同多边形的4条边。
画出你的线,找到你的第一个交叉点(图片中的[0,0.25],没有圈出)。假设它是多边形A.然后下一个交叉点(图片中圈出的最低点)也属于A.您可以通过A的边缘列表找到相关边缘并进行二元搜索。
现在你找到了A的第二条边,找出它所属的其他多边形。然后使用二分搜索来查找该线相交的另一个多边形的哪个边缘。等等,直到退出矩形。