我正在尝试在两个主要点之间绘制抛物线/贝塞尔曲线(使用第三个点作为控制点),但无法解决如何做到这一点。你知道吗
from turtle import *
pointA = (0.00,50.00)
pointB = (0.00,350.00)
pointC = (-300.00,50.00)
pu()
goto(pointB)
pd()
dot()
goto(pointC)
dot()
ht()
这在我的两个要点之间形成了一条线,
我还想用pointA
做一条曲线,这样我可以有多条线,
我已经排除了抛物线的可能性,因为这个方程不适合抛物线,除非我旋转平面,但那是一整壶鱼我还没有准备好。你知道吗
我很想得到一些帮助,因为我被困住了, 谢谢
编辑: 我试过很多方法,但都没有接近,最后我只能用一个中点平移几个像素来运行。例如
for j in range(3):
pu()
goto(pointB)
pd()
dot()
midpoint = ((pointB[0]+pointC[0])/2, (pointB[1]+pointC[1])/2)
goto(midpoint[0]+(20*j), midpoint[1])
goto(pointC)
dot()
这是我使用它的一个更现实的用途,除了我想把实线变成一条可变线,取决于它在同一条线上的两个点的位置,从而使它看起来像一条单数线。你知道吗
基于Wikipedia's explanation of quadratic Bézier curves,我们应该能够简单地做到:
相关问题 更多 >
编程相关推荐