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

Python海龟绘图-藤蔓

import time
import turtle as t
from turtle import *
t.setup(1280,720)
t.speed(0)
t.pensize(1)
length = 6
path = 'F'
angle = 27
up()
color("#262626;")
goto(-600, -350)
down()
expalnation = {'F': '画线','x': '-','+': '逆时针旋转','-': '顺时针旋转','[': '记录当前位置',']': '恢复上一个位置','a': '上色','b': '上色','c': '上色'
}
rules = {'F': 'aFF[b-F++F][c+F--F]c++F--F','X': 'aFF+[b+F]+[c-F]'
}def draw_path(path, expalnation):posList, angleList = [], []t.up()t.goto(600, -350)t.down()t.lt(90)for symbol in path:if symbol == 'F':t.forward(length)elif symbol == '+':t.left(angle)elif symbol == '-':t.rt(angle)elif symbol == '[':posList.append(t.pos())angleList.append(t.heading())elif symbol == 'a':t.pensize(3)t.color("#8c503c")elif symbol == 'b':t.pensize(2)t.color("#4ab441")elif symbol == 'c':t.pensize(2)t.color("#18b418")elif symbol == ']':t.up()t.home()t.goto(posList.pop())t.left(angleList.pop())t.down()def apply_rules(path, rules):L = [_ for _ in path]for i in range(len(L)):symbol = L[i]if symbol == 'F':L[i] = rules[symbol]if symbol == 'X':L[i] = rules[symbol]path = ''.join(L)return pathfor _ in range(4):path = apply_rules(path, rules)
draw_path(path, expalnation)

http://www.xdnf.cn/news/8091.html

相关文章:

  • 【笔记】PyCharm 中创建Poetry解释器
  • Datacom-hcia~Datacom-hcie学习笔记索引
  • 【2025.05】Anaconda新手安装+配置+环境创建教程
  • C++通过空间配置器实现简易String类
  • 学习路之uniapp--unipush2.0推送功能--使用
  • 什么是智能体?
  • 顺序表VS单链表
  • RuntimeError: Cannot find sufficient samples, consider increasing dataset size.
  • 【Tauri2】047——Image
  • gcc还会有自己的头文件呢?
  • CMake 跨平台构建系统详解
  • 友达15.6寸G156HAN02.3工业显示模组
  • 在Linux系统上备份另一个系统的做法
  • 数据库主从集群 + GTID 实现高可用
  • inlier_outlier
  • 视觉大模型学习总结
  • 通过 curl 精准定位问题
  • 从零开始的嵌入式学习day25
  • Java SSM与SpringBoot面试题全面解析:从基础到源码
  • 线性表数据结构-队列
  • 8:点云处理—常见的四种3D相机
  • 今日行情明日机会——20250521
  • 探索Puter:一个基于Web的轻量级“云操作系统”
  • Java基础 5.21
  • 重磅升级!Google Play商店改版上线
  • Web服务器
  • C++语言的跨平台挑战和应对策略
  • centos7 p8p1使用ip addr查看时有的时候有两个ip,有的时候只有一个ip,有一个ip快,有一个ip慢
  • 如何在 Windows 10 或 11 上使用命令提示符安装 Angular
  • Vue Router动态路由与导航守卫实战