欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

利用python的turtle库绘制一朵玫瑰

程序员文章站 2022-03-22 20:23:41
...

先上效果图
利用python的turtle库绘制一朵玫瑰
很早之前自学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()

相关标签: 可视化 python