Python PyPI bezier 0.8.0:绘制平滑bezier曲线所需的最小点数?

Python PyPI bezier 0.8.0:绘制平滑bezier曲线所需的最小点数?,python,matplotlib,bezier,Python,Matplotlib,Bezier,函数bezier.curve.plot(num_pts,…)在PyPI bezier 0.8.0中,可以开始使用较少的数值,并将其增加,直到得到一条非常平滑的曲线,即不显示任何多边形符号的曲线,在此之后,这些点的任何增加都不会改善曲线 现在,在我在网络上看到的例子中,我通常会看到num_pts=256,我发现这个数值非常高,因为考虑到我绘制的最复杂的曲线,我从未遇到需要超过80个点的情况。这是我一直使用的,直到我发现它太少。所以,我想知道这是否只是程序员之间传播的一种习惯,还是有真正的原因。这是

函数
bezier.curve.plot(num_pts,…)
PyPI bezier 0.8.0中,可以开始使用较少的数值,并将其增加,直到得到一条非常平滑的曲线,即不显示任何多边形符号的曲线,在此之后,这些点的任何增加都不会改善曲线

现在,在我在网络上看到的例子中,我通常会看到num_pts=256,我发现这个数值非常高,因为考虑到我绘制的最复杂的曲线,我从未遇到需要超过80个点的情况。这是我一直使用的,直到我发现它太少。所以,我想知道这是否只是程序员之间传播的一种习惯,还是有真正的原因。这是否会对过程产生一种过度工作/过载/超时,特别是在绘制大量曲线时,例如在动画中?回到我的基本问题,有没有一种方法可以找到绘制平滑贝塞尔曲线所需的最小点数?是的,主要是惯性——复制遗留代码

这可以追溯到视觉绘图区域通常要大得多的时代,例如全屏对象。“平滑”是相对于观看者的视网膜而言的。256创建了一个方便的内存块,用于为传递的浮点数组分配和回收内存,从而为操作系统负载的这一部分节省了一些时间


在打印较小的对象(例如典型动画)时,您说得很对:数字越小,曲线越平滑。随着基于向量的机器操作和支持并行处理的出现,时间差对于大多数应用来说并不重要。需要高帧速率的应用程序的编码人员知道许多实时优化,并且在重要的时候会抓住这一点。

因此,这是一个棘手的问题,因为“有没有一种方法可以找到绘制平滑贝塞尔曲线所需的最小点数?”回答为“绝对,这是曲线顺序加1。”但是,
bezier.curve.plot
是否编写为执行真正的曲线拟合,只要它具有所需的最少点数?因为如果不是这样,那么编写自己的曲线抽象器所需的代码就少得惊人。要找到平滑的二次曲线,只需要三个点。光滑立方:四,光滑四次:五,等等。谢谢。1) 我想我很好地解释了我所说的“平滑”曲线2)使用维度+1点不会生成曲线,而是生成多边形。这不是我说的。3) 谢谢你的参考。然而,它对我来说太科学了。1)你做了,这就是为什么2)不,我说的是贝塞尔曲线,然后3)是高中数学。为了拟合完全平滑的n阶贝塞尔曲线而不需要太多猜测工作,n+1点就足够了。现在,PyyPi的
bezier.curve.plot
是否允许您这样做是一个完全不同的问题,所以:您想知道如何获得平滑曲线,然后可以使用任何绘图库绘制,还是想使用
bezier.curve.plot
即使可能有更好的解决方案,您也不想要它们?好的。谢谢@Mike。谢谢。没错,这是因为“惯性”(我称之为“坏习惯”):。你的回答至少解决了我不必担心的问题?第.)然而,像我这样的老程序员,在代码优化原则的指导下长大(感谢上帝,我生活在那个时代!)总是寻求“最高效”、“最佳使用”等。但也许这毕竟也是一个“坏习惯!”:)