Z轴n个=(Z(n-1))^2+C

哪里Z轴C复数而C是常数,的曼德尔布罗特 设置是一组数字Z轴0其中Zn个有界。也就是说,对于任何值n,包括无穷大Zn个不是无限的。

如果要计算哪些点是Mandelbrot集的一部分,可以迭代数百次,并检查当前Z的绝对值是否大于某些任意数字,如2。

它与朱莉娅·塞特.julia集中的变量是C和Z0对于julia集上的任何点都是常数。如果从Mandelbrot集的表示中获取点,可以使用其值Z为其创建Julia集0并在C的复杂平面上绘制。有一些程序可以这样做,例如X屏幕保护程序包裹。

Mandelbrot集合的计算机生成表示通常是丰富多彩的,而集合的技术定义只允许两种表示状态:成员身份和非成员身份。颜色通常来自迭代Z需要多少时间n个超过一些价值(表明指向不是成员)或Z的值n个和一些任意的n.例如,如果abs(Zn个)小于2,假设它是一个成员并将其涂成黑色。如果它在2到3之间,就把它涂成红色。3-4,橙色;4-5,绿色;5-6,蓝色;6-100,靛蓝;100无限,紫色(数字为从空中拉出不应被视为建议)。

我叔叔邀请了伯努瓦·曼德勃罗去他家一次。他派儿子去机场接曼德尔布罗特,只是他不知道曼德尔布罗长什么样。所以他画了一个近似曼德布洛特(Mandelbrot)在一块牌子上立了起来。果然数学家认出了它,找到了他的车。

要对曼德尔布罗特集,做两个嵌套循环过滤从r=-1到1和i=-1到小1增量s、 比如0.005。映射每个(r,i)坐标像素(x,y)在屏幕.

让z成为a复数然后,对于每个像素,计算可以使用的次数广场在z之前加上(r,i)得到一个新的z绝对值大于例如2。确保在这个循环上设置一个上限,因为对于(r,i)的某些组合,z的绝对值永远不会超过2。

使用以下公式:
z(z)第页=z第页2-z2+对
z(z)=2赫兹第页z(z)+我
确保使用古老的z(z)第页在第二个公式中,而不是你刚才计算的那个。

现在,根据循环被照亮的次数选择有问题像素的颜色,并将其放在屏幕上。如果循环达到上限,则将颜色设为黑色。

稍等片刻,你就会有一个漂亮的曼德布罗特分形在你的屏幕上。

好的,这里有一个大概的想法:

:::::::::::::::::::. ,X2222222222SS2522222222.2222222252h#@@@#2rA9s29;s29@@@&2S5552222222222252222::::::::::::::::::. G#922222225S22222222222522222253H@@S:G@S.@GAi@@@AX5S5S22222222222型:::::::::::::::::. HHX222252S222222222225225X&@@S.i@HX@,@@@A@;G@HX22S5222222222号::::::::::::::::. #AX222SS2222222222522222222.22222222h#@G2。小时@3i@X@3 r.@G X A@92222SS222222:::::::::::::::. #A222S52222222222252222222202222222X和@@M#@AX9@安@@。r,@@;M@@i@A52222S5222222::::::::::::::. MA22Si2222222222522222222.22222229M@@r 3@#HHsMr,r@;9@2M@@:@@&22222 i52222:::::::::::::, AHX5S2222222222222222222252A@X#@@@HA9 r@9@@@@@H、 #r2r2H@@Ar.@A522222S222::::::::::::,5MXS522222222222522222222,22222229#@@r:3@@@;r2@r邮箱:@@@@@@@3@@.,h#@@@252222222S2号::::::::::::,#3SX22222222222522222222,2222222202和@@3.@@@@@&2:@@@5,M#@#:.@@:2M@@@@h5222222S电话::::::::::::,@hS222222222225225XH@@。i@@@@@.9B::#,@@@@@9@#h@@@#:@M、 @35222222::::::::::::iB52222222222252XGH#。2@@@@#AA#@.@@.@@@@@@@@@@@@@@@@@@@@@@3@@#、&@A.@222222::::::::::,@2222222222 523和A@2;S、 H(H)@@#GXX3G@3。#@H.2@@@@@@@@@@@@@@@@@@@@@@@@@。B9X##222222::::;:::iA22222252XhM@@@9,r@H#B@5Mi9X;99 X,@@i.H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@3@@@@@h52222::::::::,#G2252GM@@@M 3s@@G G@5@r&@::@@s 9@@@@@@@@@@@@@@@@:::::::::.:M229H@@rS rBHAA9#A电话:hh:;@@@@@,@@@@@@,@@@@@@@@@@@@@@@@@@@:@:@X2222型::::::::::::::::iB&@@25 r@@G2S5 r@#。;第5段。电子邮箱:@@@@@@@@@@@@@@@@@@@@@,@@5222::::;:::B@@;s@@GSii#@@:@@@@@@@@,@@@@@@@@@@@@@@,@@@@@@@@@@@@@@@@@@@@1@@@@@#M: @2222::::::::@@i@@@##B@@;#@@@;A@@@@@@@@@@@@@h@:@和222::::::::,@&@22 5@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::::.;邮箱:@@@@@@@r5@@@S。A@@@@@@@@@@@@@@@@@电子邮箱:@222::::::::.;@r#235 r rr、.、,2M@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@222::::::::.;29@@@@@@@@  :@; 先生,sr@@@@@@@@@,@@@@@@@@@@@,@@@@@@@@@,@@@@@@@@@@@@@@222::::::::, @       ;@@53 5&h@S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::::@@X@@HG29@@@@@i A@@@@@@@@@G r@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@3222:::::::::3#@H.M@#XSss#A@r G@s3G@@X@r@@@@@@@@@@@@@@@@@@@@@@@@@@@@;S@@,@5222::::::::rB3B@#sA@BG29;M@i,,,,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,@@@@@2@@:@BS222:::::::::,.@X2XA@@@;。3@##rs,@9.h@#@h3@@@M 5@@@@@@@@@@@@@@@@@@@@@@:M@@@22222::::::::::::B&222222 A@@@B:。.B@A;G,SM@@sh,3@#@@@@@@@@@@@@@@@@@@@S;#;@@秒@52222::::::::::.;BX2222222223AB#@@B。9@@@@&SrsSMX@rs@,电话:9@@@@@@@@@@@@@@@@@溴#@922222::::::::::,#32222222222252GA#@:。上午@@MG3XA@#@@X#@@@@@@@@@@@@@@@@@@@@@@@i@@@3:9MA@H522222::::::::::::#52222222222252222222S23@#X:G@@@HH@@3@:H@@.5@@@@@@@@@@@@@@@@:S@A BA2222222:::::::::::::::::::,AH52222222222222222222XA@A;     #H@@@@s5S,rM#i:@2S5小时@isS@22222222::::::::::::. #G522222222222.2222222252G@@。rX@@@@sr@@@@##,@@@@M@@H r H@@@s M2522222i5:::::::::::::::@955222222222122222222225G@@s#@@2 r@#r@@@@@S@@r:##@@@H,@92222222::::::::::::,s#32522222222222522222222 2222222h#@@;h@@@@;G@。,A@@A G5HGB@@H 2@3222225S222::::::::::::::, 5M322S222222222225222222220222222XA@h9M(M)#M93r@Hs   @. HMX@@@,,@#32225S22222:::::::::::::::,2M322SS2222222222522222222.22222223A@@S;.:M@&iM r@H@@H#3@@&2222222222222::::::::::::;:::,5#922225S222222222225222222252h#@H;第页@HXHG@。r5;M@r B@G2222S52222222 2222::::::::::::∶::::::,r@h2222255S222222222225222222232222222H@@@@@@iS 3M#@@:@@MX225S522222222222::::::::::::::::::, .X2222222255522222222222522222222022222222和@@@@#X#29M22.AX@@@A255552222222222
(图像由我生成Aros分形和ASCII编码方式阿斯原.)
这个Mandelbrot集合通过应用迭代复数平面上数字的数学公式。例如Take复数c=x+yi。从零开始。每次迭代时,将数字平方并加上c。如果该值趋于无穷大(如果模数的(与原点的距离)大于4无穷)那么c不是Mandelbrot集合。如果经过多次迭代后数字仍然较小,则该数字可能是集合的成员。

例如c=0+0i
i=0,n=0,n=n^2+c=>n=0
i=1,n=0,n=n^2+c=>n=0
这是一个成员,它永远不会去无穷.

例如c=-1+0i
i=0,n=0,n=n^2+c=>n=-1
i=1,n=-1,n=n^2+c=>n=0
i=2,n=0,n=n^2+c=>n=-1
i=3,n=-1,n=n^2+c=>n=0
这是一个成员,它永远不会去无穷.

例如c=1+0i
i=0,n=0,n=n ^2+c=>n=1
i=1,n=1,n=n ^2+c=>n=2
i=2,n=2,n=n ^2+c=>n=5
这不是一个成员,它将转到无穷.

当观看边缘的有趣区域时,会生成漂亮的图片分形.颜色取决于现有数字到达无穷大的速度。您可以生成ascii公司 Mandelbrot集合带有以下代码的图片。

快速基础课程复数算术:
i是-1的平方根。所以i^2=-1。
设c=x+yi,然后c^2=x^2+2xyi-y^2。

#包括<stdio.h>#定义SWIDTH 79#定义SHEIGHT 47#定义MINX-2.0#定义MINY 0#定义MAXX 0.5#定义MAXY 1.5#定义DIFX 2.5#定义DIFY 1.5#定义MAXIT 64char shades&#91 38&#93=“..^^:://II&&@@***%%$$###”;整数iter(双r,双i){整数foo=0;双rr,ii,zr,zi;rr=ii=zi=zr=0.0;而(foo<MAXIT&&rr+ii<4){foo++;zi=2*zr*zi+i;zr=rr-ii+r;rr=zr*zr;ii=zi*zi;/*打印f(“%d%f%f%f%f%f%f\n”,foo,r,i,zr,zi,rr,ii);*/}返回foo;}main(){整数x,y,i;双xp,yp;对于(y=0;y<=高度;y++){xp=(双)y*DIFX/(双)SHEIGHT+MINX;对于(x=0;x<SWIDTH;x++){yp=(双)x*DIFY/(双)SWIDTH+MINY;i=iter(xp,yp);printf(“%c”,阴影&#91 i%32&#93);}printf(“\n”);}}

以下是一些Visual Basic我为绘制Mandelbrot集合.

分形模.vb:

导入系统。组件模型导入系统。图纸公共类主窗体继承系统。窗户。形式。表格Private RealMax,RealMin为Double私有ImaginaryMax,ImaginaryMin为双精度私有MandelPicture作为位图私有IsDraging As BooleanPrivate DragRect作为矩形专用距离为整数专用鼠标勾选为整数私有CalcTime作为单个公共子新闻()MyBase。新建()MainForm=我初始化组件()实际最大值=0.75实际最小值=-2.25图像最大值=1.5图像最小值=-1.5显示()计算()结束Sub受保护的重载覆盖子处置(ByVal处置为布尔值)如果处置,那么如果不是(组件什么都不是)那么组件。处置()End If(结束条件)End If(结束条件)MyBase。处置(处置)结束Sub私有子计算()尺寸p,q为整数Dim pMax,qMax为整数Dim MandelValue为整数Dim MandelColour作为颜色Dim ColourMultiplier作为整数Dim StopWatch As DateTime=日期时间。现在MandelPicture=新位图(Picture.Width、Picture.Height)pMax=图片。宽度qMax=图片。高度ColourMultiplier=CInt(256/迭代)对于p=0到pMax-1对于q=0到qMax-1MandelValue=(ColourMultiplier*GetMandel(缩放比例(pMax,p_RealMin、RealMax)、ScaleIt(qMax、q、ImaginaryMin、_图像最大值)-1MandelColour=颜色。FromArgb(曼德尔值,曼德尔值_MandelValue)曼德尔图片。设置像素(p、q、MandelColour)下一步状态。文本=Int(p/pMax*100)&“%”下一步图片。图像=MandelPictureCalcTime=CSng(DateDiff(Microsoft.VisualBasic.DateInterval.Second_StopWatch、DateTime。现在))PutViewportInStatus(实际最小值、实际最大值、图像最小值、图像最大值、_计算时间)结束SubPrivate Sub Picture_MouseMove(ByVal发件人作为对象,ByVal e作为_系统。窗户。表格。MouseEventArgs)处理图片。鼠标移动Dim TempPic作为图像Dim MyGfx As图形将我的笔变暗为新笔(Color.FromKnownColor(_图纸。KnownColor(已知颜色)。印度报告),1)如果是拖动,则如果e.X-DragRect。左>e.Y-DragRect。然后是顶部距离=e.X-DragRect。左侧其他距离=e.Y-DragRect。顶部End If(结束条件)如果MouseTick>5 Then'仅每移动5像素绘制一次鼠标勾选=0TempPic=MandelPicture。克隆(_系统。图纸。矩形。从LTRB(0,0,MandelPicture.Width_曼德尔图片。高度),图纸。成像。像素格式。不要担心)MyGfx=图形。从图像(TempPic)我的Gfx。DrawRectangle(MyPen、DragRect.Left、DragRect.Top、_距离,距离)图片。图像=TempPicEnd If(结束条件)鼠标勾选+=1PutViewportInStatus(ScaleIt(Picture.Width、DragRect.Left、RealMin、_RealMax)、ScaleIt(Picture.Height、DragRect.Top、ImaginaryMin、_ImaginaryMax),ScaleIt(Picture.Width,DragRect.Left+距离+RealMin、RealMax)、ScaleIt(Picture.Height、DragRect.Top+_距离、图像最小值、图像最大值)其他状态。Text=“位置:(”&格式(ScaleIt(Picture.Width,e.X_RealMin,RealMax),“0.00”)格式(缩放(图片高度_e.Y,ImaginaryMin,ImaginaryMax),“+0.00;-0.00”)和“)”End If(结束条件)结束Sub私有子PutViewportInStatus(ByVal pMin为Double,ByVal qMin为Double_ByVal pMax为Double,ByVal qMax为Do倍,可选ByVal时间_单个=0)状态。Text=“视口:(”格式(pMin,“0.00;-0.00”)(&F)_格式(qMin,“+0.00;-0.00”)&“)-(”格式(pMax_“0.00;-00”)格式(qMax,“+0.00;-0.00”)(&F)“_格式(时间,“\;(0.00秒);;#”)结束Sub私有子图片_MouseDown(按发件人为对象,按价值为_系统。窗户。形式。MouseEventArgs)处理图片。事件选择案例e.按钮案例鼠标按钮。左侧IsDragging=真DragRect。X=e.XDragRect。Y=e.Y结束选择结束SubPrivate Sub Picture_MouseUp(ByVal发送器作为对象,ByVal e作为_系统。窗户。形式。MouseEventArgs)处理图片。事件标注输入为字符串选择案例e.按钮案例鼠标按钮。左侧如果IsDragging=True,则IsDragging=假图片。图像=MandelPicture如果距离>0,则RealMin=ScaleIt(Picture.Width,DragRect.Left_RealMin、RealMax)ImaginaryMin=ScaleIt(Picture.Height,DragRect.Top_图像最小值、图像最大值)RealMax=ScaleIt(Picture.Width,DragRect.Left+_距离、实际最小值、实际最大值)ImaginaryMax=缩放(Picture.Height,DragRect.Top+_距离、图像最小值、图像最大值)计算()End If(结束条件)End If(结束条件)案例鼠标按钮。赖特IsDragging=假'输入=输入框(“0<迭代次数<=256”,“64”)。修剪'如果IsNumeric(输入)Then'如果CInt(输入)>0且CInt(输入)<=256,则'迭代次数=CInt(输入)'计算()'其他'蜂鸣()'结束条件'结束条件结束选择结束SubPrivate Sub Picture_MouseLeave(ByVal发送者作为对象,ByVal e作为_系统。EventArgs)处理图片。鼠标离开PutViewportInStatus(实际最小值、实际最大值、图像最小值、图像最大值、_计算时间)结束Sub#区域“Windows窗体设计器生成的代码”'Windows窗体设计器所必需的专用组件作为系统。组件模型。集装箱Private WithEvents状态为System。窗户。形式。状态栏Private WithEvents图片作为系统。窗户。形式。图片框将事件主窗体作为系统调光。窗户。形式。表格'注意:Windows窗体设计器需要以下过程'可以使用Windows窗体设计器对其进行修改。'不要使用代码编辑器修改它。私有子InitializeComponent()Me.Picture=新系统。窗户。形式。图片框()Me.Status=新系统。窗户。形式。状态栏()Me.SpendLayout()''图片'我的照片。Anchor=(((System.Windows.Forms.AnchorStyles.Top或_系统。窗户。表格。锚定样式。底部)_或系统。窗户。形式。锚定样式。左)_或系统。窗户。形式。锚定样式。右侧)我的照片。BorderStyle=系统。窗户。形式。边框样式。固定3D我的照片。光标=系统。窗户。形式。游标。十字架我的照片。Name=“图片”我的照片。大小=新系统。图纸。尺寸(397373)我的照片。选项卡索引=0我的照片。TabStop=假''状态'Me.Status公司。位置=新系统。图纸。点(0375)Me.Status公司。Name=“状态”Me.Status公司。大小=新系统。图纸。尺寸(397,20)Me.状态。选项卡索引=1Me.Status公司。Text=“请稍候”''主窗体'Me.AutoScaleBaseSize=新系统。图纸。尺寸(5、13)Me.ClientSize=新系统。图纸。尺寸(397395)Me.控制。AddRange(新System.Windows.Forms.Control(){Me.Status_我。图片})Me.Font=新系统。图纸。字体(“Tahoma”,8.0!)Me.MaximizeBox=假Me.MinimizeBox=假Me.Name=“MainForm”Me.StartPosition=系统。窗户。形式。窗体开始位置。中心父级Me.Text=“Mandelbrot集合”Me.ResumeLayout(错误)结束Sub#结束区域结束类

主窗体.vb:

导入系统。组件模型导入系统。图纸公共类主窗体继承系统。窗户。形式。表格Private RealMax,RealMin为Double私有ImaginaryMax,ImaginaryMin为Double私有MandelPicture作为位图私有IsDraging As BooleanPrivate DragRect作为矩形专用距离为整数专用鼠标勾选为整数私有CalcTime作为单个公共子新建()我的基地。新建()MainForm=我初始化组件()实际最大值=0.75实际最小值=-2.25图像最大值=1.5图像最小值=-1.5显示()计算()结束Sub受保护的重载覆盖子处置(ByVal处置为布尔值)如果处置,那么如果不是(组件什么都不是)那么组件。处置()End If(结束条件)End If(结束条件)MyBase。处置(disposing)结束Sub私有子计算()尺寸p,q为整数Dim pMax,qMax为整数Dim MandelValue为整数Dim MandelColour作为颜色Dim ColourMultiplier作为整数Dim StopWatch As DateTime=日期时间。现在MandelPicture=新位图(Picture.Width、Picture.Height)pMax=图片。宽度qMax=图片。高度ColourMultiplier=CInt(256/迭代)对于p=0到pMax-1对于q=0到qMax-1MandelValue=(ColourMultiplier*GetMandel(ScaleIt(pMax_p、 RealMin、RealMax)、ScaleIt(qMax、q、ImaginaryMin、_ImaginaryMax))-1MandelColour=颜色。FromArgb(曼德尔值,曼德尔值_MandelValue)曼德尔图片。设置像素(p、q、MandelColour)下一步状态。文本=Int(p/pMax*100)&“%”下一步图片。图像=MandelPictureCalcTime=CSng(DateDiff(Microsoft.VisualBasic.DateInterval.Second_StopWatch、DateTime。现在))PutViewportInStatus(实际最小值、实际最大值、图像最小值、图像最大值、_计算时间)结束SubPrivate Sub Picture_MouseMove(ByVal发件人作为对象,ByVal e作为_系统。窗户。形式。MouseEventArgs)处理图片。鼠标移动Dim TempPic作为图像Dim MyGfx As图形将我的笔变暗为新笔(Color.FromKnownColor(Drawing.KnownColor.IndianRed_), 1)如果是拖动,则如果e.X-DragRect。左>e.Y-DragRect。顶部然后距离=e.X-DragRect。左侧其他距离=e.Y-DragRect。顶部End If(结束条件)如果MouseTick>5 Then'仅每移动5像素绘制一次鼠标勾选=0TempPic=MandelPicture。克隆(_系统。图纸。矩形。从LTRB(0,0,MandelPicture.Width_曼德尔图片。高度),图纸。成像。像素格式。不要担心)MyGfx=图形。从图像(TempPic)我的Gfx。DrawRectangle(MyPen、DragRect.Left、DragRect.Top、_距离,距离)图片。图像=TempPicEnd If(结束条件)鼠标勾选+=1PutViewportInStatus(缩放(Picture.Width,DragRect.Left,RealMin_RealMax)、ScaleIt(Picture.Height、DragRect.Top、ImaginaryMin、_ImaginaryMax),ScaleIt(Picture.Width,DragRect.Left+距离_RealMin、RealMax)、ScaleIt(Picture.Height、DragRect.Top+_距离、图像最小值、图像最大值)其他状态。Text=“位置:(”&格式(ScaleIt(Picture.Width,e.X_RealMin,RealMax),“0.00”)格式(缩放(图片高度_e.Y,图像最小值,图像最大值),“+0.00;-0.00”)&“)”End If(结束条件)结束Sub私有子PutViewportInStatus(ByVal pMin为Double,ByVal qMin为Double_ByVal pMax为Double,ByVal qMax为Do倍,可选ByVal时间为_单个=0)状态。Text=“视口:(”格式(pMin,“0.00;-0.00”)(&F)_格式(qMin,“+0.00;-0.00”)&“)-(”格式(pMax_“0.00;-00”)格式(qMax,“+0.00;-0.00”)(&F)“_格式(时间,“\;(0.00秒);;#”)结束SubPrivate Sub Picture_MouseDown(ByVal发送方作为对象,ByVal e作为_系统。窗户。形式。MouseEventArgs)处理图片。事件选择案例e.按钮案例鼠标按钮。左侧IsDragging=真DragRect。X=e.XDragRect。Y=e.Y结束选择结束SubPrivate Sub Picture_MouseUp(ByVal发送器作为对象,ByVal e作为_系统。窗户。形式。MouseEventArgs)处理图片。事件将输入标注为字符串选择案例e.按钮案例鼠标按钮。左侧如果IsDragging=True,则IsDragging=假图片。图像=MandelPicture如果距离>0,则RealMin=缩放(Picture.Width,DragRect.Left,RealMin_RealMax)ImaginaryMin=ScaleIt(Picture.Height,DragRect.Top_图像最小值、图像最大值)RealMax=ScaleIt(Picture.Width,DragRect.Left+_距离、实际最小值、实际最大值)ImaginaryMax=缩放It(Picture.Height,DragRect.Top+_距离、图像最小值、图像最大值)计算()End If(结束条件)End If(结束条件)案例鼠标按钮。赖特IsDragging=假'输入=输入框(“0<迭代次数<=256”,“64”)。修剪'如果IsNumeric(输入)Then'如果CInt(Input)>0且CInt(输入)<=256,则'迭代=CInt(输入)'计算()'其他'蜂鸣()'结束条件'结束条件结束选择结束SubPrivate Sub Picture_MouseLeave(ByVal发送者作为对象,ByVal e作为_系统。EventArgs)处理图片。鼠标离开PutViewportInStatus(实际最小值、实际最大值、图像最小值、图像最大值、_计算时间)结束Sub#区域“Windows窗体设计器生成的代码”'Windows窗体设计器所必需的专用组件作为系统。组件模型。集装箱Private WithEvents状态为System。窗户。表格。状态栏Private WithEvents图片作为系统。窗户。形式。图片框将事件主窗体作为系统调光。窗户。形式。表格'注意:Windows窗体设计器需要以下过程'可以使用Windows窗体设计器对其进行修改。'不要使用代码编辑器修改它。私有子InitializeComponent()Me.Picture=新系统。窗户。形式。图片框()Me.Status=新系统。窗户。形式。状态栏()Me.SpendLayout()''图片'我的照片。Anchor=(((System.Windows.Forms.AnchorStyles.Top或_系统。窗户。形式。锚定样式。底部)_或系统。窗户。形式。锚定样式。左)_或系统。窗户。形式。锚定样式。右侧)我的照片。BorderStyle=系统。窗户。形式。边框样式。固定3D我的照片。光标=系统。窗户。形式。游标。十字架我的照片。Name=“图片”我的照片。大小=新系统。图纸。尺寸(397373)Me.图片。选项卡索引=0我的照片。TabStop=假''状态'Me.Status公司。位置=新系统。图纸。点(0375)Me.Status公司。Name=“状态”Me.Status公司。大小=新系统。图纸。尺寸(397,20)Me.Status公司。选项卡索引=1Me.Status公司。Text=“请稍候”''主窗体'Me.AutoScaleBaseSize=新系统。图纸。尺寸(5、13)Me.ClientSize=新系统。图纸。尺寸(397395)Me.控制。AddRange(新System.Windows.Forms.Control(){Me.Status,Me.Picture})Me.Font=新系统。图纸。字体(“Tahoma”,8.0!)Me.MaximizeBox=假Me.MinimizeBox=假Me.Name=“MainForm”Me.StartPosition=系统。窗户。表格。窗体开始位置。中心父级Me.Text=“Mandelbrot集合”Me.ResumeLayout(错误)结束Sub#结束区域结束类

这是另一个非常丑陋的暗示蟒蛇。这是尝试创作的结果Mandelbrot集合完全属于列表理解就快到了,但我没能做到鞋筒核心迭代列表理解,所以我被迫使用减少那里。

正如我所说,这很丑陋;看起来更像方案而不是蟒蛇。添加了一些空白,但(不包括导入)整个程序是单身陈述.

由于使用了嵌套的作用域。对于2.2或更新版本,不需要import语句。
thx至詹姆斯克为他的墨镜一串.


#!/usr/bin/env-python从__future__import嵌套范围(λ项目、边界、标尺、RMIN、RMAX、IMIN、IMAX、阶梯、阴影、写入、日志:[r代表范围内的r(RMIN*SCALE、RMAX*SCALE和STEP),如果写入('\n')或[i代表范围内的i(IMIN*刻度、IMAX*刻度、步进),如果(lambda j:写入(阴影[int(LOG(j+1))%len(阴影)])(λk:减少(λx,y:(abs(x[1])<=界限)和(x[0]+1,(x[1])**2+y[1])或x、,[(0,k)]*项目))(复数(r/SCALE,i/SCALE))[0])]])(10000,4150.0,-2.25,1.5,-1.25,1.25,5,“.^:/I&@*%%$###,”,__导入_('sys').stdout.write,__import_('路径').log)

关于Zn=(Z(n-1))^2+C形式的一些思考:

^2可以替换为^P,其中P是大于1的任何数字。整数生产具有P-1芽的套餐,而其他数量的套餐生产量非常大有趣的 混乱套(P=1.5是我个人的最爱)。P也可以是复杂的,产生偶数冷却器 分形s;这些甚至没有特征以原点为中心!

多个分形s可以由Zr、Zi、Cr、Ci、Pr和Pi的任意组合构成依赖的任何数量的(四是人类大脑通常能处理的最多的;)。我还没有测试四元数s或八元数第条。

如果发现任何点Z0为包含在集合中,然后在迭代也不包含。恰恰相反理论上是的,但前提是你迭代 无限地.

我特别写了这个充满生气的珍珠一次作为笑话对于朋友…(需要一个终端具有美国国家标准协会颜色)。


#!/usr/bin/perl
($x,$xi,$w,$cmax)=(移位||-2,移位||-1.5,移位|3,9+shift||300);
对于($ai=$xi+$w;$ai>=$xi;$ai-=$w/22){
对于($a=$x;$a<=$x+$w;$a+=$w/75){
($c、$b、$bi)=0;对于(;$c<$cmax;$c++){
$b=$b**2-$bi**2+$a+$w/150$bi=2*($b*$bi)+$ai+$w/44;最后一个条件是$b**2+$bi**2>100000;}
打印$c==$cmax?“@”:“\033[1;”.($c%7+31).“m#\033[0m”;}打印”\n“;}

登录登记在这里写点什么或联系作者。