简介:
分形在自然界中普遍存在,例如,弯弯曲曲的海岸线、起伏不平的山脉,粗糙不堪的断面,变幻无常的浮云,九曲回肠的河流,纵横交错的血管,令人眼花缭乱的满天繁星等。它们的特点都是,极不规则或极不光滑。
让我们自己动手来创造一个属于自己的分形吧。
代码:
/**
* 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;
double a = –1000, b = 0.1, c = –10;
int mag=10;
double a = –1, b = –2, c = –3;
int mag=5;
double a = 0.50, b = 2.00, c = 0.00;
int mag=60;
double a = 0.4, b = 1, c = 0;
int mag=100;
更多详情:Hewes的学习笔记
- 本文固定链接: http://iprocessing.cn/2017/08/10/第四期-processing分形之一-wallpaper/
- 转载请注明: Hewes 于 Processing编程艺术 发表
《第四期 Processing分形之一——Wallpaper》有 6 条评论