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[0] = vStart; pVertices[1] = vStart + vSub*length; pVertices[2] = vEnd - vSub*length; pVertices[3] = vEnd; for (Yuint i = 0; i < 4; i++) { pVertices[i].y += stepY; } }

程序中可以任意设置实线的分裂比例,而不是严格意义上的三等分:

可以以3D的视角观察图形:

软件下载地址:http://files.cnblogs.com/WhyEngine/Fractal.7z

转载于:https://my.oschina.net/abcijkxyz/blog/723676

分形之康托(Cantor)三分集相关推荐

  1. 分形--Cantor三分集

    Cantor三分集:生成规则 取一条长为L0L_0的直线段,三等分,保留两端的线段,中间的去掉,再将剩下的两条直线段同样如此处理,以此类推,递归进行. 如图: 实现 package fractal;i ...

  2. Cantor三分集的递归算法

    Cantor三分集的递归算法 小前言 今天在unity3d上借用Cantor三分集算法思想实现了如下一个分形效果: 虽然整体看上去不像 三分集的原型: 做完倍感有趣啊哈哈 Cantor三分集算法思想介 ...

  3. Cantor三分集为啥不能在Myeclipse上完美实现呢?

    Cantor三分集为啥不能在Myeclipse上完美实现呢? 昨儿晚上,尝试了自编码完成Cantor三分集, 这是我第一次自己感兴趣的东西.从思考到实现,再到调bug,花费了2个多小时. 从导入jav ...

  4. matlab 分集,用matlab实现contor三分集

    用matlab画cantor三分集 摘要: 本文介绍了分形几何中的cantor三分集,并且给出了MATLAB 程序以及运行结果,分形作为双曲迭代函数系统的吸引子.根据程序中的迭代将分形模拟确为迭代法. ...

  5. 走近分形与混沌(part16)--三与自组织

    学习笔记 学习书目:<蝴蝶效应之谜:走近分形与混沌 >-张天蓉: 三生混沌 我们在前几个Blog中介绍了逻辑斯蒂系统.我们知道逻辑斯蒂系统是描述生态繁衍的,如果最后的群体数趋向一个固定值, ...

  6. 最简单的分形图像生成算法

    本文将提供一段完整地生成一幅分形图像文件的C语言代码,并且极为简单.我相信这应该是最简单的分形图像生成算法.大部分的分形图像代码也都很短,但一有递归迭代就难以理解了.而这段代码则很好懂,并且其生成的图 ...

  7. 18个分形图形的GIF动画演示

         这里提供18个几何线段分形的GIF动画图像.图形颜色是白色,背景色为黑色,使用最基本的黑与白以表现分形图形.对分形几何有兴趣的人可以看下.我在写程序时基本是参考<分形算法与程序设计_V ...

  8. 《分形算法与程序设计》目录

    第1章 分形简介 1 1.1 分形概念的提出与分形理论的建立 1 1.2 分形的几何特征 1 1.3 分形的测量 4 1.4 自然界中的分形 7 1.5 分形是一种方法论 8 1.6 分形与计算机图形 ...

  9. 分形(factal)的基本概念

    分形的简介: 分形是指具有多重自相似的对象,它可以是自然存在的,也可以是人造的.比如花菜. 分形不但抓住了混沌与噪声的实质,而且抓住了范围更广的一系列自然形式的本质.用分形语言去描绘大自然丰富多彩的面 ...

最新文章

  1. [Linux]Shell的运算符和特殊变量
  2. 如何听节拍器_我是如何开垮一家琴行的!
  3. java学习(21):移位运算符
  4. vue 后台返回的文件流进行预览_vue实现下载文件流完整前后端代码
  5. Java 数组操作
  6. python metaclass应用
  7. 堆排序时间复杂度_leetcode刷题(二):排序算法(归并排序,堆排序,桶排序)...
  8. 【git】从零开始在git上部署自己的免费生日祝福网页
  9. 用yolov5训练kitti数据集
  10. python battleship_codecademy的Python里的battleship报错
  11. Arduino智能小车——蓝牙小车
  12. VTK_Learning_交互与拾取_单位拾取
  13. type_traits 类型萃取
  14. 人体解析任务 和 Look into Person数据集 (附源码分享)
  15. 小程序毕设作品之微信积分商城小程序毕业设计成品(5)任务书
  16. python-tkinter(7) 实现各种个样的撩妹鼠标拖尾
  17. 11111111111
  18. 1.19 多对一 关系 (多对一为多方外键;一对多为一方外键)
  19. (PAT)卡拉兹(Callatz)猜想/3n+1猜想
  20. SKY77645 导致的Rach failure问题

热门文章

  1. 爬虫之非结构化数据爬取:字符串find,split应用
  2. 飞翔的小鸟(bird)
  3. [附源码]Python计算机毕业设计SSM基于大学生兼职系统(程序+LW)
  4. 选择与循环:剪刀石头布_《剪刀手爱德华》:放下剪刀不能保护你,拿起剪刀不能拥抱你...
  5. Cesium实时目标跟踪最新特效教程系列2—粒子系统(实时发射波束跟踪目标)
  6. SQL之case when then用法简介
  7. git恢复本地误删除的分支
  8. 普惠,生态之形!人人参与共建共享——保险科技生态建设
  9. 基于ItemCF算法的电影推荐系统 的代码详解
  10. 蓝桥杯16转八c语言,蓝桥杯 十六进制转八进制