python画樱花树教程,python画樱花树代码如何读懂

  python画樱花树教程,python画樱花树代码如何读懂

  进口甲鱼

  从随机导入随机

  从随机导入产生均匀分布的随机整数矩阵

  def draw_petal(turtle_obj,flower):

  # 绘制掉落的花瓣

  对于i in range(int(flower)):

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

  x=flower - 4 * 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()

  # 珊瑚色

  乌龟_ obj。钢笔颜色(“浅珊瑚色”)

  # 画圆

  turtle_obj.circle(1)

  # 回到起点

  # 提笔,后退x,右转90,后退y,落笔

  turtle_obj.penup()

  turtle_obj.backward(x)

  turtle_obj.right(90)

  turtle_obj.backward(y)

  turtle_obj.pendown()

  # 画树枝部分

  def draw_tree(turtle_obj,branch,tree_color):

  # 设置一个最小分支长度

  min_branch=4

  如果分支min_branch:

  如果分支8:

  # 以0.5的概率,向左、右分支

  如果randint(0,1)==0:

  # 左为白色

  turtle_obj.pencolor(snow )

  否则:

  # 右为珊瑚色

  乌龟_ obj。钢笔颜色(“浅珊瑚色”)

  # 枝干

  turtle_obj.pensize(branch/2)

  elif 8=branch=16:

  # 以0.33的概率,分为左、中、右分支

  如果randint(0,2)==0:

  # 左为白色

  turtle_obj.pencolor(snow )

  否则:

  # 中、右为珊瑚色

  乌龟_ obj。钢笔颜色(“浅珊瑚色”)

  # 树枝

  turtle_obj.pensize(branch/4)

  否则:

  # 褐色

  turtle_obj.pencolor(tree_color)

  # 细枝

  turtle_obj.pensize(branch/10)

  # 最开始的树干长度

  turtle_obj.forward(分支)

  # 随机度数因子

  a=1.5 *随机()

  # 顺时针旋转随机角度(0~30度)

  turtle_obj.right(20 * a)

  # 随机长度因子

  b=1.5 *随机()

  # 往右画,直到画不动为止

  draw_tree(turtle_obj,branch - 10 * b,tree_color)

  # 左转随机角度

  turtle_obj.left(40 * a)

  # 往左画,直到画不动位置

  draw_tree(turtle_obj,branch - 10 * b,tree_color)

  # 右转一定角度

  turtle_obj.right(20 * a)

  # 提笔

  turtle_obj.penup()

  # 递归结束回到起点

  turtle_obj.backward(分支)

  turtle_obj.pendown()

  def获取_屏幕(宽度、高度、颜色、速度):

  # 创建画幕

  screen_obj=乌龟。屏幕()

  # 画布大小:(宽度,高度),颜色:颜色

  screen_obj.screensize(宽度,高度,血糖=颜色)

  screen_obj.setup(1.0,1.0)

  #速度倍加速

  screen_obj.tracer(速度)

  返回屏幕_对象

  定义树(树数量):

  # 颜色

  color=[棕色,褐色,黑色]

  对于范围内的j(树编号):

  # 树干颜色

  tree_color=color[randint(0,len(color) - 1)]

  # 画笔大小

  pensize=randint(2,5)

  # 前进像素

  forward=((-1)* * pen zize)* pen zize * randint(20,50)

  # 后退像素

  如果pensize=3:

  backward=((-1)* * pen zize)*(5-pen zize)* randint(10,15)

  否则:

  backward=pensize * randint(45,50)

  # 创建画笔

  turtle_obj=乌龟。乌龟()

  # 画笔粗细

  乌龟_ obj。彭齐泽(彭齐泽)

  # 提笔,向前向前,左转90,向后,落笔

  turtle_obj.penup()

  turtle_obj.forward(前进)

  turtle_obj.left(90)

  turtle_obj.backward(向后)

  turtle_obj.pendown()

  # 画笔颜色:褐色

  turtle_obj.pencolor(tree_color)

  # 枝干粗细

  分支=养老金* 15

  # 落花数

  鲜花=树枝

  # 第j棵树

  draw_tree(turtle_obj,branch,tree_color)

  # 花瓣

  绘制_花瓣(乌龟_对象,花)

  if __name__==__main__ :

  # 创建画幕

  我的屏幕宽度=800

  我的屏幕高度=600

  我的屏幕颜色=小麦

  我的屏幕速度=5

  我的屏幕对象=获取屏幕(我的屏幕宽度,我的屏幕高度,

  我的屏幕颜色,我的屏幕速度)

  # 樱花树

  # 棵数

  我的树编号=5

  树(我的树数)

  # 点击关闭画布

  my_screen_obj.exitonclick()

  bzdmt博客,版权所有丨如未注明,均为原创丨本网站采用共享协议进行授权

  转载请注明原文链接:蟒蛇龟绘制樱花树代码

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: