【p5.js】genuary2025.1.19 Op Art.【作品No.22】

【p5.js】genuary2025.1.19 Op Art.【作品No.22】
  • URLをコピーしました!

この記事を書いた人

クリエイティブコーダー Watataku のプロフィール写真
ワタタク(Watataku)

上達の研究家 / アーティスト

「才能」ではなく「論理(システム)」で、人の心を動かす機能するアートを探究中

【文系・36歳・未経験】から独学でクリエイティブコーディングに挑戦し、独自の思考法で以下の実績を達成

  • 開始1年8ヶ月目までに公募6つに挑戦し、3つ入選(勝率50%)
  • 開始1年9ヶ月目に、虎ノ門ヒルズ ステーションタワー49階 スカイガーデン&プールのために制作した作品が展示される
目次

作品の画像とコード

【p5.js】genuary2025.1.19 Op Art.【作品No.22】

アニメーション。

function setup() {
  createCanvas(800, 800);
  noFill();
  textSize(300);
  textAlign(CENTER, CENTER);
}

function draw() {
  background(255);

  fill(0);
  text("OP", width / 2, height / 2 - 140);
  text("ART", width / 2, height / 2 + 140);

  translate(width / 2, height / 2);

  strokeWeight(3);
  drawPattern();
}

function drawPattern() {
  var w = width - 100;
  var h = height - 100;

  for (var i = -w / 2; i < w / 2; i += 10) {
    for (var j = -h / 2; j < h / 2; j += 10) {
      strokeWeight(2 + (i + j) % 4); 
      stroke(random(255), random(255), random(255));
      line(i, j, i + 5, j + 5); 
    }
  }
}

剰余演算子を使用

太さが変わる理由は、strokeWeight(2 + (i + j) % 4); という行にあります。この行では、線の太さを 2 + (i + j) % 4 で設定しています。具体的には、以下のように計算されます:

  1. ij の値を足し合わせます。
  2. その合計に対して 4 を割った余り(% は剰余演算子)を求めます。
  3. その結果に 2 を足して、線の太さとして設定します。

例えば、i = 10j = 20 の場合:

  • i + j = 30
  • 30 % 4 = 2
  • 2 + 2 = 4

このようにして、線の太さが 2 から 5 まで変化。線がランダムに太くなったり細くなったりする効果が生まれます。

この処理により、視覚的に興味深いパターンが作られ、Op Artの特徴である動きや振動感を表現している。

作った感想

OP ARTのことを知りました。

いろんな表現があるんですね。

ワタタク

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

ワタタク(Watataku)
上達の研究家
アナログ絵画(2025.11~) × クリエイティブコーディング(2024.3~)

「不完全な人間(Analog)」が、「完全な論理(Algorithm)」を武器にどこまで行けるか。

手描きの一本の線(One)をコードで無限(All)に拡張し、再び一つの作品へ定着させる。「才能」ではなく「発見」と「システム」で描く、人生をかけた実験記録。

溢れる思考を、独自の脳内OS「Watataku Blueprint」で整理し、初心者から世界で活躍するまでの「激闘」と「攻略本」を公開しています。

▼【創作×上達】思考を「作品」に変える、モレスキン6冊の運用設計図
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次