1. 首页 > 经验  > 正文

朱利亚集合

朱利亚集合一个在複平面上形成分形的点的集合。以法国数学家加斯顿·朱利亚(Gaston Julia)的名字命名

基本介绍

中文:朱利亚集合外文名:Julia set

简介

朱利亚集合(又译为茹利亚集合,英语:Julia set)是一个在複平面上形成分形的点的集合。以法国数学家加斯顿·朱利亚(Gaston Julia)的名字命名。

定义

朱利亚集合可以由下式进行反覆叠代得到:
.
对于固定的複数c,取某一z值(如z = z0),可以得到序列
这一序列可能反散于无穷大或始终处于某一範围之内并收敛于某一值。我们将使其不扩散的z值的集合称为朱利亚集合。

示例

下面各图显示了c取不同值时所得到的不同的朱利亚集合在複平面上的图像

图1.示例图图1.示例图

c++语言代码

#include<graphics.h>#include<conio.h>#include<time.h>//视窗大小#defineWINDOWS_WIDTH640#defineWINDOWS_HEIGHT480//定义複数structCOMPLEX{doublere;doubleim;};//定义複数“乘”运算COMPLEXoperator*(COMPLEXa,COMPLEXb){COMPLEXc;c.re=a.re*b.re-a.im*b.im;c.im=a.im*b.re+a.re*b.im;returnc;}//定义複数“加”运算COMPLEXoperator+(COMPLEXa,COMPLEXb){COMPLEXc;c.re=a.re+b.re;c.im=a.im+b.im;returnc;}intmain(){floatre[]={-0.75,0.45,0.285,-0.8,-0.835,-0.70176};floatim[]={0,-0.1428,0.01,0,0.156,-0.2321,-0.3842};//设定视窗大小initgraph(WINDOWS_WIDTH,WINDOWS_HEIGHT);//绘製JuliaSetCOMPLEXz,c;//设定叠代初值c.re=-0.75,c.im=0;inti,j,k;for(i=0;i<WINDOWS_WIDTH;i++){for(j=0;j<WINDOWS_HEIGHT;j++){z.re=-1.6+3.2*(i/(float)WINDOWS_WIDTH);z.im=-1.2+2.4*(j/(float)WINDOWS_HEIGHT);for(k=0;k<180;k++){if(z.re*z.re+z.im*z.im>4.0){break;}z=z*z+c;putpixel(i,j,(k>=180)?0:HSLtoRGB((float)((k<<5)%360),1.0,0.5));}}}//按任意退出getch();closegraph();return0;}

本文由'法慧高原'发布,不代表演示站立场,转载/删除联系作者,如需删除请-> 关于侵权处理说明