python用turtle画小人-画一个心送给心爱的小姐姐,Python绘图库Turtle
import turtle
turtle.setup(1200, 600) #窗口大小
#畫心
turtle.color("black", "red")
turtle.pensize(2)
turtle.speed(10)
turtle.up() #提起畫筆
turtle.goto(0, 50)
turtle.down()
def draw_heart(r, angle=45):
"""
:param r:桃心圓的半徑
:param angle:起始畫筆角度
:return:返回桃心底部尖點坐標
"""
turtle.begin_fill() #開始填充
turtle.seth(0)
turtle.seth(angle) #設置畫筆方向
turtle.circle(-r, 180) #逆時針畫半圓
turtle.fd(2 * r) #向前移動
turtle.begin_poly() #記錄畫筆的位置
x, y = turtle.get_poly()[0] #獲取畫筆的位置
turtle.right(90) #逆時針旋轉畫筆
turtle.fd(2 * r) #向前移動
turtle.circle(-r, 180)
turtle.end_fill() #填充結束
return x, y
#畫桃心
x_y = []
start_x = 0
for _ in range(4):
turtle.goto(start_x, 50)
turtle.down() #放下筆
x_y.append(draw_heart(8))
start_x += 50
turtle.up() #提起畫筆
#畫葉子
def draw_flower(x, y):
"""
畫桃心下的花
:param x:桃心尖底的x軸
:param y:桃心尖底的y軸
:return:
"""
turtle.up()
turtle.goto(x, y)
turtle.seth(0) #恢復畫筆向右
turtle.seth(-90)
turtle.down()
turtle.fd(60)
turtle.goto(x, y)
turtle.right(60)
turtle.fd(20)
turtle.left(90)
turtle.fd(10)
turtle.left(120)
turtle.fd(20)
turtle.up()
turtle.goto(x, y)
turtle.seth(0) #恢復畫筆向右
turtle.seth(-115)
turtle.down()
turtle.fd(25)
turtle.up()
turtle.goto(x, y)
turtle.seth(0) #恢復畫筆向右
turtle.seth(-10)
turtle.down()
turtle.fd(20)
turtle.right(90)
turtle.fd(8)
turtle.right(120)
turtle.fd(20)
turtle.goto(x, y)
turtle.seth(-60)
turtle.fd(20)
turtle.up()
for x, y in x_y:
draw_flower(x, y)
#畫小人物
turtle.up()
turtle.goto(-200, -50)
turtle.down()
turtle.seth(0) #恢復畫筆向右,好控制方向
turtle.seth(45)
turtle.fd(40)
turtle.begin_poly() #記錄畫筆的位置,腳叉的位置
x, y = turtle.get_poly()[0] #獲取畫筆的位置
turtle.right(90)
turtle.fd(35)
turtle.goto(x, y)
turtle.left(135)
turtle.fd(90)
turtle.seth(0)
turtle.circle(30) #畫圓
turtle.goto(x, y + 60) #手的位置
turtle.fd(40)
turtle.circle(30, 70) #畫圓,拿花手的弧度
turtle.seth(0)
turtle.up()
turtle.goto(x, y + 50) #手的位置
turtle.down()
turtle.fd(50)
turtle.begin_poly() #記錄手的位置等下畫花需要用
f_x, f_y = turtle.get_poly()[0]
#眼睛
turtle.up()
turtle.goto(x - 15, y + 120) #眼睛的位置
turtle.down()
turtle.pensize(4)
turtle.seth(45)
turtle.circle(-10, 70) #畫圓弧,拿花手的弧度
turtle.dot(10) #眼睛畫圓
turtle.up()
turtle.goto(x + 10, y + 120) #眼睛的位置
turtle.down()
turtle.pensize(4)
turtle.seth(45)
turtle.circle(-10, 70) #畫圓弧,拿花手的弧度
turtle.dot(10) #眼睛畫圓
turtle.up()
#嘴巴
turtle.goto(x, y + 105) #眼睛的位置
turtle.down()
turtle.circle(10, 70) #畫圓弧,拿花手的弧度
#畫里拿的花葉子部分
turtle.pensize(3) #將畫筆大小
turtle.up()
turtle.goto(f_x, f_y) #手的位置
turtle.left(20)
turtle.down()
turtle.fd(60)
turtle.pensize(2) #將畫筆調小
turtle.begin_poly() #記錄手的位置等下畫花需要用
x, y = turtle.get_poly()[0]
turtle.backward(80)
turtle.up()
turtle.goto(x, y)
turtle.down()
turtle.right(90)
turtle.fd(20)
turtle.right(90)
turtle.fd(8)
turtle.right(120)
turtle.fd(25)
turtle.right(200)
turtle.fd(25)
turtle.up()
turtle.goto(x, y)
turtle.down()
turtle.right(60)
turtle.fd(25)
turtle.goto(x, y)
turtle.right(40)
turtle.fd(25)
turtle.left(90)
turtle.fd(8)
turtle.left(110)
turtle.fd(25)
turtle.goto(f_x + 34, f_y + 75)
draw_heart(8, angle=20) #手里拿的桃心
#寫文字
turtle.up()
turtle.goto(150, 200)
turtle.pencolor("PINK") #畫筆顏色
turtle.write("TO:所有同學", font=("方正舒體", 30, "normal"))
turtle.goto(180,140)
turtle.write("送給棒棒的你", font=("方正舒體", 30, "normal"))
turtle.hideturtle()
turtle.mainloop()
總結
以上是生活随笔為你收集整理的python用turtle画小人-画一个心送给心爱的小姐姐,Python绘图库Turtle的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法提高 01背包
- 下一篇: 计算机办公应用软件初级,电脑办公软件有哪