PyPI bezier 0.8.0 中的函数 bezier.curve.plot(num_pts, ...)
可以开始使用少量的 num_pts 并增加它,直到得到一条完全平滑的曲线 - 即没有显示出丝毫多边形迹象的曲线 - 此后这些点的任何增加都不会改善曲线。
现在,在我在网络上找到的示例中,我通常会看到 num_pts=256,我发现这个值非常高,因为考虑到最复杂的情况,我从未遇到过需要超过 80 点的情况我绘制的曲线。这就是我一直使用的,直到我发现它太少了。所以,我想知道这是否只是程序员之间传播的一种习惯,还是有真正的原因。这是否会导致流程过度工作/重载/加类,尤其是。当绘制很多曲线时,例如在动画中?并且,回到我的基本问题,是否有一种方法可以找到绘制平滑贝塞尔曲线所需的最少点数?
最佳答案
是的,这主要是惯性——复制遗留代码。
这让人想起视觉绘图区域通常要大得多的日子,例如全屏对象。 “平滑”是相对于观看者的视网膜而言的。 256 为传递的 float 组创建了一个方便的内存块来分配和回收,为这部分操作系统负载节省了一些时间。
当绘制较小的对象(例如典型的动画)时,您是对的:较低的数字将给出看起来同样平滑的曲线。随着基于矢量的机器操作和支持并行处理的出现,时间差异对于大多数应用程序来说并不重要。需要高帧速率的应用程序的编码人员了解许多实时优化,并且会在重要时捕获这一点。
关于python - PyPI 贝塞尔曲线 0.8.0 : Minimum number of points needed to plot a smooth bezier curve?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51428725/