python - 如何从 svgpathtools 贝塞尔曲线获取坐标列表?

标签 python svg svg-path

我有 python 代码来创建贝塞尔曲线,从中创建贝塞尔路径。

这是我的导入:

import from svgpathtools import Path, Line, CubicBezier

这是我的代码:

    bezier_curve = CubicBezier(start_coordinate, control_point_1, control_point_2, end_coordinate)
    bezier_path = Path(bezier_curve)

我想创建一个构成这条曲线的坐标列表,但是 documentation 都没有我正在阅读提供了一种直接的方法来做到这一点。 bezier_curve和bezier_path只有起点、终点和控制点的参数。

最佳答案

这似乎是一个非常合理的问题。很惊讶没有答案。我最近不得不自己做这个, secret 是 point()

这是我完成它的方法,使用您的样板文件作为起点:

from svgpathtools import Path, Line, CubicBezier

bezier_curve = CubicBezier(start=(300+100j), control1=(100+100j), control2=(200+200j), end=(200+300j))
bezier_path = Path(bezier_curve)

NUM_SAMPLES = 10

myPath = []
for i in range(NUM_SAMPLES):
    myPath.append(bezier_path.point(i/(NUM_SAMPLES-1)))

print(myPath)

输出:

[(300+100j), (243.8957475994513+103.56652949245542j), (206.72153635116598+113.71742112482853j), (185.1851851851852+129.62962962962962j), (175.99451303155004+150.480109739369j), (175.85733882030178+175.44581618655695j), (181.4814814814815+203.7037037037037j), (189.57475994513032+234.43072702331963j), (196.84499314128942+266.8038408779149j), (200+300j)]

关于python - 如何从 svgpathtools 贝塞尔曲线获取坐标列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43383249/

相关文章:

python - Django + Postgres +大时间系列

Python SciPy 索引错误 : the length of bounds is not compatible with that of x0

javascript - 如何从库中导入以便显示图标(webpack/joneditor)?

javascript - document.documentElement.appendChild() 不起作用

javascript - D3 : How to adjust SVG image path elements programmatically?

python - 我想打印日志文件中的所有消息

未定义图像上 href 的 SVG 命名空间前缀 xlink

javascript - 如何使用 CSS 或 JavaScript 对 SVG 路径进行动画处理或过渡?

javascript - 如何使 svg 路径填充为进行中的动画?

python - 使用 Django/Python 为 Facebook 应用程序创建一个 Like-Gate(显示选项卡)