diff --git a/drawing.py b/drawing.py index 4bae400..36234ae 100644 --- a/drawing.py +++ b/drawing.py @@ -6,6 +6,53 @@ import turtle from turtle import * +import bezier +import numpy as np +def ghostie(length,x,y): + penup() + turtle.goto(-150,250) + pendown() + left(180) + circle(2*length, 90) + forward(3*length) + circle(-6*length,30) + left(170) + circle(5*length,30) + circle(-0.2*length,180) + print(pos()) +#How can I determine these points directly with respect to my starting point? + points=np.array([ + [-189.48, -160, -260, -120, -189.48], + [78, 30, -10, -70, -140] + ]) + curve = bezier.Curve(points, 4) + s_vals = np.linspace(0,1,100) + bezierpoints= curve.evaluate_multi(s_vals) + for n in range(1, bezierpoints.shape[1]): + turtle.goto(bezierpoints[0][n], bezierpoints[1][n]) + left(180) + points2=np.array([ + [-189.48, -100, -180, -150, -140], + [-140, -100, 20, 50, 78] + ]) + curve2 = bezier.Curve(points2, 4) + s_vals = np.linspace(0,1,100) + bezierpoints2= curve2.evaluate_multi(s_vals) + for n in range(1, bezierpoints2.shape[1]): + turtle.goto(bezierpoints2[0][n], bezierpoints2[1][n]) + + circle(-0.2*length,180) + left(10) + circle(5*length,30) + left(170) + circle(-6*length,30) + forward(3*length) + circle(2*length, 90) + +ghostie(30) +penup() +turtle.goto(0,0) +turtle.done()