Skip to content

Recursion and Fractals

Fractals(分形)

分形: 一个自相似的数学集合,通常可以绘制为一个重复出现的图形模式。

  • 同样形状或图案的较小实例在模式中出现。就像雪花一样
  • 当在计算机屏幕上显示时,可以实现对分形的无限放大或缩小。

Examples of Fractals:

  • Sierpinski Triangle(谢尔宾斯基三角形)

  • Koch Snowflake(科赫雪花)

alt text


coding a fractal

使用递归函数来绘制分形。

但是在绘制之前,我们必须知道如何绘制


Stanford graphics lib

include "gwindow.h"

  • gw.drawline(x1, y1, x2, y2)画一条线在两点之间
  • gw.drawPolarLine(x,y,r,t)从 (x,y) 以角度 t 绘制长度为 r 的线段;返回线段的终点作为一个 Gpoint。
  • gw.getPixel(x,y) 返回 (x,y) 处的颜色值。
  • gw.setColor("color") 设置颜色,你可以使用颜色名称或者 RGB 值。
  • gw.setPixel 设置 (x,y) 处的颜色值。
  • gw.drawOval(x,y,w,h) 画一个椭圆。
  • gw.fillOval(x,y,w,h) 填充一个椭圆。 .......

实例

c++
#include <iostream>
#include "gwindow.h"

using namespace std;

int main()
{
    GWindow gw(300,200);
    gw.setTitle("bobo's GWindow");
    gw.setColor("red");
    gw.drawLine(20,20,100,100);
    return 0;
}