基本图案的反复映像生成的分形图形2
#include "glib.h"
int n_br=6;
int n_st=1;
double k,r0=180.0;
int N=5;
void fractal(double leng,int n)
{
int i,j;
if (n>=N || k<=1.0)
putpixel(LPX,LPY,15);
else
{
for (i=0;i<n_br;i++)
{
if (!i)
fractal(leng/k,n+1);
for (j=1;j<=n_st;j++)
{
warp(leng*2*n_st/k);
fractal(leng/k,n+1);
}
turn(180.0);
warp(leng*2*n_st/k);
turn(180.0);
turn(360.0/n_br);
}
}
}
void main()
{
ginit();
k=2*n_st+1;
setlp(320.0,200.0);
setangle(90.0);
fractal(r0,0);
gend();
}