这程序设c的模小于2,迭代次数小于50次
用了个Block函数将z作为局部分量和全局变量区分清楚
通过画密度函数画出c的图像
实际上,这个程序可简化成
M1[x_,y_]:=
Block[{z,k=0},
z=x+y*I
While[(Abs[z]<2.0)&&(k<50),++k
z=z^2+(x+y*I)]
Return[k]
]
M2[px_,py_,p_]:=
Block[{t},
t=DensityPlot[M1[xx,yy],{xx,-1.5,0.5},{yy,-1.2,1.2},p,
Mesh->False,ColorFunction->Hue]
Return[t]
]
Mandelbrot=M2[x,y,{PlotPoints->120,PlotLabel->"Mandelbrot集"}]
你看看行不行
分类: 电脑/网络 >>程序设计 >>其他编程语言问题描述:
要用VB做一个《分形图形的生成》的软件,要怎么做,可以指点一下吗?现在一点头绪都没有!
解析:
做过一下,有一些经验,如果有什么不懂,在问题上补充吧~~~
1、写算法:你要生成什么图像,图像计算的方程式
2、绘图:
a、设定X轴、y轴
b、根据图像公式,从左到右在窗体上描点、线!
3、编写图像保存模块
如果你只是想看一些漂亮的曲线,图形之类的,用Microsoft Office Visio 就行了,里面有网格点snap(捕捉)和Group(群组)功能,画出分形图的基本元素不断地复制,群组,再复制,群组.....就可以拼出你想要的图形了。
要是想玩深点,推荐你用 免费的Apophysis ,最新版本2.09,可以做出色彩绚丽的分形图。sourceforge 上有下载:http://sourceforge.net/projects/apophysis/
另外一款是 Ultra fractal 也是很不错的,下面是它的官网下载和一个介绍:
http://www.ultrafractal.com/download/index.php
http://opus.arting365.com/multimedia/2005-10-13/1129136085d89214.html
要是想玩得更深,就用Matlab吧,可以编写数学程序来绘图。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)