つぶやきProcessingのまとめ。
前半は、先月から継続してp5.jsでUnicodeを使った表現、中盤はbezierTangent()などを利用した曲線のうねうねの追及、後半はアルキメデスの螺旋を応用して何か作ってみる、という感じでした。
別枠で@PCD Tokyo主催のDailyCodingChallengeも行っていますが、完走したら別の記事でまとめます。
t=0,setup=()=>createCanvas(720,720)+textSize(99),draw=()=>{for(t++,background(255),y=0;y<4;y++)for(x=0;x<13;x++)fill(y%3?255:0,0,0),text(String.fromCodePoint(127136+((N=noise(x+int(t/80),y))>.4?16*y+(int(t/80)+x)%14+1:N%.1>.09?31:0)),80*x-t%80,120*y+200)};//#つぶやきProcessing pic.twitter.com/9U6M65QWBw
— はぅ君 (@Hau_kun) April 1, 2020
t=0,setup=()=>createCanvas(720,720)+textSize(99),draw=()=>{for(background(255),t+=.005,i=0;i<56;i++)push(),translate((W=360)+cos(R=.11*i-t)*(S=sin(t+i))*W,W+sin(R)*S*W),rotate(R+i),scale(S,S),text(String.fromCodePoint(127137+i%14+16*int(i/14)),0,0),pop()};//#つぶやきProcessing pic.twitter.com/vAtjfmiL6g
— はぅ君 (@Hau_kun) April 2, 2020
t=0,setup=()=>createCanvas(720,720)+textSize(99),draw=()=>{translate(32*int((R=random)(24)),42*int(R(18))),push(),(D=drawingContext).shadowBlur=25,D.shadowColor=color(0),rect(3,-78,64,84,5),pop(),text(String.fromCodePoint(126976+int((5+R(33))%34)),0,0)};//#つぶやきProcessing pic.twitter.com/4vqNZ1ENtj
— はぅ君 (@Hau_kun) April 3, 2020
setup=()=>{for(createCanvas(720,720),textSize(55),(D=drawingContext).shadowBlur=9,D.shadowColor=color(0),fill(192,192,255),y=0;y<720;y+=50)for(x=y/50%2*45;x<720;x+=90)square(x,y,60),text(String.fromCodePoint(5792+int(random(74))),x+15,y+48)};//#つぶやきProcessing pic.twitter.com/rLHuhfvHOz
— はぅ君 (@Hau_kun) April 4, 2020
float t,r,X,Y;
— はぅ君 (@Hau_kun) April 6, 2020
void setup(){size(720,720);}
void draw(){
t+=.002;
background(-1);
for(r=0;r<TAU;r+=.2)
f(360,360,r+t+sin(t*2),99);
}
void f(float x,float y,float r,float d){
if(d>9){
line(x,y,X=x+cos(r)*d,Y=y+sin(r)*d);
f(X,Y,r+r*PI/d+t,d*.9);
}
}#つぶやきProcessing pic.twitter.com/IlsTHYgmFu
float r,x,y,X,Y,d,t,s=1;
— はぅ君 (@Hau_kun) April 7, 2020
void setup(){size(720,720);}
void draw(){
background(-1);
t+=.005;
for(r=0;r<TAU;r+=PI/8){
x=y=360;s*=-1;
for(d=1;d<15;d=(abs(d)+1)*(d%2==0?1:-1)*s){
line(x,y,X=x+cos(r+PI*d*t)*200/d,Y=y+sin(r+PI*d*t)*200/d);
x=X;y=Y;
}
}
}#つぶやきProcessing pic.twitter.com/O25xOV8DzH
float t,d,r,R;
— はぅ君 (@Hau_kun) April 8, 2020
void setup(){size(720,720);strokeWeight(3);}
void draw(){
background(-1);
t+=.01;
for(r=0;r<TAU;r+=PI/8){
for(d=0;d<560;d+=10){
arc(cos(r)*d+360,sin(r)*d+360,10+sin(r*t)*d/5,10+sin(r-t)*d/5,R=(r+d/10%4*PI),R+PI);
}
}
}#つぶやきProcessing pic.twitter.com/bckssDKoYn
float t,r,d,x,y,X,Y;
— はぅ君 (@Hau_kun) April 9, 2020
void setup(){size(720,720);fill(0,24);stroke(0,48);}
void draw(){
t+=.01;background(-1);
for(r=0;r<TAU;r+=PI/8){
x=y=360;
for(d=0;d<540;d+=60){bezier(x,y,x+cos(r+d)*d,y+sin(r+d)*d,x,y,X=x+cos(r+t+d*.1)*50,Y=y+sin(r+t+d*.1)*50);x=X;y=Y;}
}}#つぶやきProcessing pic.twitter.com/DsIQQhvwVz
float t,r,d,a,x,y;
— はぅ君 (@Hau_kun) April 10, 2020
void setup(){size(720,720);}
void draw(){
background(-1);
t+=.005;
for(r=0;r<TAU;r+=PI/8){
x=y=360;
for(d=0;d<1;d+=.01)
line(x,y,x=x+cos((a=bezierTangent(x*d,sin(t+x*.01)*99,sin(t+r*d)*999,y*d,d)*.01)+r)*9,y=y+sin(a+r)*9);
}
}#つぶやきProcessing pic.twitter.com/BEiTWuokHz
float t,r,d,x,y,a;
— はぅ君 (@Hau_kun) April 11, 2020
void setup(){size(720,720);noStroke();}
void draw(){
clear();
t+=.005;
for(r=0;r<TAU;r+=PI/8){
x=y=360;
for(d=0;d<1;d+=.01){
fill(r*20+64,d*255,192);
circle(x+=cos(r+(a=bezierTangent(0,sin(r),sin(t),sin(r+r*t),d)))*3,y+=sin(r+a)*3,d*9);
}}}#つぶやきProcessing pic.twitter.com/WD5Swms8dv
float t,d,e,x,y,a,r;
— はぅ君 (@Hau_kun) April 12, 2020
void setup(){size(720,720);noStroke();}
void draw(){
clear();
t+=.01;
for(r=0;r<TAU;r+=PI/3)
for(d=0;d<1;d+=.03){
x=y=360;
for(e=d;e<1-d;e+=.009)
circle(x+=cos(a=bezierTangent(0,d,sin(d)*9,sin(t+e),e*sin(t+e*5))+r)*3,y+=sin(a)*3,e*e*6);
}}#つぶやきProcessing pic.twitter.com/0WoRPny50e
float t,r,d,x,y,a;
— はぅ君 (@Hau_kun) April 13, 2020
void setup(){size(720,720);noStroke();}
void draw(){
clear();t+=.01;
for(r=0;r<TAU;r+=PI/16){
x=360;y=270-cos(t)*90;
for(d=0;d<1;d+=.01)
circle(x+=cos(a=r+bezierTangent(sin(t-d+r%(PI/4))-.5,sin(t-d)+.5,0,sin(t+d),d))*3,y+=sin(a-r)*5,2);
}
}#つぶやきProcessing pic.twitter.com/cqbNQmvnB2
float x,y,t,d,r,X,Y,a;
— はぅ君 (@Hau_kun) April 14, 2020
void setup(){size(720,720);noStroke();}
void draw(){clear();t+=.01;for(y=-80;y<800;Y=y+=80)for(x=-80;x<800;X=x+=80)for(r=0;r<TAU;r+=PI/2)for(d=0;d<1;d+=.02)circle(X+=cos((a=bezierTangent(0,0,sin(t+y),cos(t+x+y)*3,d))+r),Y+=sin(a-r),3);}#つぶやきProcessing pic.twitter.com/l3e3wvEeH4
float t,i,X,Y,a,r,d,S;
— はぅ君 (@Hau_kun) April 15, 2020
void setup(){size(720,720);noStroke();}
void draw(){clear();t+=.01;for(i=0;i<100;i++)for(r=0;r<TAU;r+=PI/2){X=i%10*80+i/10%2*40;Y=int(i)/10*80;for(d=0;d<1;d+=.02)circle(X+=cos((a=bezierTangent(0,0,0,sin(t+i)*2,d))+r),Y+=sin(a+r),d*5);}}#つぶやきProcessing pic.twitter.com/vSK73gH4q6
float X,Y,r,t,d,a,T;
— はぅ君 (@Hau_kun) April 16, 2020
void setup(){size(720,720);noStroke();}
void draw(){clear();t+=.03;for(r=0;r<TAU*9;r+=.3){X=cos(r)*r*6+360;Y=sin(r)*r*6+360;for(d=0;d<1;d+=.02)circle(X+=cos((a=bezierTangent(0,0,sin(T=t+r*d*.1),cos(T),d*d))+r)*4,Y+=sin(a+r)*4,d*d*5);}}#つぶやきProcessing pic.twitter.com/dDJakbaBHd
int x,y,t,i;
— はぅ君 (@Hau_kun) April 17, 2020
void setup(){size(720,720);}
void draw(){background(-1);t++;for(i=9;i>0;i–)circle(cos(t*.003*i)*50+360,sin(t*.003*i)*50+360,i*15);for(y=0;y<800;y+=80)for(x=0;x<800;x+=80)copy(get(),320,320,80,80,x/160*160,y/160*160,80-x/80%2*160,80-y/80%2*160);}#つぶやきProcessing pic.twitter.com/6m5q6TWoNp
float t,i,T;
— はぅ君 (@Hau_kun) April 18, 2020
void setup(){size(720,720);}
void draw(){background(-1);t+=.003;for(i=9;i>0;i–)arc(cos(T=t*i)*9+40,sin(T)*9+40,i*9,i*9,T,T+PI);for(int y=0;y<800;y+=80)for(int x=0;x<800;x+=80)copy(get(),0,0,80,80,x/160*160,y/160*160,80-x/80%2*160,80-y/80%2*160);}#つぶやきProcessing pic.twitter.com/zewXrKYY9j
float t,i,N;
— はぅ君 (@Hau_kun) April 19, 2020
void setup(){size(720,720);}
void draw(){background(-1);t+=.01;for(i=9;i>0;i–){rotate(t);rect(i-9,i-9,i*i,i*i);}rotate(-9*t);for(int y=0;y<800;y+=80)for(int x=0;x<800;x+=80)copy(get(),0,0,80,80,x/160*160,y/160*160,80-x/80%2*160,80-y/80%2*160);}#つぶやきProcessing pic.twitter.com/RC1ci0JaYO
float t,r,d,a,X,Y,R;
— はぅ君 (@Hau_kun) April 20, 2020
void setup(){size(720,720);noStroke();}
void draw(){
clear();
t+=.01;
for(r=0;r<TAU;r+=PI/48){
X=Y=360;R=-r;
for(d=0;d<1;d+=.01){
a=bezierPoint(d*sin(t),-d,0,sin(t+r*3),d);
circle(X+=cos(R+=a*d)*4,Y+=sin(R)*4,d*d*4);
}
}
}#つぶやきProcessing pic.twitter.com/IT854ffH4H
float t,r,e,X,Y,a,d;
— はぅ君 (@Hau_kun) April 21, 2020
void setup(){size(720,720);stroke(-1,24);noFill();}
void draw(){clear();t+=.001;for(r=0;r<16;r++){X=Y=360;for(e=-3;e<3;e+=.01)circle(X+=cos(a=.1*bezierPoint(0,0,e*sin(e+t),cos(e-t),e)+r*PI/8)*e*(d=r%4*PI)*.2,Y+=sin(a)*e*d*.2,e*e*e*4);}}#つぶやきProcessing pic.twitter.com/w23PKh81aU
float t,i,x,y,a,r,m,T;
— はぅ君 (@Hau_kun) April 22, 2020
void setup(){size(720,720);fill(-1,4);}
void draw(){square(0,0,721);if((T=t++%99)==0)x=y=99;x+=cos(a=noise(int(t/99),t/99)*9)*5;y+=sin(a)*5;for(i=0;i<32;i++)circle(cos(r=atan2(y,x)*(i%2*2-1)+i*PI/16)*(m=mag(x,y))+360,sin(r)*m+360,T/9);}#つぶやきProcessing pic.twitter.com/YyiQrqXw7Y
float t,r,d;
— はぅ君 (@Hau_kun) April 23, 2020
void setup(){size(720,720);noStroke();}
void draw(){
clear();
t+=.004;
for(r=0;r<TAU;r+=PI/32){
fill(r*40+30);
push();
translate(cos(t+r*(d=sin(t)))*200+360,sin(t+r*d)*200+360);
rotate(3*r*d+t);
ellipse(99,d*9,50*d,300);
pop();
}
}#つぶやきProcessing pic.twitter.com/pCixjXprDS
float t,r,S,R;
— はぅ君 (@Hau_kun) April 24, 2020
void setup(){size(720,720);noStroke();}
void draw(){
clear();
t+=.003;
for(r=0;r<TAU*5;r+=.01){
fill(r*7+30);
push();
translate(cos(R=t+r*sin(t)/3)*r*R+360,sin(R*1.7)*r*R+360);
rotate(R*2);
ellipse(90,30,99*(S=sin(r/36)),40*S);
pop();
}
}#つぶやきProcessing pic.twitter.com/Et4rvtx0J5
float t,r,S;
— はぅ君 (@Hau_kun) April 26, 2020
void setup(){size(720,720);noStroke();}
void draw(){
clear();
t+=.003;
for(r=0;r<TAU*9;r+=.01){
fill(160-r*2,r*5,60-r);
push();
translate(cos(r)*r*9+360,sin(r)*r*9+360);
rotate(t+r*r/9);
ellipse(sin(r*9+t)*90,0,S=sin(t+r*r)*50,S/5);
pop();
}
}#つぶやきProcessing pic.twitter.com/wVHCPBienQ
size(720,720);
— はぅ君 (@Hau_kun) April 27, 2020
clear();
noStroke();
for(float r=TAU*9;r>-TAU*4;r-=.01){
fill(128-r*(r>0?2:9),abs(r)*5,60-r*(r>0?1:5));
push();
translate(cos(r)*r*5+360,sin(r)*r*5+360);
rotate(r*r/9);
ellipse(sin(r>0?r*19:r/4)*99,0,sin(r*r)*70,sin(r*r)*7);
pop();
}#つぶやきProcessing pic.twitter.com/DG7P9Ns6c1
螺旋状に配置した楕円で描かれている。
float r,t,S;
— はぅ君 (@Hau_kun) April 28, 2020
void setup(){size(720,720);noStroke();}
void draw(){
clear();
t+=.0003;
for(r=0;r<TAU*9;r+=.01){
fill(r*5);
push();
shearX(sin(t)*r);
translate(cos(r)*r*9+360,sin(r)*r*9+360);
rotate(r*r/99-t);
rect(sin(t+r)*50,0,S=sin(r*r-t)*r,S/5);
pop();
}
}#つぶやきProcessing pic.twitter.com/t91Lzvl5ce
size(720,720);
— はぅ君 (@Hau_kun) April 29, 2020
noStroke();
clear();
for(float r=TAU*9;r>0;r-=.01){
fill(cos(r*28)*99+128,sin(r*r)*255,99,sin(r*7)*160+64+r*2);
push();
translate(cos(r)*r*9+360,sin(r)*r*9+360);
rotate(r+(r%.4-.2)*4);
ellipse(sin(r*r)*9,0,40+r*2,r/9);
pop();
}#つぶやきProcessing pic.twitter.com/wbNJO6QAmS
float i,R,t;
— はぅ君 (@Hau_kun) April 30, 2020
void setup(){size(720,720);}
void draw(){
clear();
t+=.1;
beginShape(QUAD_STRIP);
for(i=0;i<500;i++){
fill(i/4+128,192-i%64,255-i%96);
vertex(cos(R=i/9+(i%4>1?TAU:0)+sin(t+i*i)*.1)*R*9+360,sin(R)*R*9+360);
}
endShape();
}#つぶやきProcessing pic.twitter.com/pm7pCcYBKX
コメント