这是我用C语言实现分形学图形的第一个程序,无奈我手头这方面的资料不多,所以可能用了最笨的办法,假如你发现其中的不足或错误,请不吝赐教。
/*Mandelbrot集图形的C语言源代码:*/
/*分形学图形*/
#include<graphics.h>
#include<stdlib.h>
#include<math.h>
int main()
{
float m,dx,dy,x,y,x_n,y_n,Cx,Cy;
int n,i,j,L=4;
int gdriver=DETECT,gmode;
initgraph(&gdriver,&gmode,""); /*初始化图形系统*/
setbkcolor(1);
dx=3.0/639;
dy=2.2/479;
for(i=0;i<639;i++)
{
Cx=-1.9+i*dx;
for(j=0;j<479;j++)
{
Cy=-1.2+j*dy;
x=y=0;
for(n=0;n<=1000;n++)
{
x_n=x*x-y*y+Cx;
y_n=2*x*y+Cy;
m=x_n*x_n;
if(m>L) break;
x=x_n;
y=y_n;
}
putpixel(i,j,(int)(0.4*m)%16);
}
}
getch();
closegraph();
}