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

发布于 2021-01-29 15:09:19

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

关注者
0
被浏览
106
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    贝塞尔曲线并不难绘制自己。考虑到三点ABC你需要为了画出曲线三个线性插值。我们将标量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。如您所料,这不会给我们平滑的曲线,而是仅产生一组离散的绘图位置。解决此问题的最简单方法是在当前点和上一个点之间画一条线。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看