Sierpinski三角形的构造

Sierpinski三角形是递归地构造的。最常见的构造方法如上图所示:把一个三角形分成四等份,挖掉中间那一份,然后继续对另外三个三角形进行这样的操作,并且无限地递归下去。每一次迭代后整个图形的面积都会减小到原来的3/4,因此最终得到的图形面积显然为0。这也就是说,Sierpinski三角形其实是一条曲线,它的Hausdorff维度介于1和2之间。

Sierpinski三角形的另一种构造方法如下图所示。把正方形分成四等份,去掉右下角的那一份,并且对另外三个正方形递归地操作下去。挖个几次后把脑袋一歪,你就可以看到一个等腰直角的Sierpinski三角形。​

Sierpinski三角形有一个神奇的性质:如果某一个位置上有点(没被挖去),那么它与原三角形顶点的连线上的中点处也有点。这给出另一个诡异的Sierpinski三角形构造方法:给出三角形的三个顶点,然后从其中一个顶点出发,每次随机向任意一个顶点移动1/2的距离(走到与那个顶点的连线的中点上),并在该位置作一个标记;无限次操作后所有的标记就组成了Sierpinski三角形。

Sierpinski三角形与杨辉三角第一次发现Sierpinski三角形与杨辉三角的关系时,你会发现这玩意儿不是一般的牛。写出8行或者16行的杨辉三角,然后把杨辉三角中的奇数和偶数用不同的颜色区别开来,你会发现杨辉三角模2与Sierpinski三角形是等价的。也就是说,二项式系数(组合数)的奇偶性竟然可以表现为一个分形图形!在感到诧异的同时,冷静下来仔细想想,你会发现这并不难理解。​

我们下面说明,如何通过杨辉三角奇偶表的前四行推出后四行来。可以看到杨辉三角的前四行是一个二阶的Sierpinski三角形,它的第四行全是奇数。由于奇数加奇数等于偶数,那么第五行中除了首尾两项为1外其余项都是偶数。而偶数加偶数还是偶数,因此中间那一排连续的偶数不断地两两相加必然得到一个全是偶数项的“倒三角”。同时,第五行首尾的两个1将分别产生两个和杨辉三角前四行一样的二阶Sierpinski三角形。这正好组成了一个三阶的Sierpinski三角形。显然它的最末行仍然均为奇数,那么对于更大规模的杨辉三角,结论将继续成立。

Sierpinski三角形与Hanoi塔    有没有想过,把Hanoi塔的所有状态画出来,可以转移的状态间连一条线,最后得到的是一个什么样的图形?二阶Hanoi塔反正也只有9个节点,你可以自己试着画一下。不断调整节点的位置后,得到的图形大概就像这个样子:

如果把三阶的Hanoi塔表示成无向图的话,得到的结果就是三阶的Sierpinski三角形。下面的这张图说明了这一点。把二阶Hanoi塔对应的无向图复制两份放在下面,然后在不同的柱子上为每个子图的每个状态添加一个更大的盘子。新的图中原来可以互相转移的状态现在仍然可以转移,同时还出现了三个新的转移关系将三个子图连接在了一起。重新调整一下各个节点的位置,我们可以得到一个三阶的Sierpinski三角形。

​显然,对于更大规模的Hanoi塔问题,结论仍然成立。

图文转自matrix67.com​

sierpinski三角形的维数_神奇的分形艺术(二):Sierpinski三角形相关推荐

  1. sierpinski三角形的维数_谢尔宾斯基(Sierpinski)三角形

    分形之谢尔宾斯基(Sierpinski)三角形 谢尔宾斯基三角形(英语:Sierpinski triangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出,它是一种典型的自相似集.也有的资料将 ...

  2. sierpinski三角形的维数_谢宾斯基三角形的几种生成方法

    简介 谢宾斯基三角形(Sierpinski triangle)是一种分形,由波兰数学家谢宾斯基在1915年提出.它是一种自相似集. 几种生成方法 方法一:去掉中心 取一个实心的三角形(多数用等边三角形 ...

  3. 优酷视频怎么转二维码_优酷视频转二维码

    有的人想将自己制作的视频分享出去,那么该如何将视频转换成二维码来分享呢?其实方法很简单,直接在视频界面中就能生成,这里和大家讲讲. 01. 登录自己的优酷帐号,然后点击右上角的上传按钮. 优酷视频怎么 ...

  4. python制作二维码_基于Python生成个性二维码过程详解

    一.问题描述 通过调用MyQR模块来实现生成个人所需二维码. 安装: pip install myqr 二.代码实现 1.普通二维码 from MyQR import myqr # 普通二维码 myq ...

  5. 生成有时间限制的二维码_微信公众号渠道二维码怎么制作?监测渠道效果的利器来了...

    每逢营销节点,各种渠道推广少不了,非常时刻需要能够统计不同渠道二维码的数据情况. 微信引流效果好不好怎么判断?新增人数为什么一团乱麻?粉丝又分别是从哪个渠道来的? 用渠道二维码就能搞定这些问题. 一. ...

  6. python遍历二维数组_在Python中遍历二维数组?

    你需要告诉我们一些事情:dataset = datas.values 它可能是一个二维数组,因为它来自一个csv负载.但是什么形状和数据类型?甚至可能是阵列的一个样本. 这是函数中的data参数吗? ...

  7. python定义二维数组_在python中定义二维数组

    原博文 2016-08-30 19:16 − 发表于 http://liamchzh.0fees.net/?p=234&i=1 一次偶然的机会,发现python中list非常有意思. 先看一段 ...

  8. python myqr制作二维码生成器_用Python生成动态二维码,只要5行代码,拥有你的个性二维码!...

    原标题:用Python生成动态二维码,只要5行代码,拥有你的个性二维码! 前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. P ...

  9. 三角形周长最短问题_九年级数学,二次函数中三角形周长的最值问题,解题思路很重要...

    很多同学学习完"铅锤法"后,按照解题套路能很快解决二次函数中三角形面积的最值.但是,冷不丁的遇到二次函数中三角形周长的最值问题,却懵了,不知道如何下手,解决这类问题解题思路很重要. ...

  10. 神奇的分形艺术(四):Julia集和Mandelbrot集

    考虑函数f(z)=z^2-0.75.固定z0的值后,我们可以通过不断地迭代算出一系列的z值:z1=f(z0), z2=f(z1), z3=f(z2), ....比如,当z0 = 1时,我们可以依次迭代 ...

最新文章

  1. 构建基于Chromium的应用程序(Winform程序加载Html页面)
  2. linux shell sed awk 命令(2)-awk
  3. mysql 数据类型 int_MySQL数据类型 int(M) 表示什么意思?
  4. Linux下源码安装CodeBlocks
  5. 修改Android中的文件权限
  6. VXLAN简明学习笔记(原创)
  7. 「leetcode」234. 回文链表:【数组模拟】【翻转后半部分】详解
  8. 网盘助手插件chrome插件
  9. php排斥ajaxsubmit函数,关于php:ajaxsubmit错误捕获
  10. svn使用的代码审查工具_专家使用的五种代码审查技巧
  11. MATLAB自带插值函数
  12. 英特尔芯片组系列 服务器,英特尔主板现在有几种架构,分别都是什么。都是对应什么系列CPU安装最好。说的越详细越好...
  13. 残差分析(残差原理与标准化残差分析)
  14. 在线loading图标生成网站
  15. linux设备模型 —— sysfs
  16. Promise is a promise
  17. 【TEMP】临时表空间的工作原理及维护方法
  18. 最新Whatsns内容付费SEO优化带采集和熊掌号运营问答系统
  19. 安装sentence_transformers
  20. 视频素材从哪里找?看这篇就对了

热门文章

  1. logisim 快速加法器设计实验报告_八位加法器设计实验报告
  2. linuxpv操作实验_操作系统实验三:Linux进程管理及其扩展
  3. 【Rust日报】2021-10-06 [Rust游戏] - 自走棋
  4. HTML网页的基本结构
  5. PLC 数据内存读写 调试软件工具
  6. 阿里云80端口无法访问
  7. 计算机科学基础word实验一,【实验2】熟悉WORD界面及其基本操作
  8. 树的遍历 ALDS1_7_C:Tree Walk
  9. 【论文写作】投稿心路
  10. 打开计算机桌面不显示不出来怎么办,电脑桌面黑屏不显示任何东西