分形之康托(Cantor)三分集
1883年,德国数学家康托(G.Cantor)提出了如今广为人知的三分康托集,或称康托尔集。三分康托集是很容易构造的,然而,它却显示出许多最典型的分形特征。它是从单位区间出发,再由这个区间不断地去掉部分子区间的过程。
三分康托集的构造过程是:
第一步,把闭区间[0,1]平均分为三段,去掉中间的 1/3 部分段,则只剩下两个闭区间[0,1/3]和[2/3,1]。
第二步,再将剩下的两个闭区间各自平均分为三段,同样去掉中间的区间段,这时剩下四段闭区间:[0,1/9],[2/9,1/3],[2/3,7/9]和[8/9,1]。
第三步,重复删除每个小区间中间的 1/3 段。如此不断的分割下去, 最后剩下的各个小区间段就构成了三分康托集。
其实三分Cantor集的构造本身就具有严格的自相似的结构,并且具有无穷小的细节,我们可以说三分Cantor集就是分形集。当时,Cantor是为了证明级数中的一些定理引进的,由于它的一些奇异的性质,被当时看作集合中的另类,从而忽视了Cantor集的重要性。如今Cantor集经常在混沌和分形的研究中遇到。既然它是分形,那么它的维数将可以采用前面讲述的方法进行计算。因为它有严格的自相似结构,如果按比例缩小1/3,则它相当于两个原来相似整体。
Cantor集是一种最简单的分形方式,无非是不停地将一条线段变成两条小点的线段,核心代码如下:
static void FractalCanto(const Vector3& vStart, const Vector3& vEnd, Yreal length, Yreal stepY, Vector3* pVertices)
{
Vector3 vSub = vEnd - vStart; pVertices[] = vStart;
pVertices[] = vStart + vSub*length;
pVertices[] = vEnd - vSub*length;
pVertices[] = vEnd; for (Yuint i = ; i < ; i++)
{
pVertices[i].y += stepY;
}
}
程序中可以任意设置实线的分裂比例,而不是严格意义上的三等分:
可以以3D的视角观察图形:
分形之康托(Cantor)三分集的更多相关文章
- cantor三分集
值得一提的是,第一次听说cantor三分集是在数字电路课上,然而数电是我最不喜欢的课程之一...... 分形大都具有自相似.自仿射性质,所以cantor三分集用递归再合适不过了,本来不想用matlab ...
- [实变函数]2.5 Cantor 三分集
1 Cantor 三分集的构造: $$\bex P=\cap_{n=1}^\infty F_n. \eex$$ 2 Cantor 三分 ...
- 18个分形图形的GIF动画演示
这里提供18个几何线段分形的GIF动画图像.图形颜色是白色,背景色为黑色,使用最基本的黑与白以表现分形图形. (1)科赫(Koch)雪花 (2)列维(levy)曲线 (3)龙形曲线(Drago ...
- Altium 分形天线设计
Altium 分形天线设计 程序运行界面 Cantor三分集 Koch雪花 Sierpinski垫片 源代码: Iter_Num = 4 'diedai PI = 3.1415926 Call ...
- 关于 Cantor 集不可数的新观点
第一步操作:将区间 $[0,1]$ 中去掉开区间 $(\frac{1}{3},\frac{2}{3})$ 后,就形成了两个不交闭区间.于是这两个不交闭区间中至少有两个元素,正好是集合 $\{1\}$ ...
- Python 分形算法__代码里开出来的艺术之花
1. 前言 分形几何是几何数学中的一个分支,也称大自然几何学,由著名数学家本华曼德勃罗( 法语:BenoitB.Mandelbrot)在 1975 年构思和发展出来的一种新的几何学. 分形几何是对大自 ...
- hihoCoder #1312 : 搜索三·启发式搜索(A*, 康托展开)
原题网址:http://hihocoder.com/problemset/problem/1312 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在小Ho的手机上有 ...
- 康托展开+逆展开(Cantor expension)详解+优化
康托展开 引入 康托展开(Cantor expansion)用于将排列转换为字典序的索引(逆展开则相反) 百度百科 维基百科 方法 假设我们要求排列 5 2 4 1 3 的字典序索引 逐位处理: 第一 ...
- 康托(Cantor)展开
直接进入正题. 康托展开 Description 现在有"ABCDEFGHIJ”10个字符,将其所有的排列中按字典序排列,给出任意一种排列,说出这个排列在所有的排列中是第几小的? Input ...
随机推荐
- Python3字符编码
编码 字符串是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节 ...
- Python之路(第十六篇)xml模块、datetime模块
一.xml模块 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单, xml比较早,早期许多软件都是用xml,至今很多传统公司如金融行业的很多系统的接口还主要 ...
- 微信JSSDK接口previewImage
<div class="pics"> <img src="http://pic1.ytqmx.com:82/2015/0409/01/15.jpg!96 ...
- NotificationMangerService处理显示通知
设置——>应用——>点击“已下载”列表中的任一APP,如图: 代码位置:Settings\src\com\android\settings\applications\InstalledA ...
- spring学习十九 常用注解
1. @Component 创建类对象,相当于配置<bean/>2. @Service 与@Component 功能相同. 2.1 写在 ServiceImpl 类上.3. @Reposi ...
- 乘积最大(NOIP2000&NOIP水题测试(2017082301))
题目链接:乘积最大 这道题显然是道区间dp. 难度不是很大. 思路也很清晰. 我们设计一个三维状态. ans[l][r][k] 这里表示在闭区间[l,r]上操作k次的最大值. 操作就是加乘号. 转移也 ...
- Mac DS_Store
.DS_Store是Mac OS保存文件夹的自定义属性的隐藏文件,如文件的图标位置或背景色,相当于Windows的desktop.ini. 1,禁止.DS_store生成:打开 “终端” ,复制黏贴下 ...
- 【转】python 2.6.6升级到python 2.7.x版本的方法
1.下载python2.7.x wget https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz 2.解压并编译安装 tar -zxvf Py ...
- 2019.02.07 bzoj4784: [Zjoi2017]仙人掌(仙人掌+树形dp)
传送门 题意:给一个无向连通图,问给它加边形成仙人掌的方案数. 思路: 先考虑给一棵树加边形成仙人掌的方案数. 这个显然可以做树形dp. fif_ifi表示把iii为根的子树加边形成仙人掌的方案数. ...
- 2018.11.01 bzoj4872: [Shoi2017]分手是祝愿(期望dp)
传送门 一道不错的题. 考虑n==kn==kn==k的时候怎么做. 显然应该从nnn到111如果灯是开着的就把它关掉这样是最优的. 不然如果乱关的话会互相影响肯定不如这种优. 于是就可以定义状态f[i ...