孤独的猫

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

树木曲线

/* 树木曲线*/
#include "glib.h"
int N=7;     /*递归次数*/
double sx=320.0,sy=390.0;   /*开始点坐标*/
double leng1=120.0;    /*根到第一分枝点的长度*/
double branch[][2]={{30.0,0.7},{-30.0,0.7},END};

/*树木曲线描绘函数*/
void tree(double leng,int n)
{
  int i=0;
  if (n<=N)
  {
 setcolor(n);
 if (1==n)     /*根到第一分枝点的树干描画*/
 {
   move(leng);
   tree(leng,n+1);
 }
 else
 while (END!=branch[i][0])
 {
   turn(branch[i][0]);
   move(branch[i][1]*leng);
   tree(branch[i][1]*leng,n+1);
   turn(180.0);
   warp(branch[i][1]*leng);
   turn(180-branch[i][0]);
   i++;
 }
  }
  else  /*果实的描画 */
  {
 setcolor(15);
 warp(leng*0.3);
 circle(LPX,LPY,leng*0.3);
 setfillstyle(1,15);
 floodfill(LPX,LPY,15);
 turn(180.0);
 warp(leng*0.3);
 turn(180.0);
  }
  setcolor(n-1);
}

void main(void)
{
  ginit();
  setlp(sx,sy);
  setangle(90.0);
  tree(leng1,1);
  gend();
}

posted on 2011-03-04 21:40  孤独的猫  阅读(115)  评论(0)    收藏  举报