测试了一下用向量处理随机目标,还是挺有趣的,源码如下:
1 PVector p1, p2; 2 float gap = 10; 3 void setup() { 4 size(1920, 1080); 5 background(255); 6 p1 = new PVector(random(width), random(height)); 7 p2 = new PVector(width/2, height/2); 8 smooth(); 9 } 10 void draw() { 11 if (abs(p1.x-p2.x)<gap && abs(p1.y-p2.y)<gap) { 12 p2.set(random(width), random(height)); 13 gap = random(5,50); 14 } 15 PVector dir = PVector.sub(p2, p1); 16 dir.normalize(); 17 dir.mult(gap); 18 p1.add(dir); 19 strokeWeight(gap); 20 point(p1.x, p1.y); 21 }
还有很大改善的空间:
1、将random换成柏林噪音将会获得更加平滑的图案。
2、用数组来控制运行轨迹将会获取蛇形图案