您还没有登陆到CGPAD.COM   现在登录   注册新用户
搜索 CGPAD.COM
 
 
 
张友邦    尘世如潮人如水 只叹江湖几人回
 http://span.cgpad.com
 
 
   空间首页  生活日记  原创作品  博客文章  共享资源  新闻网摘  我的收藏  社区活动  博客留言   进入后台
 
 
极限集分形的可视化 - Mendelbrot方法和Apollonian Gasket
分类:分形艺术   发表:2008-09-17 13:45:25   点击:3133   回复:2
在第一篇文章(有限集分形的可视化 - 从Circle Inversion说起)中,我给大家介绍了CI (Circle Inversion)的一些基本情况,包括一个基于IFS迭代的生成方法。对于C1到Cn这n个CI,我们把他们看成一组迭代函数,从而可以从一般情况下通过IFS得到其吸引子:L(C1, C2, ..., Cn),这是一个极限集。 

但是采用IFS的方法得到的是一个混沌的结构,我们很难进行一些有意思的展现。Mandelbrot提出了一种快速找到极限集的方法,不过只能针对某些情况才适用,其中一个典型的例子便是Apollonian Gasket。下面我们针对一个简单的例子来讲述Mandelbrot的方法:



这里,有五个CI,分别是C1 ~ C5这五个Circle给出的。他们成tangent关系,也就是相交的两个圆只有一个交点,交点处的切线重合(但方向不同)。

Mandelbrot方法的第一步是要找出包含所有极限点的圆,这里可以很容易的得出是S1,它和C1、C2、C3、C4正交。实际上,L(C1, C2, C3, C4) = S1。类似的,L(C1, C2, C5) = S2, L(C2, C3, C5) = S3, L(C3, C4, C5) = S4, L(C4, C1, C5) = S5。这样可以得出,L(C1, C2, C3, C4, C5)包含S1、S2、S3、S4、S5。实际上,整个极限集都包含在S1内,而在S2、S3、S4之外。这就完成了第一步,实际上我们已经完成了两步:找到bounded circle以及第一批不包含任何极限点的圆。



这是填充了颜色后的结构,其中白色的大圆就是S1,而蓝色的四个小圆就是S2、S3、S4。剩下的几个红色的圆是由四个蓝色的小圆Inverse得到的,他们也不包含任何极限点。接下来是迭代,也就是重复这个动作。对红色的小圆进行Inverse得到更多的不好含任何极限点的圆,一直这样排除下去。



而最终的极限集是这样的:




标签:
 
附件:
 
声明:CGPAD文章版权属于作者,受法律保护。没有作者书面许可不得转载。
 
评论或跟帖
 

#1 lc20611103 (修道小妖) 2011-02-27 17:01:18
谢谢!学习到一些了。不知在apophysis里有没这个变换,或者可以用某些变换能达到这个效果?
 

#2 lc20611103 (修道小妖) 2011-03-20 18:53:22
 
 
 
版权所有 © 2005-2008 CGPAD.COM,湘ICP备07500998号,兼容浏览器:IE6IE7FireFoxOperaSafariChrome
Total Requests: 5255269, Total Visits: 3068185, Processing Time: 46ms,