【作品No.27】動くハートたち【p5.js 2025年1月27日】

【作品No.27】動くハートたち【p5.js 2025年1月27日】
  • URLをコピーしました!

この記事を書いた人

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

目次

作品の画像とコード

【作品No.27】動くハートたち【p5.js 2025年1月27日】

アニメーション。

let t = 0; // 時間変数(時間の経過を記録するための変数)

function setup() {
  createCanvas(600, 600); // キャンバスサイズを600x600ピクセルに設定
}

function draw() {
  background("#ffe5ec"); // 背景色を設定
  t += 0.08; // 時間を更新(0.08ずつ増加)

  // 10×10のグリッドを作成するループ
  for (let i = 0; i < 10; i++) {
    for (let j = 0; j < 10; j++) {
      let x = i * 60 + 30; // ハートのX座標(端に配置されるように調整)
      let y = j * 60 + 30; // ハートのY座標(端に配置されるように調整)
      let heartScale = 1.8 + 0.1 * sin(t + (i + j) * 0.5); // ハートのサイズを時間と位置に基づいて変動させる
      drawHeart(x, y, heartScale); // ハートを描く
    }
  }
}

// ハートを描く関数
function drawHeart(x, y, heartScale) {
  fill("#fb6f92"); // ハートの色をピンク色に設定
  noStroke(); // ハートの輪郭線を消す
  beginShape(); // カスタムシェイプの描画開始
  vertex(x, y - 10 * heartScale); // 上の頂点を設定
  // ベジェ曲線でハートの右上と右側を描く
  bezierVertex(x + 10 * heartScale, y - 20 * heartScale, x + 20 * heartScale, y, x, y + 10 * heartScale);
  // ベジェ曲線でハートの左上と左側を描く
  bezierVertex(x - 20 * heartScale, y, x - 10 * heartScale, y - 20 * heartScale, x, y - 10 * heartScale);
  endShape(CLOSE); // カスタムシェイプの描画終了
}

作った感想

【作品No.26】リサジュー曲線たち【p5.js 2025年1月26日】を眺めていて、ハートにしたら面白いかなぁ。と思って作成。

ハートのYの位置、もう少し調整したほうがよかった。

ツメが甘い。

ワタタク

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

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

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

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

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

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

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

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

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