科学网

 找回密码
  注册

tag 标签: 分数维

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

在维与维之间 —— 分形图形(包含小数的维)
热度 1 readnet 2011-2-22 00:32
在维与维之间 —— 分形图形(包含小数的维)
以前所谈到的维度都是用“0”或大于“0”的整数(0,1,2,3,…)来按顺序下定义。 其实,也可以 按照小数点以下的分数来顺序定义维 ,而且的确也有这样定义的维。 以立方体为例, 把立方体增大至原来的2倍, 那就是每个 边长变为原来的2(2^1)倍, 表面积变为原来的4(2^2)倍, 体积变为原来的8(2^3)倍。 可以看出,这里的指数同维度数是一致的。 利用这个性质, 德国数学家菲勒克斯·豪斯多夫(1868-1942) 提出了一种新的定义维的方法 , 其基本意思是: “ 把图形放大到原来的x倍, 如果某个量因此而变为原来的x^n倍, 那么就确定这个量是n维 ”。 按照这个定义所确定的维度有一个专门名称,叫做“ 豪斯多夫维 ”。 按照豪斯多夫维,通常的直线或曲线是一维,通常的平面图形是二维,维数仍然是整数。 但是, 有一类被称为“ 分形 ”的特殊图形,它们的豪斯多夫维就 不是整数 。 所谓分形,也可以说是具有“自相似性”的图形 , 将 其无论怎样放大,所得到的图形 在整体上都与原来的图形具有相同的结构 。 海岸线、山脉、云朵等都是自然界中分形的实例。 最经典的分形例子叫“谢宾斯基三角形”。 Sierpinski(谢宾斯基)三角形,其中蕴含涉及 数列 等非常有趣的、多方面知识。在附图中的三角形,可称作谢宾斯基。 在图示5个三角形中,黑色三角形的个数依次构成一个数列的前5项。在以上5个三角形中,黑色三角形的个数依次为1,3,9,27,81。 该数列的前四项都是3的指数幂,且指数为序号减去1。因此,该数列的通项公式可表示为: An=3^(n-1)            这个图形的豪斯多夫维是大约1.58维 将这个图形放大至原来的2倍,结果得到的是原来3个图形拼合起来的图形。 这就是说,图形放大到原来的2倍,面积增加到原来的3倍。 我们知道,2^(1.58)≈3,因此这个图形的豪斯多夫维是大约1.58维。 在维和维之间还存在着分形图形 分形 ( Fractal ) 一词的创始人,美国数学家 Mandelbrot 1967 年在 Science 上发表了著名的文章《英国海岸线有多长》( how Long Is The Coast Of Britain ),从此使“分形”的概念变得十分流行。 什么是分形呢?简单地说,就是说自然中存在的线、面、体,并不像古希腊人和欧氏几何期望的那样是光滑平整的,而是“坑坑洼洼”的 。 Mandelbrot 有一句名言:“ 云彩不是球体,山岭不是锥体,海岸线不是圆周,树皮并不光滑,闪电更不是沿着直线传播的 。 扩展阅读: 蒋迅的博客   蒋迅的个人博客 › TA的所有博文 › 查看博文 大自然创作的分形艺术 数学上的 分形 ( Fractal ) 是指“一个粗糙或零碎的几何形状,可以分成数个部分,且每一部分都(至少会大略)是整体缩小尺寸的形状”。数学家们已经创作出许多美丽的分形图案,有一个网站 Fractal Animation ,专门收集分形的视屏。我国还分形频道: http://www.fractal.cn/net/ 。 在自然界里也有许多分形的事物。 连线 给出了一组大自然创作的分形艺术,转到这里。如果你喜欢的话,一定要看 连线 的原文,那里有更多的图片,还有讲解。 绿菜花 (Romanesco Broccoli) Source: Flickr/ Tin.G 盐硷地 (Salt Flats) Source:Flickr/ Tolka Rover 鹦鹉螺化石 (Ammonite Sutures) Source: Flickr/ cobalt123 群山 (Mountains) Source: NASA/GSFC/JPL, MISR Team. 蕨类植物 (Ferns) Source: Flickr/ cobalt123 云彩 (Clouds) Source: Jeff Schmaltz/ MODIS Land Rapid Response Team/NASA 叶子 (Leaves) Source: Flickr/ CatDancing 峡谷 (Canyons) Source: GeoEye/Space Imaging 闪电 (Lightning) Source: Flickr/ thefost 孔雀羽毛 (Peacock Feathers) Source: Flickr/ Digimist 雪花 (Snowflakes) Source: Flickr/ mommamia 瀑布 (Waterfall) Source: Flickr/ catdancing 三角洲 (River Delta) Source: NASA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 分形学:可以无穷放大的 Mandelbrot Set (曼德布洛特集) VC 源代码 转自我的博客: http://hi.baidu.com/yangw80/blog/item/287321115efb8c70cb80c41d.html 基于上篇文章 Mandelbrot Set (曼德布洛特集) 的源代码: http://hi.baidu.com/yangw80/blog/item/eeecc6fb2c4d7f186c22eb23.html 我修改了几个地方: 1. 修改了颜色,使用黑-蓝-白-棕-黑这样的渐变颜色方案(当然,大家可以修改 InitColor() 函数改变配色方案) 2. 增加了放大鼠标选中区域的功能。按鼠标中键可以恢复原尺寸。 3. 将迭代次数提了出来,定义了常量。如果需要绘制更精细的图,请加大常量 ITERATIONS。不过越大绘制的越慢。精细程度开始看不出来,放大次数多了就明显了。 4. 理论上是可以无穷放大,但实际受 double 类型精度的影响,放大到一定程度就会是马赛克了。 先看看逐步放大的效果吧: 另一个位置的逐步放大效果: 代码如下: // 需要安装 EasyX 库,Visual C++ 6.0 编译通过 #include graphics.h #include conio.h // 定义常量 #define ITERATIONS 1000 // 迭代次数,越高,图像越精细 #define MAXCOLOR 64 // 颜色数 ///////////////////////////////////////////////// // 定义复数及乘、加运算 ///////////////////////////////////////////////// // 定义复数 struct COMPLEX { double re; double im; }; // 定义复数“乘”运算 COMPLEX operator * (COMPLEX a, COMPLEX b) { COMPLEX c; c.re = a.re * b.re - a.im * b.im; c.im = a.im * b.re + a.re * b.im; return c; } // 定义复数“加”运算 COMPLEX operator + (COMPLEX a, COMPLEX b) { COMPLEX c; c.re = a.re + b.re; c.im = a.im + b.im; return c; } ///////////////////////////////////////////////// // 定义颜色及初始化颜色 ///////////////////////////////////////////////// // 定义颜色 int Color ; // 初始化颜色 void InitColor() { // 使用 HSL 颜色模式产生角度 h1 到 h2 的渐变色 int h1 = 240, h2 = 30; for(int i=0; iMAXCOLOR/2; i++) { Color = HSLtoRGB((float)h1, 1.0f, i * 2.0f / MAXCOLOR); Color = HSLtoRGB((float)h2, 1.0f, i * 2.0f / MAXCOLOR); } 2 分形学:可以无穷放大的 Mandelbrot Set (曼德布洛特集) VC 源代码 } ///////////////////////////////////////////////// // 绘制 Mandelbrot Set (曼德布洛特集) ///////////////////////////////////////////////// void Draw(double fromx, double fromy, double tox, double toy) { COMPLEX z, c; for(int x=0; x640; x++) { c.re = fromx + (tox - fromx) * (x / 640.0); for(int y=0; y480; y++) { c.im = fromy + (toy - fromy) * (y / 480.0); z.re = z.im = 0; for(int k=0; kITERATIONS; k++) { if ( z.re*z.re + z.im*z.im 4.0 ) break; z = z * z + c; } putpixel(x, y, (k = ITERATIONS) ? 0 : Color ); } } } ///////////////////////////////////////////////// // 主函数 ///////////////////////////////////////////////// void main() { // 初始化绘图窗口及颜色 initgraph(640, 480); InitColor(); // 初始化 Mandelbrot Set(曼德布洛特集)坐标系 double fromx, fromy, tox, toy; fromx = -2.1; tox = 1.1; fromy = -1.2; toy = 1.2; Draw(fromx, fromy, tox, toy); // 捕获鼠标操作,实现放大鼠标选中区域 MOUSEMSG m; bool isLDown = false; int selfx, selfy, seltx, selty; // 定义选区 while(!kbhit()) { m = GetMouseMsg(); // 获取一条鼠标消息 switch(m.uMsg) { // 按鼠标中键恢复原图形坐标系 case WM_MBUTTONUP: fromx = -2.1; tox = 1.1; 3 分形学:可以无穷放大的 Mandelbrot Set (曼德布洛特集) VC 源代码 fromy = -1.2; toy = 1.2; Draw(fromx, fromy, tox, toy); break; // 按鼠标左键并拖动,选择区域 case WM_MOUSEMOVE: if (isLDown) { rectangle(selfx, selfy, seltx, selty); seltx = m.x; selty = m.y; rectangle(selfx, selfy, seltx, selty); } break; // 按鼠标左键并拖动,选择区域 case WM_LBUTTONDOWN: setcolor(WHITE); setwritemode(R2_XORPEN); isLDown = true; selfx = seltx = m.x; selfy = selty = m.y; rectangle(selfx, selfy, seltx, selty); break; // 按鼠标左键并拖动,选择区域 case WM_LBUTTONUP: rectangle(selfx, selfy, seltx, selty); setwritemode(R2_COPYPEN); 4 分形学:可以无穷放大的 Mandelbrot Set (曼德布洛特集) VC 源代码 isLDown = false; seltx = m.x; selty = m.y; if (selfx == seltx || selfy == selty) break; // 修正选区为 4:3 int tmp; if (selfx seltx) {tmp = selfx; selfx = seltx; seltx = tmp;} if (selfy selty) {tmp = selfy; selfy = selty; selty = tmp;} if ( (seltx - selfx) * 0.75 (selty - selfy) ) { selty += (3 - (selty - selfy) % 3); selfx -= (selty - selfy) / 3 * 4 / 2 - (seltx - selfx) / 2; seltx = selfx + (selty - selfy) / 3 * 4; } else { seltx += (4 - (seltx - selfx) % 4); selfy -= (seltx - selfx) * 3 / 4 / 2 - (selty - selfy ) / 2; selty = selfy + (seltx - selfx ) * 3 / 4; } // 更新坐标系 double f, t; f = fromx + (tox - fromx) * selfx / 640; t = fromx + (tox - fromx) * seltx / 640; fromx = f; tox = t; f = fromy + (toy - fromy) * selfy / 480; t = fromy + (toy - fromy) * selty / 480; fromy = f; toy = t; // 画图形 Draw(fromx, fromy, tox, toy); break; } } getch(); closegraph(); } 扩展阅读:   有关美国哈佛大学丽莎•兰道尔背景资料 ==  ★  ==   超弦论的研究进展(Developments in Superstring Theory) http://bbs.sciencenet.cn/home.php?mod=spaceuid=289142do=blogid=412977
个人分类: 科学八卦|5760 次阅读|4 个评论
关于分形与自相似的一些笔记
热度 3 supermac 2010-11-4 13:16
最近在研究复杂网络的分形和自相似问题时遇到了很多困惑,在这里把思路整理一下。 基本理论 分形理论首先是一门数学,但由于可作为描述系统科学中很多问题的强有力工具因而被视为一种重要的系统理论。传统的几何学只研究规则齐整的形状,即整形。但是现实世界中存在大量不规则、不整齐的琐碎形状,因而简单性科学是无法描述他们的,这样的复杂几何现象引起了人们的注意并由此诞生了分形几何学,分形理论逐步发展成熟。 大自然中存在着大量的分形现象,我们称之为自然分形。一个典型问题即为 Mandelbrot 提出的英国海岸线有多长?由于海岸线是由大大小小的曲折嵌套而成的,所以不同的测度单位会带来计算结果的巨大差异。同样,山川河流也都具有分形特征,主脉分出支脉,大支脉嵌套小支脉(或支流)。山的表面既不是平面也非光滑曲面,同样,水的表面也不是绝对平面。 数学家用数学的方法造出的分形则称为数学分形,比如对某个规则整形按照一定的规则进行变换,以产生更多更深层次的细节,使得图形越来越纷繁、琐碎、复杂。典型的例子有康托尘埃、科赫曲线、谢尔宾斯基垫子、谢尔宾斯基海绵等等。这样的生成规则也不一定是完全确定的,可以加入一定的随机因子,按照概率使用某些规则,可以生成更复杂同时更接近自然分形的图案来。 分形与自相似 分形至今没有一个严格的定义,常用通俗的描述来解释分形。一般认为,分形具有不规整性、层次嵌套性和自相似性。 按照 Mandelbrot 的定义, fractal is a rough or fragmented geometric shape that can be split into parts, each of which is (at least approximately) a reduced-size copy of the whole (Mandelbrot, B.B. 1982) 。这样的定义就默认了分形特征是一种 a property called self-similarity ,也就是说分形中包括了自相似。 所谓自相似,是一种尺度变换下的不变性 (scale-invariance) ,即在不同尺度下观察分形可以看到近似相同的形象,若把整个对象的局部放大,再把局部的局部放大,都可以看到相似的结构特征。但是这种自相似并不像整形的相似那么严格,允许相似中的不相似,不需要也不可能完全相同。比如,科赫曲线,整体是闭合的,但任一部分都不是封闭曲线。分形自相似意味着部分与整体有一样的复杂性:一样曲折、琐碎、纷乱、不规整、不光滑。并且,分形的部分与部分之间也是相似的。山重水复疑无路就是从审美的角度对山水分形中的自相似的描述,以至于让外人只看到相同之处而难以了解细微的差别,便生出迷路的疑惑。 整数维与分数维 我们都知道传统几何中点、线、面、体分别是 0 、 1 、 2 、 3 维的,这里的维数都是非负整数,故称为整数维或者拓扑维。但是分形几何对象的独特属性是不能用整数维来描述的,特别是其不规则性和复杂性,如科赫曲线在性质上不同于一维曲线但也远非二维的面。因此, Mandelbrot 引入分数维来刻画分形对象的不规则程度和复杂性程度。设 为b几何对象, a为单位线段,令 D 为分数维,定义 ,则 D=logb/loga 。 分形时间序列 查到的关于分形时间序列的文献大多是金融时间序列,这是已被公认为分形布朗运动的一种时间序列。分形布朗运动是统计自相似的,具有长期记忆性的,也就是说有一种记忆效应使得未来的变化趋势与现在相同。这种长期相关性可由相关指数 Hurst 指数表征,当H=0.5 时,序列是完全随机的;当H0.5 时,序列具有长期相关性,未来的发展趋势倾向于和过去相同;而当H0.5 时,序列是反相关的,未来的发展趋势倾向于与过去相反。分形维数可由 Hurst 指数求出,定义: 时间尺度分形维:Df=2-H. 概率空间分形维:Dp=1/H.
个人分类: 科研资料|17729 次阅读|6 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-1 14:23

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部