当前位置: 首页 > article >正文

如何用python画一棵分形树

这个代码会生成一个彩色的分形树图案,可以通过调整draw_tree函数中的参数来改变树的形状和大小

import turtle
import random


# 递归函数绘制分形树
def draw_tree(branch_len, t):
    if branch_len > 5:
        t.color(random.choice(colors))
        t.pensize(branch_len / 10)
        t.forward(branch_len)
        t.right(20)
        draw_tree(branch_len - 15, t)
        t.left(40)
        draw_tree(branch_len - 15, t)
        t.right(20)
        t.backward(branch_len)


# 设置turtle
t = turtle.Turtle()
t.speed(0)
turtle.bgcolor("black")
colors = ["red", "orange", "yellow", "green", "blue", "purple"]
# 初始化turtle位置
t.left(90)
t.up()
t.backward(200)
t.down()
# 绘制分形树
draw_tree(100, t)
# 结束
t.hideturtle()
turtle.done()

看看效果图


http://www.kler.cn/a/566639.html

相关文章:

  • [C++] enum 以及 enum class 简单用法
  • 一文掌握Splash的详细使用
  • QT Creator添加延迟的方法
  • 爬取网易云歌单信息并分析
  • 有向图的拓扑排序-BFS求解
  • 如何选择DevOps平台?GitHub、GitLab、BitBucket、Jenkins对比与常见问题解答
  • javascript经典练习题-语法与特性
  • word转换为pdf后图片失真解决办法、高质量PDF转换方法
  • HTML 基础 (快速入门)详细步骤和示例
  • 编程小白冲Kaggle每日打卡(17)--kaggle学堂:<机器学习简介>随机森林
  • UniApp 中封装 HTTP 请求与 Token 管理(附Demo)
  • 运维安全之Linux网络安全(iptables)
  • Spring Boot Admin 踩坑
  • JWT+redis实现令牌刷新优化方案
  • esp8266 rtos sdk开发环境搭建
  • 如何使用大模型、知识库和AI工作流创建AI应用(扣子平台)
  • element中el-table表头通过header-row-style设置样式
  • springboot之HTML与图片生成
  • win本地vscode通过代理远程链接linux服务器
  • 若依spring框架升级到JDK17 + spring boot3 + spring framework6的趟坑记录