利用python的turtle库绘制一朵玫瑰
程序员文章站
2022-03-22 20:23:41
...
先上效果图
很早之前自学python的时候敲的,没啥技术含量,纯粹考验耐心~
# C9-2
from turtle import *
#背景色
#bgcolor(1,0.9,0.1)
# 隐藏海龟三角形
hideturtle()
# 设置初始位置
penup()
left(90)
fd(150)
pendown()
right(90)
# 设置画笔大小
pensize(3)
# 控制绘画速度
speed(4)
# 花蕊
fillcolor('red')
begin_fill()
fd(60)
left(105)
fd(40)
left(90)
fd(80)
left(85)
fd(50)
left(82)
fd(75)
left(65)
fd(65)
left(98)
fd(85)
left(68)
fd(94)
left(115)
fd(105)
left(60)
fd(60)
left(50)
fd(45)
left(75)
fd(105)
left(75)
fd(100)
left(106)
fd(123)
left(65)
fd(98)
left(105)
fd(118)
left(35)
fd(45)
left(60)
fd(95)
left(98)
fd(30)
right(30)
fd(60)
left(35)
fd(35)
left(10)
fd(20)
left(35)
fd(40)
left(40)
fd(60)
end_fill()
# 返回花蒂位置
fd(-60)
left(-40)
fd(-40)
left(-35)
fd(-3)
# 绿叶
fillcolor('green')
begin_fill()
pendown()
fd(5)
right(105)
fd(60)
left(25)
# 定义画玫瑰刺的函数
def draw_prick():
fd(5)
left(60)
fd(15)
right(120)
fd(15)
left(60)
fd(-15)
fd(40)
draw_prick()
left(25)
fd(50)
left(10)
fd(5)
# 开始画右叶
# 画叶脉
left(70)
fd(25)
left(40)
fd(35)
fd(-35)
left(-75)
fd(25)
fd(-25)
left(35)
fd(30)
left(20)
fd(35)
fd(-18)
left(-40)
fd(16)
fd(-16)
left(70)
fd(20)
# 返回叶节点
penup()
right(35)
fd(-89)
# 外围叶片
pendown()
left(-45)
fd(48)
left(43)
fd(60)
left(50)
fd(35)
left(90)
fd(30)
left(35)
fd(55)
left(30)
fd(40)
# 画下部分枝干
left(45)
fd(40)
left(-29)
fd(10)
draw_prick()
fd(70)
# 左侧枝干
# 底部枝干宽度
left(280)
fd(10)
right(103)
fd(10)
draw_prick()
fd(38)
left(3)
fd(25)
left(26)
fd(40)
left(22)
fd(10)
draw_prick()
fd(3)
# 左叶部分
# 一级叶脉
left(20)
fd(25)
left(40)
fd(16)
fd(-16)
left(-40)
right(30)
fd(20)
fd(-20)
right(-30)
# 二级叶脉
left(5)
fd(25)
left(43)
fd(46)
fd(-46)
left(-43)
right(30)
fd(40)
fd(-40)
right(-30)
# 三级叶脉
left(5)
fd(40)
left(40)
fd(25)
fd(-25)
left(-40)
right(25)
fd(35)
fd(-35)
right(-25)
left(5)
fd(25)
# 末梢叶脉
left(5)
fd(20)
# 外部叶片
# 返回至叶节点
penup()
right(10)
fd(-138)
pendown()
right(40)
fd(60)
left(45)
fd(90)
left(35)
fd(50)
left(110)
fd(55)
left(30)
fd(90)
left(43)
fd(45)
# 继续画叶干
left(84)
fd(45)
right(30)
fd(10)
draw_prick()
fd(10)
# 完成渲染
end_fill()
# 鼠标单击退出
exitonclick()