python代码画樱花落花-Python:绘制樱花树

本文详细介绍了如何利用Python的turtle模块绘制樱花树并模拟樱花飘落的效果。首先,通过设置画幕大小和颜色,然后创建落花的范围和绘制花瓣的函数。接着,通过递归实现树枝的绘制,并控制不同分支的颜色和粗细。最后,绘制多棵树,通过随机参数调整树的位置和形状,使得画面更加生动。通过这个项目,读者可以学习到turtle模块的使用和递归绘制分形的概念。
摘要由CSDN通过智能技术生成

代码详解

(一)绘制画幕

首先绘制画幕,命令说明如下:

screensize(width, height, bg=color):设置画幕大小及颜色

setup(p1, p2):设置画幕大小,当 p1、p2 为小数时表示屏幕占比;当 p1、p2 为整数时表示像素

tracer(speed):设置绘制速度,speed越大表示绘制速度越快

def get_screen(width, height, color, speed):

# 创建画幕

screen_obj = turtle.Screen()

# 画布大小:(width, height),颜色:color

screen_obj.screensize(width, height, bg=color)

screen_obj.setup(1.0, 1.0)

# speed倍加速

screen_obj.tracer(speed)

return screen_obj

(二)绘制落花

在确定落花数量的情况下,我们首先要评估落花的范围,这里通过两句语句来约束落花的范围(落花数量越多,当然地落花范围也就越大):

# 有正有负就可以让画笔往二个方向走

x = flower - 4 * flower * random()

# 花瓣整体宽度(-10, 10)

y = 10 - 20 * random()

然后我们来讲讲 turtle 常用的几个命令吧:

首先,我们得明确,对于 turtle 画布来说,其为一个 xOy 的平面,画布中心为原点 O ;对于 turtle 画笔来说,其有一个初始方向,指向 x 轴正方向。

penup():起笔(可以想象成画画的时候沾墨之后提笔)

forward():向前移动

backward():向后移动

left(degree):逆时针旋转 degree 度

right(degree):顺时针旋转 degree 度

pendown():落笔

pencolor(color):笔墨颜色为 color

circle(r):画一个半径为 r 的圆

代码如下:

def draw_petal(turtle_obj, flower):

# 绘制掉落的花瓣

for i in range(int(flower / 2)):

# 有正有负就可以让画笔往二个方向走

x = flower - 2 * flower * random()

# 花瓣整体宽度(-10, 10)

y = 10 - 20 * random()

# 提笔,向前y,左转90,走x,落笔

turtle_obj.penup()

turtle_obj.forward(y)

turtle_obj.left(90)

turtle_obj.forward(x)

turtle_obj.pendown()

# 珊瑚色

turtle_obj.pencolor("lightcoral")

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值