如何使用Python的PIL绘制贝塞尔曲线? 蟒蛇

问题描述

贝塞尔曲线并不难绘制自己。考虑到三点A,B, C你需要为了画出曲线三个线性插值。我们 将标量t用作线性插值的参数:

P0 = A * t + (1 - t) * B
P1 = B * t + (1 - t) * C

这将在我们创建的两个边(边AB和边BC)之间进行插值。在 我们现在所要做的计算,我们必须得出点唯一的事情就是 使用相同的T像这样P0和P1之间进行插值:

Pfinal = P0 * t + (1 - t) * P1

在实际绘制曲线之前,需要完成几件事。首先,我们要走一些dt(δt),我们需要意识到 这一点0 <= t <= 1。如您所料,这不会给我们平滑的曲线,而是仅产生一组离散的 绘图位置。解决此问题的最简单方法是在当前点和上一个点之间画一条线。

解决方法

我正在使用Python的图像库,我想绘制一些贝塞尔
曲线。我想我可以逐像素计算,但我希望有
一些更简单的方法。