generativeart_039
// 作品概要:
// Zendoodle
// (C)2024 sakuzo_arts
// Global変数
String APPNAME = "generativeart_039";
// セットアップ
void setup() {
size(800, 800);
noLoop();
}
// 描画
void draw() {
// 背景色設定
background(255, 255, 255);
noFill();
noStroke();
// 描画処理
drawpPttern(5);
// フッター表示
drawFooter();
}
// パターンを描画する関数
void drawpPttern(int PIECE_NUMBER) {
// 各ピースの幅と高さ
float PIECE_WIDTH = width / PIECE_NUMBER;
float PIECE_HEIGHT = height / PIECE_NUMBER;
// 各ピースの描画
for (float i = 0; i <= PIECE_NUMBER; i = i + 1) {
for (float j = 0; j <= PIECE_NUMBER; j = j + 1) {
float PIECE_CORNER_R = 10;
float PIECE_X = PIECE_WIDTH * i;
float PIECE_Y = PIECE_HEIGHT * j;
// 座標情報を保存
pushMatrix();
// キャンバスの中心を移動する
translate(PIECE_X, PIECE_Y);
// 四角ピース
fill(255, 255, 255);
rect(0, 0, PIECE_WIDTH, PIECE_HEIGHT, PIECE_CORNER_R);
// ピース内の線
for (float n = PIECE_WIDTH; n >= 0; n = n - 20) {
fill(255/PIECE_WIDTH*n ,255/PIECE_WIDTH*n, 255/PIECE_WIDTH*n);
stroke(128, 128, 128);
strokeWeight(2);
rect(0, 0, n, n);
}
// 保存していた座標情報を呼び出し
popMatrix();
}
}
}
// フッターを表示する関数
void drawFooter() {
// 長方形の描画方法をデフォルトに戻す
rectMode(CORNER);
// 長方形を背景として描画する
noStroke();
fill(255, 255, 255, 192);
rect(0, height - 45, width, 45);
// 作品名
textAlign(LEFT, BOTTOM);
textSize(20);
fill(64);
text(APPNAME, 30, height - 10);
// 著作権表示
textAlign(RIGHT, BOTTOM);
textSize(20);
fill(64);
text("(C)2024 sakuzo_arts", width - 30, height - 10);
}
// キー操作でイベントを実行する関数
void keyPressed() {
// スペースキーを押下で再描画
if (key == ' ') {
redraw();
}
// Shift+sキーを押下で画像保存
if (key == 'S') {
int Y = year();
int M = month();
int D = day();
int h = hour();
int m = minute();
int s = second();
String FILENAME = APPNAME + "-" + Y + nf(M, 2) + nf(D, 2) + nf(h, 2) + nf(m, 2) + nf(s, 2);
saveFrame(FILENAME + ".png");
}
}
この記事が気に入ったらサポートをしてみませんか?