日常の進捗

主に自分のための,行為とその習慣化の記録

Generative Design

Mod: Generative Design / P_2_1_3_02

当初実行画面を見た時に,アルゴリズムが読めなくて困惑した. コードの込み入った部分だけを取り出して読んでみると,for文を使って矩形領域の4辺をなぞるように変数x2,y2を使って座標を移動している.周囲をなぞるようなアルゴリズムはちょうど今日見た以…

Mod: Generative Design / P_2_1_3_01

randomで設定した方向に同心円が伸びる(中心が進行方向に移動する)部分のオフセットの書き方が面白かった. コード import processing.pdf.*; import java.util.Calendar; boolean savePDF = false; int actRandomSeed = (int) random(100000); int tileCo…

Mod: Generative Design / P_2_1_2_03

コード import processing.pdf.*; import java.util.Calendar; boolean savePDF; int actRandomSeed = (int) random(100000); float tileCount = 20; color moduleColor; int moduleAlpha = 70; int max_distance = 500; void setup() { size(960, 540, P3D)…

Mod: Generative Design / P_2_1_2_02

84行目あたりのmoduleRadiusBackground = max(moduleRadiusBackground-2, 10);みたいな書き方はスマートでいいなと思った. コード import processing.pdf.*; import java.util.Calendar; boolean savePDF = false; color moduleColorBackground; color modu…

Mod: Generative Design / P_2_1_1_04

サンプルコードはSVGファイルをシェイプとして読み込むものだったが極力図形をコードで描いた.タイムアップ. コード import processing.pdf.*; import java.util.Calendar; boolean savePDF; int tileCount = 15; float tileWidth, tileHeight; float shap…

Mod: Generative Design / P_2_1_1_01 + P_2_1_1_02 + P_2_1_1_03

コード import processing.pdf.*; import java.util.Calendar; boolean savePDF = false; int strokecap = ROUND; int randomseed = (int) random(10000); int gridSize; color c1, c2, c3; void setup() { size(960, 540); colorMode(HSB, 360, 100, 100, 1…

Mod: Generative Design / P_2_0_02 + P_2_0_03

コード import processing.pdf.*; import java.util.Calendar; boolean recordPDF = false; void setup() { size(960, 540, FX2D); colorMode(HSB, 360, 100, 100, 100); blendMode(ADD); background(0, 0, 0); } void draw() { translate(width/2, height/2…

Mod: Generative Design / P_2_0_01

書けそうだったのでこれまでのPDF保存などの基本構造をベースに書いた.元のサンプルコードと比較してみるとアルゴリズムはかなりトレース出来たことが確認できた. コード import processing.pdf.*; import java.util.Calendar; boolean savePDF = false; v…

Mod: Generative Design / P_1_2_3_03 + P_1_2_3_04

コード import generativedesign.*; import processing.opengl.*; import java.util.Calendar; int colorCount = 20; float[] hue = new float[colorCount]; float[] sat = new float[colorCount]; float[] bri = new float[colorCount]; float alpha = 50; …

Mod: Generative Design / P_1_2_3_02

コード import generativedesign.*; import processing.pdf.*; import java.util.Calendar; boolean savePDF = false; int colorCount = 20; float[] hue = new float[colorCount]; float[] sat = new float[colorCount]; float[] bri = new float[colorCoun…

Mod: Generative Design / P_1_2_3_01

コード import generativedesign.*; import processing.pdf.*; import java.util.Calendar; boolean savePDF = false; int tileCountX = 100; int tileCountY = 50; float[] hue = new float[tileCountX]; float[] sat = new float[tileCountX]; float[] bri…

Mod: Generative Design / P_1_2_2_01

ロードした画像のピクセルから色を取得してタイル状に敷く.改変したところはウィンドウ/画像サイズを正方形でなくした.それに伴って配列に色を詰め込む計算が若干面倒な処理をしている.色の配列をソートする部分はほぼライブラリがやっているのであまり…

Mod: Generative Design / P_1_2_1_01

色Aと色Bの中間の色をグラデーションとして補完するもの.カラーパレットのようなものを出力できるようだったが,Processing 3.XだとどうもASEファイルが適切に書き出されないようだ. 任意の色AとBの中間色をlerpColor()という関数で取得するのだけど,RGB…

Mod: Generative Design / P_1_1_1_01

マウスカーソルの位置に合わせてグリッドの細かさが変わりながらHSBの色相を表示するもの. 今回のようにマウスの座標をステップ数使う場合,原点(0,0)の位置にあるときfor文が無限ループしてしまう問題がある.サンプルではstepX = mouseX + 2;のような感…

Mod: Generative Design / P_1_0_01

Generative Designをしばらくやってみることにする.サンプルコードにはP,M,Aが接頭辞として付いているが, それぞれ. P:(Basic) Principles(基本原理) M:(Complex) Methods(複雑なメソッド) A:Appendix(付録) のことらしい.みたところP→Aで進…