#Processing pic.twitter.com/Ky0ZSAyhor
— 94 (@_94_94) 2018年5月1日
float x, y, x2, y2; float xpow, ypow, rpow, xpow2, ypow2, rpow2; float r,r2; color clr,clr2; int num = 1500; float[] dpx = new float[num]; float[] dpy = new float[num]; float[] dpx2 = new float[num]; float[] dpy2 = new float[num]; void setup() { size(500, 500); x = width/2; y = 0; xpow = random(1,3); ypow = random(1,3); rpow = random(1,3); clr = color(250, 90, 90); x2 = width/2; y2 = 0; xpow2 = random(-1,-3); ypow2 = random(1,3); rpow2 = random(1,3); clr2 = color(90, 250, 200); } void draw() { background(250, 250, 180); for (int i = 0; i < num; i++) { strokeWeight(3); stroke(clr,map(i,0,num,255,0)); point(dpx[i], dpy[i]); stroke(clr2,map(i,0,num,255,0)); point(dpx2[i], dpy2[i]); } x+= xpow; y+= ypow; r+= rpow; x2+= xpow2; y2+= ypow2; r2+= rpow2; if ( x > width + 50) { x = -50; xpow = random(1,5); rpow*=-1; } if (y > height + 50) { y = -50; ypow = random(5); rpow = random(0,5); } pen(x,y,r,clr); if ( x2 < -50) { x2 = width + 50; xpow2 = random(-1,-3); rpow2*=-1; } if (y2 > height + 50) { y2 = -50; ypow2 = random(1,5); rpow2 = random(0,5); } pen(x2,y2,r2,clr2); dpx[0] = x+38*sin(radians(r)); dpy[0] = y-40*cos(radians(r)); dpx2[0] = x2+38*sin(radians(r2)); dpy2[0] = y2-40*cos(radians(r2)); for (int i = num-1; i > 0; i--) { dpx[i] = dpx[i -1]; dpy[i] = dpy[i -1]; dpx2[i] = dpx2[i -1]; dpy2[i] = dpy2[i -1]; } } void pen(float penx , float peny,float penr,color ccc) { color c = ccc; float _x = penx; float _y = peny; float _r = penr; strokeWeight(1); strokeCap(ROUND); stroke(c); pushMatrix(); translate(_x, _y); rotate(radians(_r)); fill(255); triangle(0, -40, -10, -20, 10, -20); fill(c); triangle(0, -40, -4, -30, 4, -30); rectMode(CENTER); rect(0, 10, 20, 60); popMatrix(); }