generated from mwc/project_drawing
	drawing.py
This commit is contained in:
		
							
								
								
									
										49
									
								
								drawing.py
									
									
									
									
									
								
							
							
						
						
									
										49
									
								
								drawing.py
									
									
									
									
									
								
							@@ -1,7 +1,7 @@
 | 
				
			|||||||
# drawing.py
 | 
					# drawing.py
 | 
				
			||||||
# ----------
 | 
					# ----------
 | 
				
			||||||
# Nelson Mason
 | 
					# Nelson Mason
 | 
				
			||||||
# updated 9-22-2025
 | 
					# updated 9-23-2025
 | 
				
			||||||
# Due by 9-29-2025
 | 
					# Due by 9-29-2025
 | 
				
			||||||
# (This is an animation of a sunrise.)
 | 
					# (This is an animation of a sunrise.)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -21,27 +21,17 @@ from superturtle.animation import animate
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# YOU CAN'T BEAT MOTHER NATURE FOR A SUNRISE!
 | 
					# YOU CAN'T BEAT MOTHER NATURE FOR A SUNRISE!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def sky():
 | 
					def rectangle(b, c, d, e, f): # draws the sky first, then after the sun is drawn, the ground
 | 
				
			||||||
    begin_fill() # draw the sky
 | 
					   for x in range(2): # as the sun rises sky color changes from black to blue, ground changes
 | 
				
			||||||
    fillcolor(0.05, 0.05, a/275) # as the sun rises sky color changes from black to blue
 | 
					       # from black to dark green
 | 
				
			||||||
    for x in range(2):
 | 
					       begin_fill()
 | 
				
			||||||
        forward(400)
 | 
					       fillcolor(d, e, f)
 | 
				
			||||||
 | 
					       forward(b)
 | 
				
			||||||
       left(90)        
 | 
					       left(90)        
 | 
				
			||||||
        forward(300)
 | 
					       forward(c)
 | 
				
			||||||
       left(90)
 | 
					       left(90)
 | 
				
			||||||
       end_fill()
 | 
					       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 sun():
 | 
					def sun():
 | 
				
			||||||
   begin_fill() # draw the sun
 | 
					   begin_fill() # draw the sun
 | 
				
			||||||
   fillcolor(1, a/550, 0) # as the sun rises sun color changes from red to orange
 | 
					   fillcolor(1, a/550, 0) # as the sun rises sun color changes from red to orange
 | 
				
			||||||
@@ -55,9 +45,20 @@ def sun_position(a): # this must be called to get the sun to move up (rise)
 | 
				
			|||||||
    right(90)
 | 
					    right(90)
 | 
				
			||||||
    pendown()
 | 
					    pendown()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
for frame in animate(frames=550, loop=True):
 | 
					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.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
 | 
					   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
 | 
					   penup() # reposition the turtle before drawing the sky
 | 
				
			||||||
   right(180)
 | 
					   right(180)
 | 
				
			||||||
   forward(200)
 | 
					   forward(200)
 | 
				
			||||||
@@ -65,7 +66,7 @@ for frame in animate(frames=550, loop=True):
 | 
				
			|||||||
   forward(50)
 | 
					   forward(50)
 | 
				
			||||||
   left(90)
 | 
					   left(90)
 | 
				
			||||||
   pendown()
 | 
					   pendown()
 | 
				
			||||||
    sky()
 | 
					   rectangle(b,c,d,e,f) # draws the sky
 | 
				
			||||||
   penup() # reposition the turtle before drawing the sun
 | 
					   penup() # reposition the turtle before drawing the sun
 | 
				
			||||||
   forward(200) # starting the drawing of the sun right on the horizon
 | 
					   forward(200) # starting the drawing of the sun right on the horizon
 | 
				
			||||||
   # makes it easier to calculate everything else
 | 
					   # makes it easier to calculate everything else
 | 
				
			||||||
@@ -78,8 +79,14 @@ for frame in animate(frames=550, loop=True):
 | 
				
			|||||||
   left(90)
 | 
					   left(90)
 | 
				
			||||||
   forward(+a) # increment to get to the correct starting point for 
 | 
					   forward(+a) # increment to get to the correct starting point for 
 | 
				
			||||||
   # the next iteration(re-drawing) of the sun rising
 | 
					   # the next iteration(re-drawing) of the sun rising
 | 
				
			||||||
 | 
					   forward(150)
 | 
				
			||||||
   left(90)
 | 
					   left(90)
 | 
				
			||||||
   pendown()
 | 
					   pendown()
 | 
				
			||||||
    ground() # I want the ground to hide the sun (overlay), but not the sky (obviously)
 | 
					   # 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()
 | 
					input()
 | 
				
			||||||
		Reference in New Issue
	
	Block a user