python 龙型图(Dragon Curve)
python 龙型图(Dragon Curve)
代码
用turtle结合递归实现数学小游戏龙型图
#用turtle绘制龙形图
import turtle#绘制龙形图的函数
def Dragon(n,length,angle):#功能名和输入的参数定义if n==0:turtle.forward(length)#绘制一条长度为length的线段else:Dragon(n-1,length,90)#90:线段间角度turtle.left(angle)#转一个角度 90 向左 -90向右Dragon(n-1,length,-90)#-90:线段间角度#turtle环境设置
turtle.Screen().clear()
turtle.speed(0)
turtle.pensize(2)#绘制开始点设置
turtle.penup()
turtle.goto(60,100)
turtle.pendown()#运行时参数设置
n=2#迭代次数
length=35#线段长度
angle=90#旋转角度#开始迭代
Dragon(n,length,angle)
turtle.done()
代码解释
前四次迭代如图所示,后一次迭代基于前一次。
新迭代生成方式:在箭头交界处旋转,旋转方向和旋转角度随意,但要保证每次旋转的一致性及龙型图的基本性质(线段相互垂直),图示每次均向左旋转90°。
我们规定:
前一个迭代的图:Dragon(n-1)
连接时候的旋转角度:angle
所以再看代码,只需要先让函数生成一个Dragon(n-1)图(逆时针),再将画笔旋转angle°,再生成同样一个Dragon(n-1)图(顺时针)即可完成“在箭头交界处旋转”的操作绘制完整图像。
Dragon(n-1,length,90)#生成一个A图,逆时针
turtle.left(angle)#向左转一个角度
Dragon(n-1,length,-90)#生成同样一个A图,顺时针,也就是颠倒起点和终点画,目的是为了完成箭头交界处旋转的操作
python 龙型图(Dragon Curve)相关推荐
- python制作图形化小游戏_创意编程|Python的GUI简易界面设计测测你的反应力
Python的GUI简易界面设计案例 测测你的反应力 作为初次接触代码编程的你,是不是觉得Python程序除了"码"就是"字"即使是有趣的程序除了烧烧 ...
- Python 读取图,旋转,缩放(PIL, matplotlib)
Python 读取图,旋转,缩放(PIL, matplotlib) 2017-05-03 12:54 1133人阅读 评论(0) 收藏 举报 分类: python(20) 版权声明:本文为博主原创 ...
- 分形之龙形曲线(Dragon Curve)
龙形曲线(Dragon Curve)又叫分形龙,是一种自相似碎形曲线的统称,因形似龙的蜿蜒盘曲而得名. 一种简单的生成分形龙的方式是:拿着一条细长的纸带,把它朝下的一头拿上来,与上面的一头并到一起.用 ...
- python画气泡图_用Python把图做的好看点:用Matplotlib画个好看的气泡图
我们继续来把简单的图形丢到极坐标,这次是气泡图和柱状图,临摹的对象是澎湃美数课 这个图看起来很好看,原理其实很简单,把柱状图和气泡图从笛卡尔坐标系中转移到极坐标系中来就OK 我们开始本次的临摹吧 本期 ...
- python 三维图直方图_Python | 阶梯直方图
python 三维图直方图 A histogram is a graphical technique or a type of data representation using bars of di ...
- python matplotlib图中插入表格
python matplotlib图中插入表格 解决问题 示例代码 结果 解决问题 在matplotlib画的图里插入表格数据.使用到pyplot和gridspec函数. 示例代码 #导入库 impo ...
- python画简便的图-最适合小白学的花色玩Python折线图|画个天气预报
原标题:最适合小白学的花色玩Python折线图|画个天气预报 欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习.问答.求职,一站式搞定! 对商业 ...
- Python线图点图--matplotlib.pyplot.plot
参考视频:Python线图点图--15分钟详解matplotlib.pyplot.plot #011_哔哩哔哩_bilibili 一.绘图基础 #导入画图包,以及数据包 import matplotl ...
- Python动态图见得多了?Excel:亦可赛艇!我可是身经百战了
作者:Ryoko量子 来源:凹凸数据 朋友圈又看到 Python 广告推送了,什么"你还在用 Excel 加班啊"."我一进去就看见 Python 在打 Excel 啊& ...
最新文章
- 「无心插柳柳成荫」的乔姆斯基 | 追溯 AI 大师系列
- ActiveMQ网络连接
- 2015年 六·一 儿童节——我
- rostcm6情感分析案例分析_周小鹏分析情感案例——你愿意嫁给一个离过婚带孩子男人吗?...
- androidx.preference.PreferenceScreen 去除左边空白
- SVN 如何把一个项目的版本回退到指定版本
- Java题 细胞分裂
- 如何利用花生壳动态域名解析服务搭建http服务。
- 硬盘分区总结(小东子)
- win10截图相关教程
- 有哪些在成都开了 20 年以上的味道不错的小饭馆
- 英飞凌-AURIX-TC3XX 片上总线通信架构
- 核磁谱图分析步骤_测试干货|核磁共振好基友MestReNova—手把手教你做出一张核磁谱图...
- RocketMQ重试策略及与Springboot整合
- 8大模块、40个思维模型,打破思维桎梏,满足你工作不同阶段、场景的思维需求,赶紧收藏慢慢学
- HBase系列(一):HBase表结构及数据模型的理解
- 移动安全测试框架MobSF(二):动态分析
- SPI串行外围设备接口
- android抖音自动刷新,Android SwipeRefreshLayout仿抖音app静态刷新
- 腾讯地图—WebService API定位的使用