资源简介

Koch曲线,用C语言实现,典型的分形图.

资源截图

代码片段和文件信息

#include 
#include “csd32.h“

void koch(int x int y int x2 int y2)
{
  int dx = x2 - x dy = y2 - y;
  int x13 = x + dx / 3 y13 = y + dy / 3;
  int x23 = x + dx * 2 / 3 y23 = y + dy * 2 / 3;
  dx = x23 - x13 dy = y23 - y13;
  double len = sqrt(dx * dx + dy * dy);
  double ang = atan2(dy dx) + M_PI / 3.0;
  int x3 = (int)(len * cos(ang) + x13) y3 = (int)(len * sin(ang) + y13);
  if (len < 6)
    csdLine(x y x2 y2);
  else
  {
    koch(x y x13 y13);
    koch(x13 y13 x3 y3);
    koch(x3 y3 x23 y23);
    koch(x23 y23 x2 y2);
  }
}

int main(void)
{
  int x1 = 100 y1 = 400;
  int x2 = 500 y2 = 400;
  int x3 = 300 y3 = 54;
  csdInit(600 600 “Koch曲线“);
  csdSetLineColor(RGB(0 0xFF 0));
  csdSetPenWidth(2);
  koch(x1 y1 x2 y2);
  koch(x2 y2 x3 y3);
  koch(x3 y3 x1 y1);
  getch();
  csdClose();
  return 0;
}

评论

共有 条评论