`

Cantor三分集

阅读更多

原文http://blog.csdn.net/fyzhao/archive/2007/01/18/1486592.aspx
     Cantor三分集的构造如下图所示,一条线段ab被均分为三段,保留其两边的两段,中间一段去掉,然后把得到的每一段再继续进行划分,如此反复。
     分形结构图

      Cantor 三分集的绘制十分简单,是一种最简单的分形实例,它的算法如下:

cx = ax + ( bx – ax ) / 3

cy = ay + h

dx = bx – ( bx – ax ) / 3

dy = by + h

ay = ay – h

by = by – h

其中 h 为两层之间的距离。

        Cantor 三分集的 python 程序实现及其运行结果如下:

from Tkinter import *

class Cantor(Frame):
    
    limit = 1

    def __init__(self, master=None):
        Frame.__init__(self, master)
        self.grid()
        self.createWidgets()

    def createWidgets(self):
        self.draw = Canvas(self, width=800, height=500)
        self.draw.pack(side=LEFT)
        self.drawCanvas(100,100,700,100)

    def drawCanvas(self,ax,ay,bx,by):
        self.draw.create_line(ax,ay,bx,by)
        if ((bx-ax)>self.limit):
            cx = ax + (bx - ax) / 3;
            cy = ay + 50;
            dx = bx - (bx - ax) / 3;
            dy = by + 50;
            ay = ay + 50;
            by = by + 50;
            self.drawCanvas(ax,ay,cx,cy)
            self.drawCanvas(dx,dy,bx,by)
            



app = Cantor()
app.master.title("Cantor (recursive)")
app.mainloop()
 

  python实现结果图

 

分享到:
评论

相关推荐

    MATLAB课程设计(cantor三分集)

    "MATLAB课程设计:Cantor三分集" 本文主要介绍了使用MATLAB语言设计的Cantor三分集课程设计,旨在通过MATLAB程序生成Cantor三分集图形。该设计包括了Cantor三分集的定义、算法实现、MATLAB程序编写和结果分析等部分...

    分形-Cantor三分集MATLAB代码

    Cantor三分集是分形理论中的一个经典例子,由19世纪的数学家Georg Cantor提出,它是无限迭代过程的结果,展示了如何通过简单的规则生成复杂的结构。 在MATLAB中实现Cantor三分集,主要涉及以下几个知识点: 1. **...

    命题逻辑中极大和谐理论之集上的拓扑与Cantor三分集 (2007年)

    从结构上清楚地描述了极大和谐理论的构造,证明了一个...在全体极大和谐理论之集上通过自然的方式引入了一种紧Hausdorff拓扑,证明了所得拓扑空间与Cantor三分集同胚。作为应用,给出了命题逻辑系统完备性的一个简单证明。

    用matlab实现contor三分集.pdf

    Matlab 实现 Cantor 三分集 本文介绍了使用 Matlab 实现 Cantor 三分集的方法,並給出了 Matlab 程序以及运行结果。Cantor 三分集是一种分形几何中的典型例子,本文通过 Matlab 程序模拟了 Cantor 三分集的生成过程...

    用matlab实现contor三分集.docx

    使用 MATLAB 实现 Cantor 三分集 本文介绍了使用 MATLAB 实现 Cantor 三分集的方法,并给出了 MATLAB 程序以及运行结果。Cantor 三分集是一种典型的分形几何,具有自相似性和无限细分的特点。通过递归、迭代等简单...

    Cantor集算法实现

    它通常从一个闭区间[0, 1]开始,将该区间分成三个等份,去掉中间三分之一,然后对剩下的每个子区间重复这个过程。不断进行下去,得到的集合就是Cantor集。在无限次迭代后,尽管原始区间内的大部分点被移除,但仍有一...

    Cantor集算法

    康托尔集的构造过程基于迭代去分法,简单来说,就是通过一系列的去除操作,将一个区间逐步分割并剔除中间部分,最终形成一个不可数但具有零测度的集合。下面我们将详细探讨其构造过程和特点: 1. **构造步骤:** -...

    一类齐次Cantor集的Hausdorff测度 (2005年)

    用一种比较初等的方法估计了一类齐次Cantor集的Hausdorff测度的下限,再用k阶基本区间作为覆盖类估计了该类齐次Cantor集的上限,从而得到了该类齐次Cantor集的HausdorfF测度的准确值.

    分形插值算法和MATLAB实验.pdf

    Cantor 三分集的递归算法设计为构造一个函数为Cantor(ax,ay,bx,by),其中(ax,ay)和(bx,by)分别代表初始位置端点的坐标。取 err 为递归终止的极小量,取 h 为不同层次线段之间的距离,且设出(cx,cy)和(dx,dy)如图3.1...

    间隔序列与拟对称映射

    在直线上,Cantor三分集是一个典型的例子,其间隔序列表现为一系列按照长度递减排列的数。 在更一般的度量空间中,间隔序列的定义进一步推广。引入了α-连通分支的概念,即在度量空间(X,δ)的子集A中,任意两点x和y...

    Matlab.rar_cantor_cantor 分形

    Cantor集是分形理论中的一个经典例子,由19世纪末的德国数学家Georg Cantor提出,它展示了无限去除了中间三分之一部分的集合。在计算机科学和信息技术中,分形的概念被广泛应用于图像处理、数据压缩、网络设计等多个...

    递归画分形(cantor,kock,siepinski)

    它通过迭代过程从一个区间逐步移除中间三分之一部分构建而成。在编程中,我们可以通过以下步骤实现递归绘制 Cantor 集: 1. 定义一个函数,接受一个区间 [a, b] 作为参数。 2. 如果区间长度小于或等于某个阈值...

    s-拟C antor集的构造及其特性 (2012年)

    文章在传统康托尔(Cantor)三分集构造的基础上,应用中心删去法重新构造了更为一般的 s-拟Cantor集。此外,讨论了该s-拟Cantor集的一些特殊性质。事实表明,该s-拟Cantor集保持了传统Cantor集较好的特性,但其测度却...

    关于Hausdorff测度定义的探讨 (2004年)

    例如,对于Cantor三分集,运用新的定义计算得到的维数与原来计算的结果相同,说明了新定义的有效性和适用性。 综上所述,盛宝怀的工作在保持Hausdorff测度的基本性质的同时,通过引入维数函数h和利用Luxemburg范数...

    求解Cantor集上波动方程和扩散方程的局部分式级数展开法。

    Cantor集的构造是通过不断删除线段中间第三分之一的区间来得到的,从而创造出一个没有长度但具有复杂结构的点集。在数学中,Cantor集常用来作为研究分形理论和奇异函数的模型。在物理学中,某些现象(如分形介质中的...

    Cantor集合上的连续自映射 (1995年)

    Cantor集合是数学中的一个经典对象,它是由实数集合中的[0,1]区间中删除中间第三分位数的无限过程所形成的完全不可数的点集合。在这一集合上研究自映射,我们可以更好地理解复杂动态系统的性质和行为。具体知识点...

    从康托集到分形.pdf

    最初,我们有一个闭区间\[0,1\],然后去掉中间的三分之一,留下两个闭区间\[0,\frac{1}{3}\]和\[\frac{2}{3},1\],接着再从每个剩下的区间去掉中间的三分之一,如此反复下去。最终形成的集合就是康托集。 康托集...

Global site tag (gtag.js) - Google Analytics