首页 > Sktech > 第四期 Processing分形之一——Wallpaper
2017
08-10

第四期 Processing分形之一——Wallpaper

简介:

分形在自然界中普遍存在,例如,弯弯曲曲的海岸线、起伏不平的山脉,粗糙不堪的断面,变幻无常的浮云,九曲回肠的河流,纵横交错的血管,令人眼花缭乱的满天繁星等。它们的特点都是,极不规则或极不光滑

让我们自己动手来创造一个属于自己的分形吧。

代码:

/**
 * Wallpaper
 * 微信公众号:维度模态
 * 作者:Hewes
 */

size(800, 800);  //画布尺寸
background(0);  //背景色

//相关参数的设定
//double a = 0.50, b = 2.00, c = 0.00;
//int mag=60;
//double a = 0.4, b = 1, c = 0; 
//int mag=100;
//double a = 1, b = 4, c = 60;
//int mag=1;
//double a = -1, b = -2, c = -3;
//int mag=5;
double a = -1000, b = 0.1, c = -10;
int mag=10;

double x1=0, y1=0, temp;  //涉及变量

for (int i = 0; i < 2550000; i++) {
  //壁纸公式:
  //xn+1 = yn - sign(xn) | b xn - c |1/2 
  //yn+1 = a - xn 
  temp = x1;
  x1 = y1 - Math.signum(a * x1) * Math.sqrt(Math.abs(b * x1 - c));
  y1 = a - temp;

  //放大+平移
  int m = (int) (x1 * mag + width/2);
  int n = (int) (y1 * mag + height/2);
  //笔触颜色设置
  stroke(255, i/10000, i/10000);
  //stroke(255-i/10000,255-i/10000, 0); 
  point(m, n);
}

Run the above code,you may get:

//相关参数设定

double a = 1, b = 4, c = 60;
int mag=1;

第四期 Processing分形之一——Wallpaper - 第1张  | Processing编程艺术

double a = –1000, b = 0.1, c = –10;
int mag=10;

第四期 Processing分形之一——Wallpaper - 第2张  | Processing编程艺术

double a = –1, b = –2, c = –3;
int mag=5;

第四期 Processing分形之一——Wallpaper - 第3张  | Processing编程艺术

double a = 0.50, b = 2.00, c = 0.00;
int mag=60;

第四期 Processing分形之一——Wallpaper - 第4张  | Processing编程艺术

double a = 0.4, b = 1, c = 0;
int mag=100;

第四期 Processing分形之一——Wallpaper - 第5张  | Processing编程艺术

更多详情:Hewes的学习笔记



最后编辑:
作者:Hewes
这个作者貌似有点懒,什么都没有留下。

第四期 Processing分形之一——Wallpaper》有 6 条评论

Online Paper Writer的回复 取消回复

你的email不会被公开。