线段构成的递归图形
/*由线段构成的递归曲线*/
#include "glib.h"
int n_rot=5; /*旋转对称次数*/
int N=5; /*递归次数*/
double ang,scale=0.38; /*scale缩小率*/
double leng1=120.0; /*中心到下个分枝点的长度*/
void recurs(double leng,int n)
{
int i;
double s;
if (n<=N)
{
setcolor(n);
for (i=0;i<n_rot;i++)
{
if (1!=n && !(n_rot%2))
s=(i+0.5)*ang;
else
s=i*ang;
turn(s);
move(leng);
recurs(leng*scale,n+1);
turn(180.0);
warp(leng);
turn(180-s);
}
}
setcolor(n-1);
}
void main(void)
{
ginit();
setbkcolor(15);
ang=360.0/n_rot;
setlp(320.0,200.0);
setangle(90.0);
recurs(leng1,1);
gend();
}

浙公网安备 33010602011771号