我正在寻找一种通过“加厚”贝塞尔曲线以编程方式生成多边形的方法。像这样的东西:
我最初的想法是找到直线中的法线,并从中生成多边形:
但问题是法线可能会以陡峭的曲线相互交叉,如下所示:
是否有任何公式或算法可以从贝塞尔曲线生成多边形?我在互联网上找不到任何信息,但也许我搜索时使用了错误的词语......
如果您想要恒定的厚度,这称为偏移曲线,并且您使用法线的想法是正确的。
这确实带来了两个困难:
偏移曲线不能完全表示为贝塞尔曲线;您可以使用折线代替,或者将贝塞尔曲线改造为折线;
当曲率半径变得小于偏移宽度时,确实会出现尖点。您必须检测折线的自相交。
据我所知,没有简单的解决方案。
有关更多信息,请检查38. 曲线偏移 https://pomax.github.io/bezierinfo/#offsetting.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)