python - PyPI 贝塞尔曲线 0.8.0 : Minimum number of points needed to plot a smooth bezier curve?

标签 python matplotlib bezier

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/

相关文章:

python - 将 pandas 系列的 collections.counter 对象转换为 pandas dataframe 的多列

python - 凯撒密码加密,无法打印最终消息

python - 我想在 Idle 3.4 "Python"上使用 matplotlib.pyplot 模块

python - 如何分别绘制重复循环的结果?

iphone - 如何启发式地制作平行贝塞尔曲线

带有贝塞尔曲线的 CSS 边框

python - 命令执行目录

python - 多处理帮助。 BrokenProcessPool 错误

python - Matplotlib:ValueError:大小不兼容:参数 'height'必须是长度2或标量

python - 在Python中绘制贝塞尔曲线的问题