【作品73】ピクセル化した画像の中に、星を入れる

【作品73】ピクセル化した画像の中に、星を入れる
  • URLをコピーしました!

この記事を書いた人

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

目次

作品の画像とコード

PImage img;
float pixelSize = 50; // ピクセルサイズ(固定)

void setup() {
  size(1080, 1080);
  frameRate(60);
  smooth();

  // 画像をロード
  img = loadImage("2.jpg"); // 使用する画像ファイル名を適切に変更してください
}

void draw() {
  background(0);

  // 画像を描画
  drawImageWithShapes(img, pixelSize);
}

void drawImageWithShapes(PImage img, float pixelSize) {
  PImage resizedImg = img.copy();
  resizedImg.resize(width, height); // 画像サイズを画面サイズに合わせる

  for (int y = 0; y < height; y += int(pixelSize)) {
    for (int x = 0; x < width; x += int(pixelSize)) {
      color c = resizedImg.get(x, y); // 画像から色を取得
      fill(c);
      noStroke();

      // 四角形を描画
      rect(x, y, pixelSize, pixelSize);

      // 星を描画(四角形の中心を基準に配置)
      fill(255, 255, 255, 150); // 半透明の白い星
      drawStar(x + pixelSize / 2, y + pixelSize / 2, pixelSize * 0.2, pixelSize * 0.4, 5); // 星を描画
    }
  }
}

void drawStar(float centerX, float centerY, float innerRadius, float outerRadius, int numPoints) {
  float angleStep = TWO_PI / numPoints; // 各頂点の角度
  beginShape();
  for (int i = 0; i < numPoints * 2; i++) {
    float angle = i * angleStep / 2; // 星の内外の頂点を交互に配置
    float radius = (i % 2 == 0) ? outerRadius : innerRadius; // 外側と内側を切り替え
    float x = centerX + cos(angle) * radius;
    float y = centerY + sin(angle) * radius;
    vertex(x, y); // 頂点を設定
  }
  endShape(CLOSE);
}
ワタタク

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

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

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

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

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

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

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

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

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