Processingでは3Dを扱うことができるため、7月は3Dの作品も作ってみました。
float t, r;
— はぅ君 (@Hau_kun) June 30, 2019
void draw(){
clear();
noFill();
blendMode(ADD);
t += 0.1;
stroke(128, 128, 255, 64);
translate(50, 50);
for(r = 0; r < TAU; r += PI / 50){
bezier(0, 0, 0, 0, cos(r) * 40, sin(-r) * 40, cos(r – t) * 50, sin(r + t) * 50);
}
}#つぶやきProcessing pic.twitter.com/n2ACG2n15o
float t;
— はぅ君 (@Hau_kun) July 1, 2019
char a;
void draw(){
clear();
textSize(99);
a = t > PI ? (char)random(33, 126) : a;
t += t > PI ? -t : 0.1;
clip(0, 0, 50, 100);
text(a, 40 – sin(t) * 35, 80);
clip(50, 0, 50, 100);
scale(-1, -1);
text(a, -60 – sin(t) * 35, -20);
}#つぶやきProcessing pic.twitter.com/o8z9hnig6T
float t;
— はぅ君 (@Hau_kun) July 4, 2019
void draw(){
clear();
textSize(99);
t += 0.05;
fill(255, 255, 0);
for(int i = 0; i < 100; i+= 10){
rect(sin(t + PI / 2) * 100 * (i / 10 % 2 == 0 ? 1 : -1), i, 100, 10);
}
fill(0);
text((char)((t / PI) % 10 + '0'), 20, 85);
}#つぶやきProcessing pic.twitter.com/MX3F4gfNw7
float[] d = new float[999];
— はぅ君 (@Hau_kun) July 6, 2019
void draw(){
clear();
blendMode(ADD);
noStroke();
fill(255, 8);
for (int i = 0; i < 999; i++){
d[i] += d[i] > 80 ? -d[i] : noise(i);
ellipse(cos(i / PI) * d[i] + 50, sin(i / PI) * d[i] + 50, 10, 10);
}
}#つぶやきProcessing pic.twitter.com/N75EHK3xcN
float t, c, i;
— はぅ君 (@Hau_kun) July 6, 2019
void draw(){
clear();
colorMode(HSB);
c = t > PI ? random(255) : c;
t += t > PI ? -t : 0.1;
for(i = 0; i < 3; i++){
fill((c + i * 85) % 255, 192, 192);
rect(sin(t + PI / 2) * 99 * (i % 2 == 0 ? 1 : – 1), i * 34, 99, 34);
}
}#つぶやきProcessing pic.twitter.com/sE8mFlL0TC
background(0);
— はぅ君 (@Hau_kun) July 6, 2019
colorMode(HSB);
noStroke();
for(int i = 0; i < 360; i += 30){
fill(i / 360.0 * 255, 255, 255);
ellipse(cos(radians(i)) * 40 + 50, sin(radians(i)) * 40 + 50, 20, 20);
}#つぶやきProcessing pic.twitter.com/LNXKu7DAJW
float r, d, t;
— はぅ君 (@Hau_kun) July 7, 2019
void draw(){
clear();
colorMode(HSB);
noStroke();
t += 0.02;
for(r = 0; r < TAU * 10; r += 0.1){
d = sin(r + t) * 50;
fill(r * 9 % 255, cos(t) * 255, 255);
ellipse(cos(r * 1.1) * d + 50, sin(r * 1.1) * d + 50, 3, 3);
}
}#つぶやきProcessing pic.twitter.com/208E4wH5lr
float r, d, t, i, a;
— はぅ君 (@Hau_kun) July 8, 2019
void draw(){
noStroke();
fill(0, 24);
r += 0.1;
d = t < 0 ? random(80) : d – noise(t);
t -= t < 0 ? -random(10) : 0.1;
for(i = 0; i < 4; i++){
a = r + PI / 2 * i;
ellipse(cos(a) * d + 50, sin(a) * d + 50, t, t);
}
}#つぶやきProcessing pic.twitter.com/u0iW85vogn
float t , r;
— はぅ君 (@Hau_kun) July 10, 2019
void draw(){
clear();
colorMode(HSB);
t += 0.02;
translate(50, 50);
for(r = 0; r < TAU; r += PI / 4){
fill((r + t) * 50 % 255, 255, 255);
triangle(0, 0, cos(r + t) * 50, sin(r + t) * 50, cos(r – t) * 30, sin(r – t) * 30);
}
}#つぶやきProcessing pic.twitter.com/h0yvmLkU4A
float t, r;
— はぅ君 (@Hau_kun) July 13, 2019
void draw(){
clear();
rectMode(3);
colorMode(HSB);
noStroke();
t += 0.01;
for(int i = 0; i < 100; i++){
r = pow(noise(i, t), 2) * 10;
fill((i + t * 50) % 255, 255, 255);
rect(i % 10 * 10 + 5, i / 10 * 10 + 5, r, r);
}
}#つぶやきProcessing pic.twitter.com/H3AO6Xlkmv
float x, h, t;
— はぅ君 (@Hau_kun) July 14, 2019
void draw(){
clear();
colorMode(HSB);
noStroke();
t += 0.02;
for(x = 0; x <= 100; x += 4){
h = noise(x / 50 + t) * 100;
fill((x + t * 9 + h) % 255, 255, 255, 192);
rect(x, h, 6, 100 – h);
rect(100 – x, 0, 6, h);
}
}#つぶやきProcessing pic.twitter.com/0exkTqpXFy
float r, s;
— はぅ君 (@Hau_kun) July 15, 2019
void setup(){
background(0);
}
void draw(){
noFill();
stroke(160, 192, 255, 8);
r += 0.071;
s += 0.031;
translate(50, 50);
bezier(cos(r) * 10, sin(r) * 10, 0, 0, cos(r + s) * 50, sin(r + s) * 50, cos(s) * 80, sin(s) * 80);
}#つぶやきProcessing pic.twitter.com/xXrm2Rk7IL
float t, r;
— はぅ君 (@Hau_kun) July 16, 2019
void draw(){
clear();
blendMode(2);
colorMode(3);
t += 0.02;
for(r = 0; r < TAU; r += PI / 8){
fill((r + t) * 99 % 255, 255, 255, 64);
ellipse(cos(r) * cos(t) * 30 + 50, sin(r) * cos(t) * 30 + 50, sin(t) * 40, sin(t) * 40);
}
}#つぶやきProcessing pic.twitter.com/kckXN4I2iq
ADD = 2で、HSB = 3なのでね。
float[] p = new float[100];
— はぅ君 (@Hau_kun) July 18, 2019
float t;
void draw(){
clear();
noFill();
stroke(255, 64);
strokeWeight(3);
t += .1;
for(int i = 0; i < 100; i++){
p[i] = noise(i , t) > .5 ? 0 : p[i];
ellipse(i % 10 * 10, i / 10 * 10, p[i], p[i]++);
}
}#つぶやきProcessing pic.twitter.com/M7BuRzmJwY
float t;
— はぅ君 (@Hau_kun) July 19, 2019
void settings(){
size(100, 100, P3D);
}
void draw(){
clear();
for(int i = 0; i < 140; i++){
pushMatrix();
translate(i % 14 * 15, i / 14 * 15, cos(i + t) * 10);
rotateY(i + (t += .0005));
box(10, 10, 10);
popMatrix();
}
}#つぶやきProcessing pic.twitter.com/gohC4Xnjmf
float t, r;
— はぅ君 (@Hau_kun) July 20, 2019
void setup(){
size(400, 400, P3D);
}
void draw(){
clear();
for(r = 0; r < TAU * 9; r+= PI / 8){
translate(cos(r + t) * 50, sin(r + t) * 50, -500 + r * 10 + tan(t) * 100);
rotateY(t += .0001);
box(12);
resetMatrix();
}
}#つぶやきProcessing pic.twitter.com/BtJA2rfOE6
float t, i, r;
— はぅ君 (@Hau_kun) July 20, 2019
void setup(){
size(400, 400, P3D);
}
void draw(){
clear();
for(i = -100; i <= 100; i += 5){
translate(0, i, -200);
r = sin((t += .0005) + i / 100);
rotateY(r * PI + t);
box(105 – abs(i), 5, 5);
resetMatrix();
}
}#つぶやきProcessing pic.twitter.com/zSZnfW9F3h
Lightを追加するとこんな感じ。
— はぅ君 (@Hau_kun) July 20, 2019
3Dは光の使い方で全然変わりますねぇ。#Processing pic.twitter.com/nUSqYCtt5h
float t, a;
— はぅ君 (@Hau_kun) July 21, 2019
void setup(){
size(400, 400, P3D);
}
void draw(){
clear();
noStroke();
resetMatrix();
pointLight(255, 255, 255, 100, 100, 100);
translate(0, 0, -200);
rotateZ(t += (a += .001));
scale(10, .5, .5);
sphere(10);
}#つぶやきProcessing pic.twitter.com/wXZcRK3Ur8
float[] p = new float[100];
— はぅ君 (@Hau_kun) July 22, 2019
void draw(){
clear();
rectMode(CENTER);
for(int i = 0; i < 100; i++){
p[i] = p[i] > 0 ? p[i] < 10 ? p[i] + .5 : 0 : random(1) < 0.1 ? .1 : 0;
rect(i % 10 * 10 + 5, i / 10 * 10 + 5, p[i], p[i]);
}
}#つぶやきProcessing pic.twitter.com/AcQOHqSvIS
int i, x, a, b;
— はぅ君 (@Hau_kun) July 23, 2019
void draw(){
a++;
b += random(4) – 1;
for(i = 0; i < 36; i++){
x = i % 6 * 18 – 12;
bezier(x, i * 3, x + a, i * 3 + b, x + a, i * 3 – b, x, i * 3);
}
if(random(99) < 4){
a = b = 0;
fill(96, random(255), 160);
}
}#つぶやきProcessing pic.twitter.com/Hh9k4Krf3K
float t, c;
— はぅ君 (@Hau_kun) July 27, 2019
void draw(){
noStroke();
colorMode(HSB);
c = t++ % 25 == 0 ? random(85) : c;
for(int i = 0; i < 100; i++){
fill((i % 3 + 1) * c ,128, 255);
rect(i % 5 * 24 + (i / 5 % 2 == 0 ? -12 : 0), i / 5 * 10, t % 25, 10);
}
}#つぶやきProcessing pic.twitter.com/8pA6wINwzw
float t, i;
— はぅ君 (@Hau_kun) July 28, 2019
void setup(){
size(400, 400, P3D);
}
void draw(){
clear();
for(i = -100; i <= 100; i += 5){
resetMatrix();
translate(0, i, -200);
rotateY(t += .0003);
box(noise(i / 100 + t) * 100, 5, noise(i / 100 + t) * 50);
}
}#つぶやきProcessing pic.twitter.com/7OFJBEQM3f
今話題(?)の周期性パーリンノイズを使うと無限ループアニメがつくれるヽ(・-・)ノ pic.twitter.com/ATWv5kzv8w
— はぅ君 (@Hau_kun) July 28, 2019
float t;
— はぅ君 (@Hau_kun) July 29, 2019
void setup(){
size(400, 400, P3D);
}
void draw(){
clear();
lights();
for(int i = 0; i < 150; i++){
resetMatrix();
translate(i % 10 * 20 – 90, i / 10 * 14 – 90, -200);
rotateY(i * (t += .000001) * PI);
box(14);
}
}#つぶやきProcessing pic.twitter.com/QAiIGz4aSI
コメント