夏休み効果なのか、中旬から私以外の参加者が一気に増えたため、突然「#つぶやきProcessing」が盛り上がってきた月でした。
それに伴い、「つぶやきProcessing」に関するツイートを自動でまとめるTwitterBot(@TweetProcessing)を設置いたしました。
float t;
— はぅ君 (@Hau_kun) August 3, 2019
void setup(){
noStroke();
size(400, 400, P3D);
}
void draw(){
clear();
for(int i = 1; i < 9; i++){
fill(99, 99);
resetMatrix();
translate(0, 0, -99 + i * 5);
rotateX(t * .9);
rotateZ((t += .001) * i);
box(i * 3);
}
}#つぶやきProcessing pic.twitter.com/5YU0o1IsZ0
int i, x, y;
— はぅ君 (@Hau_kun) August 3, 2019
void draw(){
noStroke();
noiseSeed(second());
for(i = 0; i < 1024; i++){
x = (i % 32) / 2 * 7;
y = i / 32 * 7;
fill(noise(i % 8, i / 32 % 4) < .5 ? 255 : 0);
triangle(x + i % 2 * 7, y + i % 2 * 7, x + 7, y, x, y + 7);
}
}#つぶやきProcessing pic.twitter.com/GTto9AICNw
float p[] = new float[64];
— はぅ君 (@Hau_kun) August 4, 2019
void draw(){
clear();
for(int i = 0; i < 64; i++){
fill(((p[i] += p[i] % 50 == 0 ? random(9) < .1 ? 1 : 0 : 1) – 25) % 100 < 50 ? 255 : 99);
ellipse(i % 8 * 12 + 6, i / 8 * 12 + 6, 8 * abs(cos(p[i] / 50 * PI)), 8);
}
}#つぶやきProcessing pic.twitter.com/m3wPNWI7GE
float t, n, i, j;
— はぅ君 (@Hau_kun) August 5, 2019
void draw(){
colorMode(3);
for(i = 0; i < 10000;){
j = i++ % 2500;
n = noise(j % 50 / 9, j / 450, t += .000006);
stroke(n * 255, 192, 255);
point((i % 5000 > 2500 ? j : -j) % 50 + 50, (i > 5000 ? j : -j) / 50 + 50);
}
}#つぶやきProcessing pic.twitter.com/4igpcrBpk4
float t, i, j, n;
— はぅ君 (@Hau_kun) August 6, 2019
void draw(){
clear();
for(i = 0; i < 7; i++){
fill(128, i * 20, 192);
for(j = 0; j < 10; j++){
n = i + TAU * noise(i, j / 30 – (t += .0001));
circle(cos(n) * (j * 4) + 50, sin(n) * (j * 4) + 50, 11 – j);
}
}
}#つぶやきProcessing pic.twitter.com/Yy9Pd0QkUt
float i, t;
— はぅ君 (@Hau_kun) August 8, 2019
void draw(){
clear();
strokeWeight(9);
t += .02;
for(i = 0; i <= 100; i += 2){
stroke(96 + i, 128 + i, 255, 64);
line(i, 40 + sin(t * 2.7 + i) * (20 + sin(t) * 5), i, 60 – sin(t * 1.4 + i) * (20 + sin(t * 1.7) * 5));
}
}#つぶやきProcessing pic.twitter.com/dx6SyvPEIw
float i, t, a;
— はぅ君 (@Hau_kun) August 9, 2019
void draw(){
translate(50, 50);
for(i = 140; i > 0; i -= 5){
a = (t += .005) * i / 100;
triangle(cos(a) * i, sin(a) * i, cos(a + TAU / 3) * i, sin(a + TAU / 3) * i, cos(a + 2 * TAU / 3) * i, sin(a + 2 * TAU / 3) * i);
}
}#つぶやきProcessing pic.twitter.com/ku4kSF87c3
float t, i;
— はぅ君 (@Hau_kun) August 10, 2019
void draw(){
rectMode(CENTER);
clear();
for(i = 100; i >= 0; i -=10){
fill(255 – i * 1.5);
square(50 + cos(3 * (i / 80 + (t += .003))) * 10, 50 + sin(2 * (i / 80 + t)) * 10, i);
}
}#つぶやきProcessing pic.twitter.com/nFnoHgXYyn
大きさの違う四角形の移動をずらすことでばねみたいな効果を作成。
float t, x, y;
— はぅ君 (@Hau_kun) August 10, 2019
void draw(){
clear();
for(int i = 0; i < 36; i++){
x = i % 6 * 20 + (i / 6 % 2 == 0 ? 0 : 10);
y = i / 6 * 20 + 10;
fill(255);
circle(x, y, 20);
fill(0);
circle(x + cos((t += .005) + i), y + sin(t + i), 17);
}
}#つぶやきProcessing pic.twitter.com/3SySK3Ofsb
三日月形をモチーフに何かできないかと考えてみたモノ。
float d, t;
— はぅ君 (@Hau_kun) August 10, 2019
void draw(){
clear();
noStroke();
rectMode(CENTER);
for(d = 0; d < TAU; d += PI / 6){
resetMatrix();
translate(cos(d + (t += .005) / 3) * 40 + 50, sin(d + t / 3) * 40 + 50);
rotate(d + t);
rect(0, 0, 45, 10);
}
}#つぶやきProcessing pic.twitter.com/nuAAtsvMal
位置の回転とオブジェクトの回転を合わせた動き。
int i, j;
— はぅ君 (@Hau_kun) August 10, 2019
float t;
void draw(){
clear();
for(i = 0; i < 10; i++){
for(j = 0; j < noise(t += .001, i) * 20; j++){
fill(0, 255, 0);
rect(i * 10, 100 – j * 5, 9, 4);
}
fill(255, 128, 0);
rect(i * 10, 100 – j * 5, 9, 4);
}
}#つぶやきProcessing pic.twitter.com/2uNV6TQCaF
イコライザー。身の回りのものを創ってみる。
float t;
— はぅ君 (@Hau_kun) August 10, 2019
void draw(){
clear();
stroke(255, 64);
t += .1;
for(float i = 0; i < 100; i++){
line(cos(i / 7 + t * 1.2) * 25 + 25, sin(i / 7 + t * 1.4) * 25 + 25, cos(i / 10 + t * 2) * 25 + 75, sin(i / 10 + t) * 25 + 75);
}
}#つぶやきProcessing pic.twitter.com/CmBDbH6GGV
線の集まりが立体のように見えてくる。
float t;
— はぅ君 (@Hau_kun) August 10, 2019
void draw(){
clear();
noStroke();
t += .03;
for(int i = 0; i < 16; i++){
fill(0xFF4444FF);
rect(i % 4 * 25, i / 4 * 25, 25, 25);
fill(0xFF6688FF);
rect(i % 4 * 25 + 1, i / 4 * 25 + 1, 23, 23, noise(t + i) * 23);
}
}#つぶやきProcessing pic.twitter.com/y2i3NqhQTO
rect()に第5引数があることを初めて知った。角丸四角形を描くことができる。
size(512, 512);
— はぅ君 (@Hau_kun) August 10, 2019
PImage g = loadImage("https://t.co/HMPfaSgo97");
background(g);
loadPixels();
clear();
for(int i = 0; i < 8192; i++){
int y = i / 64 * 4;
int x = i % 64 * 8 + (y % 8 == 0 ? 0 : 4);
fill(pixels[y * 512 + x]);
rect(x, y, 8, 4, 3);
}#つぶやきProcessing pic.twitter.com/oNBaVtGyVj
存在しないお部屋の写真を生成してくれるサイトを使って、パッチワークみたいな画像を生成。
size(800, 800);
— はぅ君 (@Hau_kun) August 10, 2019
colorMode(HSB);
translate(400, 400);
float d;
for(d = 800; d > 0; d -= random(99)){
fill(random(255), 64, 192);
circle(0, 0, d);
}
for(d = 0; d < TAU; d += PI / 8.0){
rotate(d);
fill(random(255), 64, 192);
ellipse(200, 0, 350, 20);
}#つぶやきProcessing pic.twitter.com/1gkz8yqti8
魔法陣っぽい何かを作りたくて創ったもの。
size(800, 800);
— はぅ君 (@Hau_kun) August 10, 2019
background(0, 99, 192);
translate(400, 400);
for(float l = 450; l > 0; l -= random(25)){
rotate(random(PI));
fill(random(192), 192, 255, 128);
for(float d = 0; d < TAU; d += PI / 8){
rotate(d);
circle(l, random(99), l / 8);
}
}#つぶやきProcessing pic.twitter.com/PJTWuTDUnl
海の底から湧き上がってくる泡のイメージ。
float y, t, i;
— はぅ君 (@Hau_kun) August 11, 2019
void draw(){
clear();
for(i = -5; i < 10; i++){
y = i * 10 + noise(i / 10 + (t += .001)) * 60;
strokeWeight(8);
stroke(128, 192, 255, 160);
line(0, y, 100, y);
strokeWeight(4);
line(0, y, 100, y);
}
}#つぶやきProcessing pic.twitter.com/36HhwQdprI
float t;
— はぅ君 (@Hau_kun) August 12, 2019
void draw(){
clear();
colorMode(HSB);
noStroke();
translate(50, 50);
for(int i = 0; i < 100; i++){
rotate(t += .00002);
fill(i * 2.5, 255, 255, 192);
square(50 – i % 10 * 10, 50 – i / 10 * 10, 10);
}
}#つぶやきProcessing pic.twitter.com/YDzjQ20Opv
時たま位置が揃って構造が見えるのが面白い。
float t, T, a, y;
— はぅ君 (@Hau_kun) August 12, 2019
void draw(){
clear();
T = t++ % 100;
a = T == 0 ? -3 : (a += .1);
y = T == 0 ? 0 : y + a;
fill(255);
for(int i = 0; i < 100; i++){
square(i % 10 * 10 + T * (noise(i) – .5), i / 10 * 10 + y * (noise(i) + .5), 10);
}
}#つぶやきProcessing pic.twitter.com/Pp04yXzrJh
float d, t;
— はぅ君 (@Hau_kun) August 13, 2019
void setup(){
size(400, 400);
stroke(255, 64);
}
void draw(){
clear();
t += .03;
for(d = 0; d < TAU * 2; d += .02){
resetMatrix();
translate(200, 200);
rotate(d);
line(noise(d + t) * 300, 0, noise(d + t) * -300, 0);
}
}#つぶやきProcessing pic.twitter.com/zIjkryvkk3
他の人の作品を参考に、大き目のSketchを作っていこうと試みる。
float t, i;
— はぅ君 (@Hau_kun) August 13, 2019
void draw(){
t += .03;
for(i = 0; i < 4; i++){
bezier(20, 12, 25, 0, 75, 0, 80, 12);
bezier(20, 12, 25, 25, 75, 25, 80, 12);
circle(50 + sin(t + i) * 10, 12, 15);
circle(50 + sin(t + i) * 12, 12, 8);
translate(0, 25);
}
}#つぶやきProcessing pic.twitter.com/vIIqB4g1PH
float t, i;
— はぅ君 (@Hau_kun) August 13, 2019
void setup(){
blendMode(DIFFERENCE);
colorMode(HSB);
}
void draw(){
clear();
t += .1;
for(i = 0; i < 100; i++){
fill((10 * t + i * 2.5) % 255, 255, 255);
rect(20, i, 60, 1);
rect(i, sin(t) * 25 + 25, 1, 50);
}
}#つぶやきProcessing pic.twitter.com/tAaS43aAp1
実質ピクセル操作になったので、シェーダーみたいな動きが創れた。
float t, j;
— はぅ君 (@Hau_kun) August 14, 2019
void setup(){
size(800, 800);
noFill();
stroke(255);
}
void draw(){
clear();
t += .1;
for(int i = 0; i < 25; i++){
for(j = 10; j < 150; j += 20){
circle(i % 5 * 200 + sin(t + i + j / 100.0) * 100, i / 5 * 200, j);
}
}
}#つぶやきProcessing pic.twitter.com/vgOTU4jIjV
各構成ごとに動きをずらしているので、と見た目的にも楽しい。
float x, y, i, j, r;
— はぅ君 (@Hau_kun) August 14, 2019
size(800, 800);
noStroke();
fill(0x200044FF);
for(j = 0; j < 9; j++){
beginShape(TRIANGLE_STRIP);
x = y = 400;
for(i = 0; i < 999; i++){
r = (int)random(8) * PI / 4;
vertex(x += cos(r) * 30, y += sin(r) * 30);
}
}#つぶやきProcessing pic.twitter.com/tlMDZeacsL
なんちゃって背景に使えそう。
void setup(){
— はぅ君 (@Hau_kun) August 14, 2019
size(800, 800);
textFont(createFont("f.ttf", 96));
}
void draw(){
for(float d = 0; d < TAU; d += PI / 8){
fill(128, 192, d * 40);
resetMatrix();
translate(400, 400);
rotate(d);
text("ue0a7", 200, 200);
}
}#つぶやきProcessing pic.twitter.com/JC0Tpv4p6b
String[] s = split("#,つ,ぶ,や,き,P,r,o,c,e,s,s,i,n,g", ",");
— はぅ君 (@Hau_kun) August 15, 2019
float t;
void setup(){
size(150, 100);
textAlign(CENTER);
}
void draw(){
clear();
for(int i = 0; i < 15; i++){
text(s[i], i * 10 + 5, 55 + tan(-i * .20 + (t += .003))* 5);
}
}#つぶやきProcessing pic.twitter.com/IUVLrfQ7Sl
float x = 1.9, y = 0.6;
— はぅ君 (@Hau_kun) August 15, 2019
size(1920, 1080);
clear();
stroke(255, 8);
for(int i = 0; i < 4000000; i++){
float tx = cos(x * y) / y;
float ty = cos(x) – sin(y) * x;
x = tx;
y = ty;
point(x * 300 + 960, y * 300 + 540);
}#つぶやきProcessing pic.twitter.com/ScL8lu3Kzl
単純な数式だけど、4百万個の薄い点を打っていくと、予想外の複雑さと、しかし認識可能な構造が描かれる。
float d, t, s;
— はぅ君 (@Hau_kun) August 16, 2019
void draw(){
clear();
noStroke();
noiseSeed(frameCount / 20);
t = frameCount % 20 == 0 ? 0 : t + s;
s = t == 0 ? 3 : s – .1;
for(d = 0; d < TAU; d += .3){
circle(cos(d) * t + noise(1) * 99, sin(d) * t + noise(9) * 99, 3);
}
}#つぶやきProcessing pic.twitter.com/kEnMDHIlKD
float t;
— はぅ君 (@Hau_kun) August 17, 2019
void setup(){
size(800, 800);
rectMode(CENTER);
noFill();
stroke(99);
strokeWeight(5);
}
void draw(){
clear();
for(int i = 0; i < 240; i++){
square(abs(800 – (t += .002) * (i / 20 + 1) % 1600), 200 + i / 20 * 40, i % 20 * 20);
}
}#つぶやきProcessing pic.twitter.com/Kdv5dDYi2Y
float d;
— はぅ君 (@Hau_kun) August 17, 2019
void setup(){
size(800, 800);
noFill();
colorMode(HSB);
}
void draw(){
clear();
translate(400, 400);
for(int i = 0; i < 400; i++){
rotate(d += .000003);
stroke((i + d * 999) % 255, 255, 255, 128);
line(-i, -i, i, -i);
}
}#つぶやきProcessing pic.twitter.com/EdIvvqd2X5
int[] a = {0,0,9,0,0,9,9,9,0,0,9,0,0,9};
— はぅ君 (@Hau_kun) August 17, 2019
int x, y, p;
size(720, 720);
noStroke();
for(y = 0; y < 720; y += 9)
for(x = 0; x < 720; x += 9){
fill((x * y) % 255);
p = (int)(noise(x, y) * 8);
triangle(x+a[p],y+a[p+1],x+a[p+2],y+a[p+3],x+a[p+4],y+a[p+5]);
}#つぶやきProcessing pic.twitter.com/UXUbKSAHfk
float t, x, y;
— はぅ君 (@Hau_kun) August 17, 2019
void setup(){
size(800, 800);
colorMode(HSB);
textSize(72);
}
void draw(){
clear();
for(int i = 0; i < 1600; i++){
x = i % 40 * 40;
y = i / 40 * 40;
fill((x * y + (t += .0001)) % 255, 224, 255);
text("※", x, y);
}
}#つぶやきProcessing pic.twitter.com/GQU3K19jei
「※」がいい感じの模様を生成してくれる。
float t,D=PI/128;
— はぅ君 (@Hau_kun) August 19, 2019
void setup(){
size(720,720);
colorMode(HSB);
}
void draw(){
clear();
for(int d=0;d<256;d++){
fill(d*3%255,192,255,192);
arc(360+cos(d*D)*abs(sin((t+=.0001)+d))*200,360+sin(d*D)*abs(sin(t+d))*200,360,360,d*D,(d+3)*D);
}
}#つぶやきProcessing pic.twitter.com/vEHL6qpDnL
float[][] p=new float[10][4];
— はぅ君 (@Hau_kun) August 20, 2019
void setup(){
size(720,720);
clear();
}
void draw(){
for(float[] f:p){
f[2]=f[3]==0?(int)random(2)*PI/3+PI/3:f[2];
f[3]=f[3]>20?0:f[3]+1;
f[1]+=f[1]>720?-720:sin(f[2])*2;
circle((f[0]+=cos(f[2])*3)+360,f[1],5);
}
}#つぶやきProcessing pic.twitter.com/OqsM0aJcGX
PGraphics m,g;void setup(){m=createGraphics(100,100);g=createGraphics(100,100);}void draw(){m.beginDraw();https://t.co/FD9Ztbl6s5(mouseX,mouseY,9);m.endDraw();g.beginDraw();for(int i=0;i<100;)g.square(i%10*10,i++/10*10,10);g.endDraw();g.mask(m);image(g,0,0);}#つぶやきProcessing pic.twitter.com/GAWLDL0W7Z
— はぅ君 (@Hau_kun) August 20, 2019
float[][] p=new float[99][4];float r,d;void setup(){size(720,720);}void draw(){clear();for(float[] f:p){r=atan2(f[3]-f[1],f[2]-f[0]);d=dist(f[0],f[1],f[2],f[3])/10;f[2]=d<1?random(720):f[2];f[3]=d<1?random(720):f[3];circle(f[0]+=cos(r)*d,f[1]+=sin(r)*d,10);}}#つぶやきProcessing pic.twitter.com/D0DBIrDnvE
— はぅ君 (@Hau_kun) August 20, 2019
float r,d,a,b,い;
— はぅ君 (@Hau_kun) August 21, 2019
void draw(){
fill(0,64);
square(0,0,102);
stroke(-1);
line(50,0,50,50);
r=random(360);
d=random(30);
for(j=0;j<15;j++){
a=random(360);
b=random(20);
line(cos(r)*d+50,sin(r)*d+50,cos(r)*d+cos(a)*b+50,sin(r)*d+sin(a)*b+50);
}
}#つぶやきProcessing pic.twitter.com/YVGoUbOARZ
float[][] p=new float[9999][2];
— はぅ君 (@Hau_kun) August 22, 2019
void setup(){size(360,360,P3D);}
void draw(){
clear();strokeWeight(3);
for(float[] o:p){
if(random(1)<.03){
o[0]+=random(TAU);o[1]=0;
}
stroke(255,32);point(cos(o[0]+=.01)*50+180,210-(o[1]+=.5),sin(o[0])*50+200);
}
}#つぶやきProcessing pic.twitter.com/ixBjoYAgTZ
召喚エフェクトがモチーフ。
float r,d,a,b,j,k;
— はぅ君 (@Hau_kun) August 22, 2019
clear();
stroke(0,255,0);
line(50,100,50,50);
stroke(99,0,99);
for(k=0;k++<9;){
r=random(360);
d=random(20);
for(j=0;j++<9;){
a=random(360);
b=random(15);
line(cos(r)*d+50,sin(r)*d+50,cos(r)*d+cos(a)*b+50,sin(r)*d+sin(a)*b+50);
}
}#つぶやきProcessing pic.twitter.com/LFbGxjrU3k
#つぶやきProcessingを短歌と見立てた場合に、返歌を作るとしたらどんな感じになるかな、と考えてみて出来上がったモノ。
void setup(){
— はぅ君 (@Hau_kun) August 23, 2019
size(256,256,P2D);
noStroke();
clear();
beginShape(11);
texture(loadImage("https://t.co/3iYGfdIrXt","jpg"));
v(128,128);
for(int i=0;++i<=64;)
v(cos(i*.1)*90+128,sin(i*.1)*110+128);
endShape();
}void v(float x,float y){vertex(x,y,x,y);}#つぶやきProcessing pic.twitter.com/MGjdcXXuJV
float d,t;
— はぅ君 (@Hau_kun) August 24, 2019
void setup(){
size(720,720,P3D);
colorMode(HSB);
strokeWeight(30);
}
void draw(){
clear();
for(d=0;d<TAU;d+=.01,t+=.0001){
stroke((d+t)*20%255,255,d*30%192+64);
point(cos(t+d*2.2)*200+360,tan(t+d*2.8)*100+360,sin(t+d*1.9)*200+100);
}
}#つぶやきProcessing pic.twitter.com/ZfBWBRt3RZ
float d,t;
— はぅ君 (@Hau_kun) August 24, 2019
void setup(){size(720,720,P3D);colorMode(3);strokeWeight(60);}
void draw(){
clear();hint(2);blendMode(2);
for(d=0;d<TAU;d+=.01,t+=.0001){
stroke((d+t)*20%255,255,d*30%192+64,32);
point(cos(t+d*2)*250+360,tan(t+d*2.5)*100+360,sin(t+d*2.5)*250);
}
}#つぶやきProcessing pic.twitter.com/qLh6LnJdku
float d,t;
— はぅ君 (@Hau_kun) August 25, 2019
void setup(){size(720,720,P3D);colorMode(3);strokeWeight(15);}
void draw(){
clear();hint(2);blendMode(2);
for(d=0;d<TAU;d+=.001,t+=.000005){
stroke((d+t)*40%255,255,255,16);
point(cos(t+d*7.1)*500+360,sin(t+d*9)*500+360,-999+tan(t*.1+d*9)*900);
}
}#つぶやきProcessing pic.twitter.com/rZZ8LqnOkm
見た目上奥行きが機能しないため、我々は逆の動きを感知することになる。
float t,s,d;
— はぅ君 (@Hau_kun) August 27, 2019
void setup(){size(720,720,P3D);colorMode(3);strokeWeight(30);}
void draw(){blendMode(2);hint(2);clear();
for(d=0;d<TAU;d+=.004,t+=.000001){
stroke((d+t)*99%255,99,255,9);
point(cos(d*2+t*7)*99+360,sin(d*5.7+t*8)*99+360,-tan(d*3-t)*999);
}
}#つぶやきProcessing pic.twitter.com/X8omFMkG6a
float t,y,i,q;
— はぅ君 (@Hau_kun) August 29, 2019
void setup(){size(720,720);}
void draw(){t+=.01;
for(i=0;i<1;i+=.1){
for(y=0;y<780;y+=60){
fill(y/3,99,i*99);q=sin((t+i+y)%PI)*360;
t(q,y,60);t(720-q,y+30,-60);
}}}
void t(float x,float y,float o){triangle(x+o*.5,y,x-o*.5,y-o*.5,x-o*.5,y+o*.5);}#つぶやきProcessing pic.twitter.com/SJl7S4HlUG
float t;
— はぅ君 (@Hau_kun) August 30, 2019
void setup(){size(720,720);fill(64,64,192);}
void draw(){
clear();
for(int i=0;i<232;i++){
resetMatrix();
translate(i%11*72+((i/11)%2==0?0:36),i/11*36-36);
scale(sin(i*.9+(t+=.0001)),1);
rotate(PI/4);
square(0,0,50);
}
}#つぶやきProcessing pic.twitter.com/QaAP4Kq5fs
noStroke();
— はぅ君 (@Hau_kun) August 31, 2019
fill(0);
randomSeed(350659);
circle(random(100), random(100), 35);
circle(random(100), random(100), 35);
circle(random(100), random(100), 60);
// 違法素数ならぬ違法乱数になるのだろうか#つぶやきProcessing pic.twitter.com/OhF9DSBJI5
これがOKだと、理論上はデジタル化できるすべての画像は乱数から取り出せるはずであり、
これがNGだと、問題と問題ではない画像との境界はどこかという話になる。(↑の画像は、小さな円の位置は対称となっていない)
水素分子をイメージして作っていた、という主張も可能である。
float t;
— はぅ君 (@Hau_kun) August 31, 2019
void setup(){size(720,720);rectMode(3);colorMode(3);}
void draw(){clear();t+=.02;
for(int i=0;i<66;i++){
fill((t*20+i*5)%255,128,255);
resetMatrix();translate(i%6*142,i/6*142+sin(t+i*PI)*108);shearX(sin(t)*PI/4);rotate(PI/4);
square(0,0,100);
}
}#つぶやきProcessing pic.twitter.com/jAKp1m18O7
float d,t,r;
— はぅ君 (@Hau_kun) August 31, 2019
void setup(){size(720,720);rectMode(CENTER);}
void draw(){clear();
for(r=100;r<600;r+=50){
for(t+=.01,d=0;d<TAU;d+=.1){
resetMatrix();translate(cos(d)*r+360,sin(d)*r+360);rotate(d*5+r*.3);shearY(sin(t)*PI/3);
rect(0,0,r/2,r/20);
}
}
}#つぶやきProcessing pic.twitter.com/GDjD5oieJg
コメント