用python画雪花-python画图——雪花(科赫曲线)
科赫曲线是一种分形,其形态非常像雪花,因此又被称作科赫雪花、雪花曲线。
下面是用python的turtle包让我们来实时画一个
import turtledef koch(t,n): #定义一个函数 科赫曲线,完成绘画功能 if n < 5 : t.fd(n) return m = n/3 koch(t,m) t.lt(60) koch(t,m) t.rt(120) koch(t,m) t.lt(60) koch(t,m) def snowflake(t, n): # 画一朵雪花,每一边都是一个科赫曲线 for i in range(3): koch(t,n) t.rt(120) bob = turtle.Turtle()bob.color('black')bob.penup() # 画笔提起(不能画)bob.goto(-150,90) #去到这个点bob.pendown() # 画笔落下(开始画)snowflake(bob,300) # 调用函数开始画雪花turtle.mainloop()
效果图:
别看这么简短的代码,其实它内含的数学知识可不简单,科赫曲线的生成其实是一个递归的过程,通过不断地递归调用koch,我们可以形成一个不断由等边三角形组成的雪花。如文首所示的那样。维基百科更专业的解释是这样的:
给定线段AB,科赫曲线可以由以下步骤生成:
1. 将线段分成三等份(AC,CD,DB)
2. 以CD为底,向外(内外随意)画一个等边三角形DMC
用python画雪花-python画图——雪花(科赫曲线)相关推荐
- Python 与神奇的数学之科赫曲线
切入正题之前,先让我们了解一下分形和分形几何. 分形(Fractal)一词,是 芒德勃罗 于1973年创造出来的,为不规则.支离破碎之意.其具有以非整数维形式充填空间的形态特征,通常被定义为" ...
- 【C语言】——C语言实现科赫雪花及科赫曲线
1.题目描述: (1) 科赫雪花和科赫曲线 科赫曲线(Koch curve)是一个简单的分形(fractal)图形 给定一直线线段,把它等分三段,加入一个等边三角形,以三段的中间一段为底对齐,再去除该 ...
- python海龟图画koch雪花曲线_python画图——雪花(科赫曲线)
科赫曲线是一种分形,其形态非常像雪花,因此又被称作科赫雪花.雪花曲线. 下面是用python的turtle包让我们来实时画一个 import turtle def koch(t,n): #定义一个函数 ...
- 用python画雪花 科赫曲线递归_【TCE的编程小讲堂】【Python】【第三期】如何画出科赫雪花?(下)...
大家还记得上期讲的科赫雪花吗?我们上次讲过画出一条边的方法,大家看看代码复习一下 import turtle#包含turtle库 def koch(l): turtle.forward(l / 4)# ...
- python科赫曲线树叶_python画图——雪花(科赫曲线)
科赫曲线是一种分形,其形态非常像雪花,因此又被称作科赫雪花.雪花曲线. 下面是用python的turtle包让我们来实时画一个 import turtle def koch(t,n): #定义一个函数 ...
- 用python画雪花 科赫曲线递归_python 画雪花 —科赫曲线的实现-Python 实用宝典
漂亮的科赫曲线 科赫曲线是一种分形,其形态非常像雪花,因此又被称作科赫雪花.雪花曲线. 下面是用python的turtle包让我们来实时画一个如上图所示的雪花. import turtle def k ...
- python学习笔记 第五章(科赫雪花与科赫曲线)
科赫曲线,也叫做雪花曲线.是一种分形几何,分形几何是一种迭代的几何图形,广泛存在于自然界中. 科赫曲线是一种迭代的图形,所以我们是可以利用python中的迭代法来绘制. 我们先考虑如何实现迭代. 首先 ...
- python算法分析与设计实验:科赫雪花实验
算法分析与设计实验:科赫雪花实验 一.实验目的 1.熟悉python编程环境,包括程序安装 2.熟悉python基本语法 3.递归算法程序分析与调试 二.实验工具 Win10操作系统.python3. ...
- python绘制n阶科赫曲线线段_分形几何中科赫雪花的绘制
目录分形几何在自然界中广泛存在(康托尔集.谢尔滨斯基三角形.门格海绵.龙形曲线.科赫曲线...),实际上分形几何是一种迭代的几何图形.本文主要讨论科赫曲线. 科赫曲线的绘制: import turtl ...
最新文章
- 未解决计算机主机与打印机,电脑无法与打印机连接 计算机网考题目2(12)
- python中的缩进问题_Python中的缩进问题
- 【LeetCode从零单排】No121	Best Time to Buy and Sell Stock
- 第15章 SpringBoot集成logging日志
- leetcode 90. 子集 II 思考分析
- Java面向对象基础接口和抽象的理解
- pico park无法连接至远程服务器,pico park怎么联机玩?pico park怎么邀请朋友一起玩?[多图]...
- [Buzz.Today]2012.04.29
- hdu 2191 (多重背包二进制优化)
- Google Calendar Sync_ 把 Microsoft Outlook 同步到 G...
- [转] PHP开发通用型标题图片功能
- Nginx专题:nginx+tomcat实现动静分离
- Autosar Configuration(五) Security之Csm配置
- 仿掌阅实现书籍打开动画
- 如何在命令行窗口运行某个文件夹下的exe程序
- 应聘经历-百度华为移动
- Arduino结合ESP8266 Serial WIFI模块访问远程服务器
- 【最全面详细解释】背包问题详解
- arm蜂鸣器程序 linux_Linux 下控制蜂鸣器发声的程序
- 计算机如何安装cpu风扇,cpu风扇怎么装(台式电脑安装步骤图)