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

如何使用Python绘制贝塞尔曲线?,python,bezier,Python,Bezier,我对编码非常陌生,我尝试使用Python以一种简单的方式绘制贝塞尔曲线。到目前为止,我所做的如下 import numpy as np A=(10,20) B=(30,40) C=(5,60) t=np.arange(0.0, 1.0, 0.1) P0 = A * t + (1 - t) * B P1 = B * t + (1 - t) * C Pfinal = P0 * t + (1 - t) * P1 print(Pfinal) 但我收到的错误是 line 6 , in <mo

我对编码非常陌生,我尝试使用Python以一种简单的方式绘制贝塞尔曲线。到目前为止,我所做的如下

import numpy as np
A=(10,20)
B=(30,40)
C=(5,60)
t=np.arange(0.0, 1.0, 0.1)
P0 = A * t + (1 - t) * B
P1 = B * t + (1 - t) * C
Pfinal = P0 * t + (1 - t) * P1
print(Pfinal)
但我收到的错误是

   line 6 , in <module>
   P0 = A * t + (1 - t) * B
   ValueError: operands could not be broadcast together with shapes (2,) (10,)
第6行,在
P0=A*t+(1-t)*B
ValueError:操作数无法与形状(2,)(10,)一起广播
有什么想法吗?

这里有一些提示:

第1步)再次检查您的类型。 您正在将A、B、C设置为元组,并且您正在尝试对元组执行矩阵乘法,这是无法正确解释的。 首先,将A,B,C定义为数组

步骤2)设置正确的形状 A、 B,C是一维数组。按如下方式重塑它们:

A = A.reshape(2,1)
B = B.reshape(2,1)
C = C.reshape(2,1)
步骤3)使用linspace创建t并重塑它

t = np.arange(0.0, 1.0, 0.1).reshape(1,-1)
步骤4)操作乘法运算

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

非常感谢你的帮助@AgeloSavasialkOS你可能会考虑接受这个答案。注意有一个专门的nSuy图书馆,为此感谢你很多支持你,但我已经告诉我,我很新的编码,我试着自己做一些项目,以学习。我也开始了一些youtube视频。关于pip文件,您知道我如何安装它们吗,因为我已经尝试过了,但无法安装。我使用spyder for IDLEI如果您刚开始使用,我强烈建议您改为安装,然后再也不要接触pip。
P0 = A * t + (1 - t) * B
P1 = B * t + (1 - t) * C
Pfinal = P0 * t + (1 - t) * P1
print(Pfinal)