“快速”贝塞尔曲线长度python库

2024-06-26 11:24:54 发布

您现在位置:Python中文网/ 问答频道 /正文

为了计算贝塞尔曲线的长度,我一直在使用pyx。在

from pyx import path, unit
bez = path.curve(p[0], p[1], p[0], p[1] + d, q[0], q[1]-d, q[0],q[1])
edgelen = unit.tocm(bez.arclen())

其中p和{}是曲线的端点,d是两个控制点相对位置的垂直偏移量。(在我的应用程序中,曲线总是“向上”)。在

但是,我发现这个库调用获取曲线长度的速度非常慢。有没有其他的python库可以有更好的性能?在


Tags: pathfromimport应用程序unit端点曲线偏移量
1条回答
网友
1楼 · 发布于 2024-06-26 11:24:54

我可能会用pypy来运行我自己的bezier callable——我不记得前一阵子我上过一节图形课的时候特别困难。如果用纯python编写,pypy应该可以使它非常快。如果pypy不是一个选项,那么使用cython和cpython是下一个最好的选择。在

我经常使用纯python模块,m4对其进行预处理,以获得同一事物的纯python和cython版本的通用代码。看起来效果不错。实际上,有时我甚至会将m4作为一种宏语言而不是python,只是为了避免方法调用而不必在模块的维护版本中重复代码。在

相关问题 更多 >