2018-01-01から1ヶ月間の記事一覧
yetirom.hatenablog.com イエティが描いていた波紋のプログラムで,困っていたところについて幾つか考えて描いてみた. 要件としては クリックしたら波紋が発生 クリックしてなくても波紋が広がっていくと 波紋の数が増えると 波紋を作るのに必要な変数(括…
チュートリアルではFloyd-Steinbergのディザを生成するアルゴリズムを使っているが,書き換えたプログラムでは便宜上16を4つのランダムな数字をつかって表すやり方でディザを作ってみている. コード import processing.pdf.*; import java.util.Calendar; P…
当初実行画面を見た時に,アルゴリズムが読めなくて困惑した. コードの込み入った部分だけを取り出して読んでみると,for文を使って矩形領域の4辺をなぞるように変数x2,y2を使って座標を移動している.周囲をなぞるようなアルゴリズムはちょうど今日見た以…
randomで設定した方向に同心円が伸びる(中心が進行方向に移動する)部分のオフセットの書き方が面白かった. コード import processing.pdf.*; import java.util.Calendar; boolean savePDF = false; int actRandomSeed = (int) random(100000); int tileCo…
タイリングした矩形の頂点をランダムにバラけさせる.randomSeed()の使い方(引数の値が固定されるとフレームごとのrandomの値が同じ=固定される)はこれまでもやってきているけど,こういったシミュレーションのスケッチだと便利に使える. コード import …
コード 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時間の動画だが普通にききやすく,全く時間を感じることなく観ることができた. この講演では「ゲーム」という,これまで娯楽以上の社…
84行目あたりのmoduleRadiusBackground = max(moduleRadiusBackground-2, 10);みたいな書き方はスマートでいいなと思った. コード import processing.pdf.*; import java.util.Calendar; boolean savePDF = false; color moduleColorBackground; color modu…
ブロックノイズがすごいので実際に実行してみて欲しい. コード 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, …
サンプルコードはSVGファイルをシェイプとして読み込むものだったが極力図形をコードで描いた.タイムアップ. コード import processing.pdf.*; import java.util.Calendar; boolean savePDF; int tileCount = 15; float tileWidth, tileHeight; float shap…
コード 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…
コード 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…
書けそうだったのでこれまでのPDF保存などの基本構造をベースに書いた.元のサンプルコードと比較してみるとアルゴリズムはかなりトレース出来たことが確認できた. コード import processing.pdf.*; import java.util.Calendar; boolean savePDF = false; v…
コード 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; …
コード 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…
コード 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…
ロードした画像のピクセルから色を取得してタイル状に敷く.改変したところはウィンドウ/画像サイズを正方形でなくした.それに伴って配列に色を詰め込む計算が若干面倒な処理をしている.色の配列をソートする部分はほぼライブラリがやっているのであまり…
色Aと色Bの中間の色をグラデーションとして補完するもの.カラーパレットのようなものを出力できるようだったが,Processing 3.XだとどうもASEファイルが適切に書き出されないようだ. 任意の色AとBの中間色をlerpColor()という関数で取得するのだけど,RGB…