朱利亚集合
简介
朱利亚集合(又译为茹利亚集合,英语:Julia set)是一个在複平面上形成分形的点的集合。以法国数学家加斯顿·朱利亚(Gaston Julia)的名字命名。
定义
朱利亚集合可以由下式进行反覆叠代得到:
.
对于固定的複数c,取某一z值(如z = z0),可以得到序列
示例
图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;}
本文由'法慧高原'发布,不代表演示站立场,转载/删除联系作者,如需删除请-> 关于侵权处理说明。