From 812908eed5f0f8dd9ee78b386e0d2a5108ec51b5 Mon Sep 17 00:00:00 2001 From: njmason2 Date: Tue, 23 Sep 2025 13:44:10 -0400 Subject: [PATCH] drawing.py --- drawing.py | 109 ++++++++++++++++++++++++++++------------------------- 1 file changed, 58 insertions(+), 51 deletions(-) diff --git a/drawing.py b/drawing.py index 221e801..c4e3bc6 100644 --- a/drawing.py +++ b/drawing.py @@ -1,7 +1,7 @@ # drawing.py # ---------- # Nelson Mason -# updated 9-22-2025 +# updated 9-23-2025 # Due by 9-29-2025 # (This is an animation of a sunrise.) @@ -21,32 +21,22 @@ from superturtle.animation import animate # YOU CAN'T BEAT MOTHER NATURE FOR A SUNRISE! -def sky(): - begin_fill() # draw the sky - fillcolor(0.05, 0.05, a/275) # as the sun rises sky color changes from black to blue - for x in range(2): - forward(400) - left(90) - forward(300) - left(90) - end_fill() - -def ground(): - begin_fill() # draw the ground - fillcolor(0.05, a/1100, 0.05) # as the sun rises ground color changes from black to dark green - for x in range(2): - forward(400) - right(90) - forward(150) - right(90) - end_fill() - +def rectangle(b, c, d, e, f): # draws the sky first, then after the sun is drawn, the ground + for x in range(2): # as the sun rises sky color changes from black to blue, ground changes + # from black to dark green + begin_fill() + fillcolor(d, e, f) + forward(b) + left(90) + forward(c) + left(90) + end_fill() def sun(): - begin_fill() # draw the sun - fillcolor(1, a/550, 0) # as the sun rises sun color changes from red to orange - circle(-75,360) - end_fill() + begin_fill() # draw the sun + fillcolor(1, a/550, 0) # as the sun rises sun color changes from red to orange + circle(-75,360) + end_fill() def sun_position(a): # this must be called to get the sun to move up (rise) penup() @@ -55,31 +45,48 @@ def sun_position(a): # this must be called to get the sun to move up (rise) right(90) pendown() -for frame in animate(frames=550, loop=True): - a = frame.interval=1100 # the frames-to-interval ratio controls the animation speed - a = frame.interpolate(0, 275) # low and high positions of the sun as it rises - penup() # reposition the turtle before drawing the sky - right(180) - forward(200) - left(90) - forward(50) - left(90) - pendown() - sky() - penup() # reposition the turtle before drawing the sun - forward(200) # starting the drawing of the sun right on the horizon - # makes it easier to calculate everything else - pendown() - sun_position(a) - sun() # draws the sun - penup() # reposition the turtle before drawing the ground - right(180) - forward(200) - left(90) - forward(+a) # increment to get to the correct starting point for - # the next iteration(re-drawing) of the sun rising - left(90) - pendown() - ground() # I want the ground to hide the sun (overlay), but not the sky (obviously) +for frame in animate(frames=550, loop=True): # close Turtle Graphic to end the loop + a = frame.interval=1100 # the frames-to-interval ratio controls the animation speed + a = frame.interpolate(0, 275) # low and high positions of the sun as it rises + + b=400 # rectangle width + c=300 # rectangle sky height + d=0.05 # for RGB + e=0.05 # for RGB + f=a/275 # for RGB + g=0.05 # for RGB + h=a/1100 # for RGB + i=0.05 # for RGB + j=c/2 # rectangle ground height + + penup() # reposition the turtle before drawing the sky + right(180) + forward(200) + left(90) + forward(50) + left(90) + pendown() + rectangle(b,c,d,e,f) # draws the sky + penup() # reposition the turtle before drawing the sun + forward(200) # starting the drawing of the sun right on the horizon + # makes it easier to calculate everything else + pendown() + sun_position(a) + sun() # draws the sun + penup() # reposition the turtle before drawing the ground + right(180) + forward(200) + left(90) + forward(+a) # increment to get to the correct starting point for + # the next iteration(re-drawing) of the sun rising + forward(150) + left(90) + pendown() + # I want the ground to hide the sun (overlay), but not the sky (obviously) + rectangle(b,j,g,h,i) # draws the ground (call function with parameters by position) + penup() + left(90) + forward(j) + right(90) input() \ No newline at end of file