苦海 发表于 2015-8-8 23:36:28

Processing系列 Koch分形图

http://yuanren.cc/wp-content/uploads/2013/05/Koch.png
参数化绘图中级难度
背后的是一个数学故事。

分形原理如下:
http://wenwen.soso.com/p/20100504/20100504203307-1429596422.jpg


void setup() {
size(300, 300);
translate(45, 85);
background(55);
stroke(255);
noFill();

String str = "F-F+F-F";
float l = 70;

for (int i=0; i<5; i++) {
    String temp = "";
    for (int j=0; j<str.length (); j++) {
      char c = str.charAt(j);
      if (c == 'F') {
      temp += "F-F+F-F";
      } else {
      temp += c;
      }
    }
    str = temp;
    l /= 3;
}

for (int i=0; i<3; i++) {
    for (int j=0; j<str.length (); j++) {
      char c = str.charAt(j);
      if (c == 'F') {
      line(0, 0, l, 0);
      translate(l, 0);
      } else if (c == '-') {
      rotate(-PI/3);
      } else if (c == '+') {
      rotate(TWO_PI/3);
      }
    }
    rotate(TWO_PI/3);
}
}



授权转载自 任远媒体实验室
页: [1]
查看完整版本: Processing系列 Koch分形图