generated from mwc/project_drawing
spiderweb updated
Initially, I cannot find the left original point to start drawing the spiderweb, i tried to draw a square and define the web in it. Then i found it doesn't work well, so i change my mind to define a start point then draw web line. spiderweb is ready now, i need to draw a spider then.
This commit is contained in:
46
drawing.py
46
drawing.py
@@ -1,7 +1,49 @@
|
||||
# drawing.py
|
||||
# ----------
|
||||
# By ____(you)___________
|
||||
# By ____Grace__________
|
||||
#
|
||||
# (Briefly describe what this program does.)
|
||||
# (Halloween Theme with Spider exploding)
|
||||
|
||||
from turtle import *
|
||||
from superturtle import *
|
||||
|
||||
def draw_web(radius, lines):
|
||||
web_turtle = Turtle()
|
||||
web_turtle.speed(0) # Set the speed to the fastest
|
||||
for _ in range(lines):
|
||||
web_turtle.penup()
|
||||
web_turtle.goto(0, 0)
|
||||
web_turtle.pendown()
|
||||
web_turtle.forward(radius)
|
||||
web_turtle.backward(radius)
|
||||
web_turtle.right(360 / lines)
|
||||
|
||||
def draw_spider(size):
|
||||
spider_turtle = SuperTurtle()
|
||||
spider_turtle.penup()
|
||||
spider_turtle.goto(0, -size * 0.5) # Position the spider at the center bottom of the web
|
||||
spider_turtle.pendown()
|
||||
# Draw the body
|
||||
spider_turtle.begin_fill()
|
||||
spider_turtle.circle(size)
|
||||
spider_turtle.end_fill()
|
||||
# Draw legs
|
||||
angles = [45, 135, 225, 315]
|
||||
for angle in angles:
|
||||
spider_turtle.penup()
|
||||
spider_turtle.goto(0, -size * 0.5)
|
||||
spider_turtle.setheading(angle)
|
||||
spider_turtle.pendown()
|
||||
spider_turtle.forward(size)
|
||||
spider_turtle.backward(size)
|
||||
|
||||
# Setup the screen
|
||||
screen = Screen()
|
||||
screen.bgcolor("white")
|
||||
|
||||
# Draw the web and spider
|
||||
draw_web(100, 12) # radius of 100 and 12 lines
|
||||
draw_spider(20) # spider size of 20
|
||||
|
||||
# Finish up
|
||||
screen.mainloop() # This is better for some environments than turtle.done()
|
||||
Reference in New Issue
Block a user