我最近几天在互联网上进行了搜索和研究,以找到适合我的问题的方法。
问题:
在没有方向的无限直线上剪切凹多边形(实际上是在 3d 中相对于平面的多边形,但我认为问题是类似的)。目前我使用 Sutherland-Hodgman,但生成的多边形有时包含从退化边缘创建的零面积部分,并且它也不支持包含孔的多边形。
我发现可以解决我的问题的最佳算法是 Weiler-Atherton 算法,但它是针对具有顺时针边缘的多边形进行裁剪的,而我所拥有的只是一条无限的线(在 3d 平面中)缺少方向信息。
问题:
是否有适合我需要的裁剪凹多边形的算法,或者有人对如何修改 Weiler-Atherton 算法以适用于这种情况有建议吗?有网页表明它可以推广以支持更多情况,但我无法弄清楚。
//问候 英肯
最佳答案
在 Graphic Gems V 中找到了合适的算法来解决我的问题。如果有人遇到同样的问题,请引用:
Glassner, A.,“裁剪凹多边形”,《Graphics Gems V》,A. Paeth 编辑,学术出版社,剑桥,1995 年
关于3d - 无退化边缘的凹多边形线裁剪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3882536/