- 海龟绘图法常用函数:
- 要使用海龟绘图,需要调用turtle库,语法import turtle,引入绘图库
- 设置窗体标题 title(“冰礅礅”)
- 设置窗体大小和位置 setup(1200, 800, 200, 200)
- 设置海龟绘图速度 speed(3)
- 切换RGB色彩模式 255:整数模式 colormode(255)
- 抬笔 penup()
- 移到坐标处 goto()
- 落笔 pendown()
- 设置画笔颜色 pencolor(“brown”)
- 设置画笔宽度 pensize()
- 前进:forward(n)
- 左转弯:left(n)
- 右转弯:right(n)
- 直接写:write(n)
- 窗体暂停:done()
使用海龟画图绘制冰礅礅代码:
import turtle as hytt
def ttDraw(tt):
# 左手
tt.penup()
tt.goto(177, 112)
tt.pencolor("lightgray")
tt.pensize(3)
tt.fillcolor("white")
tt.begin_fill()
tt.pendown()
tt.setheading(80)
tt.circle(-45, 200)
tt.circle(-300, 23)
tt.end_fill()
# 左手内
tt.penup()
tt.goto(182, 95)
tt.pencolor("black")
tt.pensize(1)
tt.fillcolor("black")
tt.begin_fill()
tt.setheading(95)
tt.pendown()
tt.circle(-37, 160)
tt.circle(-20, 50)
tt.circle(-200, 30)
tt.end_fill()
# 轮廓
# 头顶
tt.penup()
tt.goto(-73, 230)
tt.pencolor("lightgray")
tt.pensize(3)
tt.fillcolor("white")
tt.begin_fill()
tt.pendown()
tt.setheading(20)
tt.circle(-250, 35)
# 左耳
tt.setheading(50)
tt.circle(-42, 180)
# 左侧
tt.setheading(-50)
tt.circle(-190, 30)
tt.circle(-320, 45)
# 左腿
tt.circle(120, 30)
tt.circle(200, 12)
tt.circle(-18, 85)
tt.circle(-180, 23)
tt.circle(-20, 110)
tt.circle(15, 115)
tt.circle(100, 12)
# 右腿
tt.circle(15, 120)
tt.circle(-15, 110)
tt.circle(-150, 30)
tt.circle(-15, 70)
tt.circle(-150, 10)
tt.circle(200, 35)
tt.circle(-150, 20)
# 右手
tt.setheading(-120)
tt.circle(50, 30)
tt.circle(-35, 200)
tt.circle(-300, 23)
# 右侧
tt.setheading(86)
tt.circle(-300, 26)
# 右耳
tt.setheading(122)
tt.circle(-53, 160)
tt.end_fill()
# 右耳内
tt.penup()
tt.goto(-130, 180)
tt.pencolor("black")
tt.pensize(1)
tt.fillcolor("black")
tt.begin_fill()
tt.pendown()
tt.setheading(120)
tt.circle(-28, 160)
tt.setheading(210)
tt.circle(150, 20)
tt.end_fill()
# 左耳内
tt.penup()
tt.goto(90, 230)
tt.setheading(40)
tt.begin_fill()
tt.pendown()
tt.circle(-30, 170)
tt.setheading(125)
tt.circle(150, 23)
tt.end_fill()
# 右手内
tt.penup()
tt.goto(-180, -55)
tt.fillcolor("black")
tt.begin_fill()
tt.setheading(-120)
tt.pendown()
tt.circle(50, 30)
tt.circle(-27, 200)
tt.circle(-300, 20)
tt.setheading(-90)
tt.circle(300, 14)
tt.end_fill()
# 左腿内
tt.penup()
tt.goto(108, -168)
tt.fillcolor("black")
tt.begin_fill()
tt.pendown()
tt.setheading(-115)
tt.circle(110, 15)
tt.circle(200, 10)
tt.circle(-18, 80)
tt.circle(-180, 13)
tt.circle(-20, 90)
tt.circle(15, 60)
tt.setheading(42)
tt.circle(-200, 29)
tt.end_fill()
# 右腿内
tt.penup()
tt.goto(-38, -210)
tt.fillcolor("black")
tt.begin_fill()
tt.pendown()
tt.setheading(-155)
tt.circle(15, 100)
tt.circle(-10, 110)
tt.circle(-100, 30)
tt.circle(-15, 65)
tt.circle(-100, 10)
tt.circle(200, 15)
tt.setheading(-14)
tt.circle(-200, 27)
tt.end_fill()
# 右眼
# 眼圈
tt.penup()
tt.goto(-64, 120)
tt.begin_fill()
tt.pendown()
tt.setheading(40)
tt.circle(-35, 152)
tt.circle(-100, 50)
tt.circle(-35, 130)
tt.circle(-100, 50)
tt.end_fill()
# 眼珠
tt.penup()
tt.goto(-47, 55)
tt.fillcolor("white")
tt.begin_fill()
tt.pendown()
tt.setheading(0)
tt.circle(25, 360)
tt.end_fill()
tt.penup()
tt.goto(-45, 62)
tt.pencolor("darkslategray")
tt.fillcolor("darkslategray")
tt.begin_fill()
tt.pendown()
tt.setheading(0)
tt.circle(19, 360)
tt.end_fill()
tt.penup()
tt.goto(-45, 68)
tt.fillcolor("black")
tt.begin_fill()
tt.pendown()
tt.setheading(0)
tt.circle(10, 360)
tt.end_fill()
tt.penup()
tt.goto(-47, 86)
tt.pencolor("white")
tt.fillcolor("white")
tt.begin_fill()
tt.pendown()
tt.setheading(0)
tt.circle(5, 360)
tt.end_fill()
# 左眼
# 眼圈
tt.penup()
tt.goto(51, 82)
tt.fillcolor("black")
tt.begin_fill()
tt.pendown()
tt.setheading(120)
tt.circle(-32, 152)
tt.circle(-100, 55)
tt.circle(-25, 120)
tt.circle(-120, 45)
tt.end_fill()
# 眼珠
tt.penup()
tt.goto(79, 60)
tt.fillcolor("white")
tt.begin_fill()
tt.pendown()
tt.setheading(0)
tt.circle(24, 360)
tt.end_fill()
tt.penup()
tt.goto(79, 64)
tt.pencolor("darkslategray")
tt.fillcolor("darkslategray")
tt.begin_fill()
tt.pendown()
tt.setheading(0)
tt.circle(19, 360)
tt.end_fill()
tt.penup()
tt.goto(79, 70)
tt.fillcolor("black")
tt.begin_fill()
tt.pendown()
tt.setheading(0)
tt.circle(10, 360)
tt.end_fill()
tt.penup()
tt.goto(79, 88)
tt.pencolor("white")
tt.fillcolor("white")
tt.begin_fill()
tt.pendown()
tt.setheading(0)
tt.circle(5, 360)
tt.end_fill()
# 鼻子
tt.penup()
tt.goto(37, 80)
tt.fillcolor("black")
tt.begin_fill()
tt.pendown()
tt.circle(-8, 130)
tt.circle(-22, 100)
tt.circle(-8, 130)
tt.end_fill()
# 嘴
tt.penup()
tt.goto(-15, 48)
tt.setheading(-36)
tt.begin_fill()
tt.pendown()
tt.circle(60, 70)
tt.setheading(-132)
tt.circle(-45, 100)
tt.end_fill()
# 彩虹圈
tt.penup()
tt.goto(-135, 120)
tt.pensize(5)
tt.pencolor("cyan")
tt.pendown()
tt.setheading(60)
tt.circle(-165, 150)
tt.circle(-130, 78)
tt.circle(-250, 30)
tt.circle(-138, 105)
tt.penup()
tt.goto(-131, 116)
tt.pencolor("slateblue")
tt.pendown()
tt.setheading(60)
tt.circle(-160, 144)
tt.circle(-120, 78)
tt.circle(-242, 30)
tt.circle(-135, 105)
tt.penup()
tt.goto(-127, 112)
tt.pencolor("orangered")
tt.pendown()
tt.setheading(60)
tt.circle(-155, 136)
tt.circle(-116, 86)
tt.circle(-220, 30)
tt.circle(-134, 103)
tt.penup()
tt.goto(-123, 108)
tt.pencolor("gold")
tt.pendown()
tt.setheading(60)
tt.circle(-150, 136)
tt.circle(-104, 86)
tt.circle(-220, 30)
tt.circle(-126, 102)
tt.penup()
tt.goto(-120, 104)
tt.pencolor("greenyellow")
tt.pendown()
tt.setheading(60)
tt.circle(-145, 136)
tt.circle(-90, 83)
tt.circle(-220, 30)
tt.circle(-120, 100)
tt.penup()
# 爱心
tt.penup()
tt.goto(220, 115)
tt.pencolor("brown")
tt.pensize(1)
tt.fillcolor("brown")
tt.begin_fill()
tt.pendown()
tt.setheading(36)
tt.circle(-8, 180)
tt.circle(-60, 24)
tt.setheading(110)
tt.circle(-60, 24)
tt.circle(-8, 180)
tt.end_fill()
# 五环
tt.penup()
tt.goto(-5, -170)
tt.pendown()
tt.pencolor("blue")
tt.circle(6)
tt.penup()
tt.goto(10, -170)
tt.pendown()
tt.pencolor("black")
tt.circle(6)
tt.penup()
tt.goto(25, -170)
tt.pendown()
tt.pencolor("brown")
tt.circle(6)
tt.penup()
tt.goto(2, -175)
tt.pendown()
tt.pencolor("lightgoldenrod")
tt.circle(6)
tt.penup()
tt.goto(16, -175)
tt.pendown()
tt.pencolor("green")
tt.circle(6)
tt.penup()
tt.pencolor("black")
tt.goto(-16, -160)
tt.write("BEIJING 2022", font=('Arial', 10, 'bold italic'))
#抬笔
tt.penup()
def main():
#设置窗体标题
hytt.title("冰礅礅")
#设置窗体大小和位置
hytt.setup(1200, 800, 200, 200)
#设置海龟绘图速度
hytt.speed(3) #"fastest": 0 最快 "fast": 10 快
#隐藏海龟剪头
hytt.hideturtle()
#抬笔
hytt.penup()
#切换RGB色彩模式 255:整数模式切换RGB色彩模式
hytt.colormode(255)
#测试程序
ttDraw(hytt)
hytt.done()
if __name__ == "__main__":
main()