【作品No.63】ピクセルアートのアニメーションで拡大の位置を変える

【作品No.63】ピクセルアートのアニメーションで拡大の位置を変える
  • URLをコピーしました!
ワタタク

目的は画像を使ったピクセルアートのアニメーションで値拡大させる位置を真ん中に変えること。

この記事を書いた人

ワタタク(Watataku)
  • クリエイティブコーダー / アーティスト
  • 「人の心に寄り添う、機能するアート」を探究しています
  • アートとテクノロジーが、社会や個人のウェルビーイングにどう貢献できるかに、関心があります

目次

作品の画像とコード

【作品No.63】ピクセルアートのアニメーションで拡大の位置を変える

アニメーション。

1枚目の画像。

PImage img;
float pixelSize = 10; // 初期ピクセルサイズ (小数点)
float growthRate = 0.5; // サイズ変更の速さ

void setup() {
  size(1080, 1080);
  img = loadImage("22, Building, USA, New York.jpg");
  img.resize(width, height);
  frameRate(60); // スムーズな描画
  smooth(); // アンチエイリアスを有効化
}

void draw() {
  background(0);
  // 中心点を計算
  int centerX = width / 2;
  int centerY = height / 2;

  for (int y = -int(height / (2 * pixelSize)) * int(pixelSize); 
       y < int(height / (2 * pixelSize)) * int(pixelSize); 
       y += int(pixelSize)) {
    for (int x = -int(width / (2 * pixelSize)) * int(pixelSize); 
         x < int(width / (2 * pixelSize)) * int(pixelSize); 
         x += int(pixelSize)) {
      int imgX = centerX + x;
      int imgY = centerY + y;

      if (imgX >= 0 && imgX < width && imgY >= 0 && imgY < height) {
        color c = img.get(imgX, imgY);
        fill(c);
        noStroke();
        rect(imgX, imgY, pixelSize, pixelSize);
      }
    }
  }
  
  // ピクセルサイズを変更
  pixelSize += growthRate;
  if (pixelSize >= 300 || pixelSize <= 10) growthRate *= -1; // 逆方向へ切り替え
}
ワタタク

それでは今日もレッツワクワクコーディング。

ワタタク(Watataku)
クリエイティブコーダー/アーティスト
AIと共に、「人の心に寄り添う、機能するアート」を探究しています。

ここは、その思索と創造の全記録を記す、思考の実験室(アトリエ)です。

僕の創作の源泉は、人生経験そのものです。
不当な出来事や、精神的な支配の中で、私の心は何度も粉々に砕け散りました。しかし、その一つ一つの破片をどのようにすれば鮮やかな絵の具にできるかを考え、ゆっくり心のパレットに色を整えていきました。その、長い、長い、自身との対話の果てに「人の役に立つアートを作りたい」という考え方にたどり着きました。

かつて、僕の武器は、アコースティックギター弾き語りと、カメラでした。
オリジナルソングの演奏でお客様投票1位となった「物語の力」。
世界20カ国の旅で培った、多様な「視点」。

今、僕は、それら全ての経験を、「コード」という、新しい言語で、世界に問いかけています。

このブログでは、作品の制作過程や、日々の発見、そして、僕自身の上達の軌跡を記録していきます。

僕の旅が、あなたの日常を、ほんの少しでも豊かにするための、光になることを願って。

クリエイティブコーディングロード運営者 ワタタク
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次