材料は以下の通り。
- 紙コップ
- ノートPC
これだけ。
ノートPCにフルスクリーンでこの間作った1/fのあれをちょっとカスタマイズして表示します。
ノートPCのモニタ側を下にして倒して、その上に紙コップを置きます。
クッソ雑だけど、図にするとこんな感じ。
これの動画を撮ると、
こんな感じ。
なかなか良い感じじゃないですかね!?
そんなわけで今日のところはここまで。
ハッピーハロウィン♪(もう終わったけど 2回目)
ProcessingかvvvvかopenFrameworksかUnityあるいはUnrealEngineか・・・とにかくアートプログラミング(メディアアート)をやってみたいから色々と勉強してみたりするオッサンのブログです。
| 自転車がさかさま! |
| スナックの看板がさかさま! |
| お店のメニューもさかさま! |
| のれんと提灯がさかさま! |
| 商店街の看板までさかさま! |
int gX;
int gY;
void setup() {
size(200, 200);
background(255);
gX = width / 2;
gY = height / 2;
}
void draw() {
int value = (int)(random(4));
if(value == 0) { gX += 1; }
else if(value == 1) { gX -= 1; }
else if(value == 2) { gY += 1; }
else { gY -= 1; }
stroke(0);
point(gX, gY);
}
public class Walker {
int mX;
int mY;
color mColor;
public Walker(color col) {
mX = width / 2;
mY = height / 2;
mColor = col;
}
public void update() {
int value = (int)(random(4));
if(value == 0) { mX += 1; }
else if(value == 1) { mX -= 1; }
else if(value == 2) { mY += 1; }
else { mY -= 1; }
}
public void onDraw() {
stroke(mColor);
point(mX, mY);
}
}
ArrayList<Walker> gWalkerList;
void setup() {
size(200, 200);
background(0);
gWalkerList = new ArrayList();
for(int i=0; i<100; ++i) {
gWalkerList.add(new Walker(color((int)random(255), (int)random(255), (int)random(255))));
}
}
void draw() {
fill(0, 10);
rect(0, 0, width, height);
for(Walker walker : gWalkerList) {
walker.update();
walker.onDraw();
}
}
float x = 0.1f;
void setup() {
size(200, 200);
background(0, 0, 0);
frameRate(20);
}
void draw() {
fill(0, 0, 0);
rect(0,0,width, height);
if(x < 0.5f) {
x = x+2.0f*x*x;
}
else if(x >= 0.5f) {
x = x-2.0f*(1.0f-x)*(1.0f-x);
}
fill(255, 36, 0, (255*x));
rect(0,0,width, height);
}
![]() |
| 実行結果 |
float x = 0.1f;
void setup() {
size(200, 200);
background(0, 0, 0, 255);
frameRate(20);
}
void draw() {
fill(20, 10, 0);
rect(0, 0, width, height);
if(x < 0.5f) {
x = x+2.0f*x*x;
}
else if(x >= 0.5f) {
x = x-2.0f*(1.0f-x)*(1.0f-x);
}
if((x < 0.005) || (x > 0.995)) {
x = random(1.0);
}
x = x * 0.7 + 0.3f;
fill(255, 36, 0, (255*x));
rect(0, 0, width, height);
}
![]() |
| 実行結果 |