分形介绍

分形是一个悖论。

它惊人的简单,却又无限的复杂。

它很新,却又比尘埃更古老。

分形是什么?它们是从哪里来的?我们为什么要在乎?

20世纪非传统的数学家Benoit Mandelbrot在1975年从拉丁词fractus(意思是不规则的或破碎的)创造了分形这个词。

我们周围到处都可以看到分形的影子。

从最基本的角度看,分形是重复模式或公式的视觉表达,开始时很简单,然后逐渐变得更复杂。

在数学中,分形是欧氏空间的子集,其分形维数严格超过其拓扑维数。

分形在不同的尺度上表现相同,如Mandelbrot集合的连续放大。

分形通常在越来越小的尺度上表现出类似的模式,这种特性称为自相似性,也称为扩展对称或展开对称。

如果这种复制在每个尺度上都完全相同,就像在门格尔海绵中一样,那么它就被称为仿射自相似。

分形几何属于度量理论的数学分支。

分形结果

谢尔宾斯基地毯

谢尔宾斯基地毯

谢尔宾斯基地毯

谢尔宾斯基地毯

谢尔宾斯基地毯

谢尔宾斯基地毯

谢尔宾斯基地毯

分形源码

# coding=utf-8import turtle
import random
import timeCOLOR_TABLES = [["#000000", "#000000", "#000000", "#000000" ],["#00649F", "#97ECC5", "#00DBE7", "#01AAC1" ],["#085F63", "#EF255F", "#FCCF4D", "#49BEB7" ],["#9B5D73", "#FFF1C5", "#C38B8B", "#B0757C" ],["#F0F0F0", "#FC5185", "#364F6B", "#43DDE6" ],["#F67280", "#355C7D", "#6C5B7B", "#C06C84" ],["#F3ECC8", "#0D1B4C", "#3F6699", "#78C2C3" ]]window = turtle.Screen()
window.screensize()
window.setup(width=1.0, height=1.0, startx=None, starty=None)turtle.speed(0)
turtle.hideturtle()
turtle.tracer(0)
turtle.bgcolor('white')def box(boxSize):turtle.begin_fill()     # 0 deg.turtle.forward(boxSize)turtle.left(90)         # 90 deg.turtle.forward(boxSize)turtle.left(90)         # 180 deg.turtle.forward(boxSize)turtle.left(90)         # 270 deg.turtle.forward(boxSize)turtle.end_fill()turtle.setheading(0)def move_box(xy, length, color):(x, y) = xyturtle.color(color)turtle.penup()turtle.goto(x, y)turtle.pendown()box(length)def draw_all(xy, length, depth, color_table):if depth <= 0: returnlength3 = length / 3(x, y) = xypos1_9 = [  (x-length3*2,       y+length+length3),(x+length3,         y+length+length3),(x+length+length3,  y+length+length3),(x-length3*2,       y+length3),(x+length+length3,  y+length3),(x-length3*2,       y-length3*2),(x+length3,         y-length3*2),(x+length+length3,  y-length3*2) ]    for pos in pos1_9:move_box(pos, length3, color_table[depth%len(color_table)])draw_all(pos, length3, depth-1, color_table)def Sierpinski():length = 270start_x = -length/2start_y = -length/2depth = 3for color_table in COLOR_TABLES:move_box((start_x, start_y), length, color_table[0])draw_all((start_x, start_y), length, depth, color_table)time.sleep(1)#time.sleep(6)
Sierpinski()

分形视频

--EOF--

例行求粉,谢谢!

求粉

python与分形0009 - 谢尔宾斯基地毯相关推荐

  1. Python编程:实现谢尔宾斯基三角

    Python编程:实现谢尔宾斯基三角 谢尔宾斯基三角,又称谢尔宾斯基地毯,在计算机图形学中是一种经典的分形图形.本文将使用Python编程实现Sierpinski Triangle(谢尔宾斯基三角), ...

  2. 陈斌老师《数据结构与算法Python版》第五周作业——ASCII谢尔宾斯基地毯

    陈斌老师<数据结构与算法Python版>第五周作业--ASCII谢尔宾斯基地毯 题目 思路 程序如下 总结 题目 谢尔宾斯基地毯是形如上图的正方形分形图案,每个地毯可分为等大小的9份,其中 ...

  3. python数据结构与算法40题_Python数据结构与算法40:递归编程练习题3:ASCII谢尔宾斯基地毯...

    注:本文如涉及到代码,均经过Python 3.7实际运行检验,保证其严谨性. 本文阅读时间约为7分钟. 递归编程练习题3:ASCII谢尔宾斯基地毯 谢尔宾斯基地毯 谢尔宾斯基地毯是形如上图的正方形分形 ...

  4. 混沌分形之谢尔宾斯基(Sierpinski)

    本文以使用混沌方法生成若干种谢尔宾斯基相关的分形图形. (1)谢尔宾斯基三角形 给三角形的3个顶点,和一个当前点,然后以以下的方式进行迭代处理: a.随机选择三角形的某一个顶点,计算出它与当前点的中点 ...

  5. 简单分形(谢尔宾斯基三角形和地毯)

    对于分形,我的理解就是:由小元件组成整体,然后再用另一或相同整体替换元件形成的循环迭代图形. 下面以谢尔平斯基三角形为例,介绍下最简单的分形思路. 第一步,先构造一个正三角形,取正三角形三边中点并连线 ...

  6. 分形之谢尔宾斯基(Sierpinski)地毯

    前面讲了谢尔宾斯基三角形,和这一节的将把三角形变为正方形,即谢尔宾斯基地毯,它是由瓦茨瓦夫·谢尔宾斯基于1916年提出的一种分形,是自相似集的一种. 谢尔宾斯基地毯的构造与谢尔宾斯基三角形相似,区别仅 ...

  7. Python实验舱谢尔宾斯基地毯绘制教程

    谢尔宾斯基地毯,和谢尔宾斯基三角形相似,下图就是谢尔宾斯基地毯 一,起始代码 p.width(3) p.speed(10) import turtle n=int(input()) base=int( ...

  8. OpenGL进阶(七)-康托尔集 谢尔宾斯基地毯 Koch雪花

    这一篇关于分形图像,当然只是入门. 分形通常被定义为"一个粗糙或零碎的几何形状,可以分成数个部分,且每一部分都(至少近似地)是整体缩小后的形状",即具有自相似的性质.分形有几种类型 ...

  9. Java学习日记:UI篇(6)--谢尔宾斯基地毯图

    Java学习日记:UI篇(6)–谢尔宾斯基地毯图 引言:谢尔宾斯基地毯是数学家谢尔宾斯基提出的一个分形图形,谢尔宾斯基地毯和谢尔宾斯基三角形基本类似,不同之处在于谢尔宾斯基地毯采用的是正方形进行分形构 ...

最新文章

  1. 中兴通讯ZXR10 T40G交换机telnet配置
  2. 京东王笑松:7FRESH是“无界零售”理论的业务践行
  3. word受权限保护无法打开_双击文档无法打开到底是啥毛病?简单一招解决
  4. LeetCode meituan-001. 小美的用户名
  5. java.equal例子_Java中的== 和equals()方法详解与实例
  6. java 根据类名示例化类_Java LocalDateTime类| minusMinutes()方法与示例
  7. Java并发(三)——线程池
  8. seaweedfs入门
  9. uni-app设置背景图自适应手机屏幕尺寸
  10. 看《延禧攻略》学配色与构图
  11. typec扩展坞hdmi没反应_全功能扩展坞Type-C Docking (扩展坞) 方案讲解-可实现拔插不掉屏...
  12. 笔记1 第11课 贪心初步 ——柠檬水找零,分发饼干,跳跃游戏,完成所有任务所需最小能量——极客时间算法
  13. 烟台服务器装系统,【图】- 烟台芝罘区上门修电脑安装系统电话多少三站 - 烟台芝罘电脑维修 - 烟台百姓网...
  14. 手机虚拟服务器app,手机远程控制服务器的app
  15. Python tkinter 学习笔记(2)-- 控件、组件(二)
  16. 如何更优雅地使用 bilibili(b站)
  17. ERP系统的KPI指标建立与管理介绍
  18. 重建同义词+oracle,[ORACLE]Oracle 同义词(synonym)
  19. revit学习笔记-文件的插入与连接
  20. 思科邮件服务器配置不正确,Cisco Packet Tracer服务器配置_邮件传送_ftp_web_email_dns_dhcp图解...

热门文章

  1. 初遇 chatGPT
  2. vb中怎么使图片适应框的大小_怎么让放进的图片随框大小而变
  3. 三星Android平板怎么升级,三星p3100如何升级5.0系统【方法步骤】
  4. 利用File Zilla在AWS的EC2虚拟机上建FTP传输文件(Win系统)
  5. 程序员,练就哪些技能才胜任架构师?
  6. 如何开发代购系统、代购源码、代购程序、代购APP、小程序
  7. python 关于中英文混合输出的那点事
  8. 德国大陆轮胎Continental EDI 项目案例
  9. java methods infoxa_如何获取Java 8方法参考的MethodInfo?
  10. autojs,读取一行删除一行,停止自己外的脚本