3d - 无退化边缘的凹多边形线裁剪

标签 3d polygon clipping graphics concave

我最近几天在互联网上进行了搜索和研究,以找到适合我的问题的方法。

问题:

在没有方向的无限直线上剪切凹多边形(实际上是在 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/

相关文章:

Android:Tablerow 多行 TextView 垂直裁剪

3d - 将 3d 4x4 旋转矩阵转换为 2d

audio - 3D空间中声源位置的计算

ios - 如何为单个图像设置多个选择选项?

mysql - 当多边形的点为经纬度时,如何在MySQL数据库中计算多边形的面积?

wpf - 如何防止 WPF 裁剪我的图像?

java - 如何在android中显示3D模型?

javascript - 什么算法用于找到多边形和圆之间的交集区域?

javascript - 多边形内的点javascript

c++ - 如何创建匹配当前投影矩阵的 glClipPlanes?