“无规则的碎片” “魔鬼的聚合物” “上帝的指纹”
Mandelbrot集合有着多种称谓,那么什么是曼德勃罗特集?Mandelbrot集合可以用复二次多项式:
f c ( z ) = z 2 + c f_c(z)=z^2+c fc(z)=z2+c
来表示,其中c是一个复数。对于每一个c,从z=0,开始对 f c ( z ) f_c(z) fc(z)进行迭代。序列:
( 0 , f c ( 0 ) , f c ( f c ( 0 ) ) , f c ( f c ( f c ( 0 ) ) ) , … ) (0,f_c(0),f_c(f_c(0)),f_c(f_c(f_c(0))),\dots) (0,fc(0),fc(fc(0)),fc(fc(fc(0))),…)
的元素的模或者延伸到无穷大,或者只停留在有限半径的圆盘内。Mandelbrot集合就是使以上序列不延伸至无限大的所有c点的集合。
在复平面上,将所有属于Mandelbrot集合的点标记为黑色,将所有不属于集合的点按照其发散速度赋予不同的颜色,就可以得到Mandelbrot的经典图像:
从图像Mandelbrot集合的边缘无限放大,可以不断看到各种各样的分形结构,注意这里图上的标号,会和后面的各个例子一一对应。这里先给出这个全貌图的绘制代码(此代码参考mathworks官网):
maxIterations=800;
gridSize=1000;
xlim=[-2 1];
ylim=[-1.5 1.5];
% Setup
x=linspace(xlim(1),xlim(2),gridSize);
y=linspace(ylim(1),ylim(2),gridSize);
[xGrid,yGrid]=meshgrid(x,y);
z0=xGrid+1i*yGrid;
count=ones(size(z0));
% Calculate
z=z0;
for n=0:maxIterations
z=z.*z+z0;
inside=abs(z)
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?