diff --git a/drawing.py b/drawing.py index 36234ae..c6c56d0 100644 --- a/drawing.py +++ b/drawing.py @@ -9,10 +9,17 @@ from turtle import * import bezier import numpy as np +TurtleScreen=turtle.Screen +turtle.bgcolor("#B04021") +turtle.pensize(4) def ghostie(length,x,y): + turtle.pencolor("#3C025E") + turtle.fillcolor("#B8B8B8") penup() - turtle.goto(-150,250) + turtle.goto(x,y) pendown() + #Starts drawing the left side of the outline + turtle.begin_fill() left(180) circle(2*length, 90) forward(3*length) @@ -21,22 +28,22 @@ def ghostie(length,x,y): circle(5*length,30) circle(-0.2*length,180) print(pos()) -#How can I determine these points directly with respect to my starting point? + + #Starts drawing the middle frill + xpos, ypos = turtle.pos() points=np.array([ - [-189.48, -160, -260, -120, -189.48], - [78, 30, -10, -70, -140] + [xpos, (xpos+30), (xpos-70), (xpos+70), xpos], + [ypos, (ypos-48), (ypos-88), (ypos-148), (ypos-218)] ]) 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] + [xpos, (xpos+90), (xpos+10), (xpos+40), (xpos+50)], + [(ypos-218), (ypos-178), (ypos-58), (ypos-28), ypos] ]) curve2 = bezier.Curve(points2, 4) s_vals = np.linspace(0,1,100) @@ -44,15 +51,57 @@ def ghostie(length,x,y): for n in range(1, bezierpoints2.shape[1]): turtle.goto(bezierpoints2[0][n], bezierpoints2[1][n]) + #Starts drawing the right side of the outline circle(-0.2*length,180) left(10) circle(5*length,30) - left(170) + left(171) circle(-6*length,30) forward(3*length) circle(2*length, 90) + turtle.end_fill() -ghostie(30) + #Starts drawing the face + def ghostieface(length,x,y): + turtle.fillcolor("#161616") + penup() + turtle.goto(x-20, y-50) + pendown() + turtle.begin_fill() + turtle.shape("circle") + turtle.stamp() + turtle.end_fill() + penup() + turtle.goto(x+20, y-50) + pendown() + turtle.begin_fill() + turtle.shape("circle") + turtle.stamp() + turtle.end_fill() + penup() + turtle.goto(x-5, y-90) + pendown() + left(95) + turtle.begin_fill() + turtle.shape("circle") + turtle.shapesize(stretch_len=2) + turtle.stamp() + turtle.shape("classic") + turtle.shapesize(1,1) + turtle.end_fill() + ghostieface(length,x,y) + + +ghostie(30, -150, 250) penup() -turtle.goto(0,0) +turtle.home() +pendown() +ghostie (30, 150, 250) +hideturtle() + + + + + + turtle.done()