日常の進捗

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

2018-01-01から1ヶ月間の記事一覧

Re: 波紋

yetirom.hatenablog.com イエティが描いていた波紋のプログラムで,困っていたところについて幾つか考えて描いてみた. 要件としては クリックしたら波紋が発生 クリックしてなくても波紋が広がっていくと 波紋の数が増えると 波紋を作るのに必要な変数(括…

Mod: Coding Challenge #90: Floyd-Steinberg Dithering

チュートリアルではFloyd-Steinbergのディザを生成するアルゴリズムを使っているが,書き換えたプログラムでは便宜上16を4つのランダムな数字をつかって表すやり方でディザを作ってみている. コード import processing.pdf.*; import java.util.Calendar; P…

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_04

タイリングした矩形の頂点をランダムにバラけさせる.randomSeed()の使い方(引数の値が固定されるとフレームごとのrandomの値が同じ=固定される)はこれまでもやってきているけど,こういったシミュレーションのスケッチだと便利に使える. コード import …

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)…

一日ひとつだけ強くなる,だけではなくて

プロゲーマー,梅原大吾さんが2017年1月に慶應丸の内シティキャンパスで講演したときの動画がYouTubeに公開されている.2時間の動画だが普通にききやすく,全く時間を感じることなく観ることができた. この講演では「ゲーム」という,これまで娯楽以上の社…

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:Coding Challenge #89: Langton's Ant

ブロックノイズがすごいので実際に実行してみて欲しい. コード int[][] grid; int x; int y; int dir; int ANTUP = 0; int ANTLEFT = 1; int ANTDOWN = 2; int ANTRIGHT = 3; color c1, c2, c3, c4; PImage ant; void setup() { //fullScreen(); size(960, …

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…