如果我得到一条足够长的线段来穿过给定的多边形,该多边形可能是凹多边形或凸多边形。我如何找到多边形中包含的所有相交的光段?
如果目标区域不是多边形,而是隐式曲线函数或样条曲线,怎么办?
Thanks!
对于您的问题确实没有简单的解决方案,尤其是曲线(贝塞尔曲线和样条曲线)。除了多边形剪裁的复杂性之外,重建剪裁曲线还面临着相当大的挑战(假设您希望剪裁结果保持为贝塞尔曲线和样条曲线,而不仅仅是“展平的”直线近似值)。
我最近发布了我的多边形裁剪库“Clipper”的测试版更新*,它可以进行线-多边形和线-线裁剪(其中线也可以是曲线)。然而,虽然主库是用 Delphi、C++ 和 C# 编写的,但新的测试版代码到目前为止仅是用 Delphi 编写的,这可能对您没有帮助。不过,如果您查看代码,您就会明白为什么我说没有“简单”的解决方案。
- 2011 年 7 月 15 日编辑:
此“更新”从未超出此测试版本,现在只是“概念验证”。它现在基于我的 Clipper 库的旧版本,需要进行重大重写才能维护和扩展。 (在某个阶段我可能会重新访问它,但我目前打算进一步改进核心库。)尽管如此,这个“概念验证”Delphi 代码可以下载here
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)