From ddfa594ff9c37af360fefae66377f9a1b3c95811 Mon Sep 17 00:00:00 2001 From: njmason2 Date: Mon, 22 Sep 2025 13:23:59 -0400 Subject: [PATCH] drawing.py --- drawing.py | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/drawing.py b/drawing.py index df721b3..221e801 100644 --- a/drawing.py +++ b/drawing.py @@ -1,7 +1,7 @@ # drawing.py # ---------- # Nelson Mason -# updated 9-21-2025 +# updated 9-22-2025 # Due by 9-29-2025 # (This is an animation of a sunrise.) @@ -10,15 +10,20 @@ from superturtle.animation import animate # define 3 objects # sky, ground, sun - # In the actual animation, the sun will start off entirely below the horizon, # (where the sky meets the ground), hidden by the ground, and will slowly rise (move up the screen), # with the sun, sky, and ground changing color. The disk of the sun will # be apparent only in the sky, as it rises. I will be using color shading techniques in the animation. +# I played around with the RGB settings. I left out drawing the sun +# casting a shadow on the ground while rising. +# Perhaps for another project? + +# YOU CAN'T BEAT MOTHER NATURE FOR A SUNRISE! + def sky(): begin_fill() # draw the sky - fillcolor("dark blue") + 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) @@ -28,7 +33,7 @@ def sky(): def ground(): begin_fill() # draw the ground - fillcolor("black") + 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) @@ -36,10 +41,11 @@ def ground(): right(90) end_fill() + def sun(): begin_fill() # draw the sun - fillcolor("red") - circle(-62,360) + 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) @@ -49,7 +55,9 @@ def sun_position(a): # this must be called to get the sun to move up (rise) right(90) pendown() -for frame in animate(frames=1000): +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) @@ -62,8 +70,6 @@ for frame in animate(frames=1000): forward(200) # starting the drawing of the sun right on the horizon # makes it easier to calculate everything else pendown() - a = frame.interval=200 # the frames-to-interval ratio controls the animation speed - a = frame.interpolate(0, 275) # low and high positions of the sun as it rises sun_position(a) sun() # draws the sun penup() # reposition the turtle before drawing the ground