Generative Design with p5.js / Sketch P_2_2_2_01 を試しながらアレンジ。
元ネタ:https://editor.p5js.org/generative-design/sketches/P_2_2_2_01
新たに覚えたコマンドなど
get(x, y)
// Get a region of pixels, or a single pixel, from the canvas.
// Returns an array of [R,G,B,A] values for any pixel or grabs a section of an image.
point(x, y)
// Draws a point, a coordinate in space at the dimension of one pixel.
ロジックのポイント
ドットを打ちながら進んでいき、壁にあたったらそこまでの直線を描画した上で、角度をランダムに変えて跳ね返り、描いた線か壁にあたったらまた線を描画してランダムに跳ね返るということを繰り返す。
描画した線との衝突判定は、ピクセルの色をもとに行っているが、どうも不安定。
デフォルトのままではうまく跳ね返らなかったが、適当にやっているうちに以下のようなコードを一行追加したら跳ね返るようになった。
コードの内容自体はまったく無意味なはずなのに、なぜ治ったのか。
text('a', 2000, 22);
アレンジ
跳ね返るたびに直線の色を変更するようにした。HUEを10ずつ増やしている。