日常の進捗

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

Mod:Coding Challenge #24: Perlin Noise Flow Field

p5.jsで書かれたものをProcessingに移植するときに、ArrayIndexOutOfBoundsExceptionが出てしまって解決する方法を考えて、随分書き換えた。グリッドに力場を作って、動くポイントに近い力場の影響を受ける。力場は2次元のパーリンノイズで動きの方向が変わ…

Mod:Coding Challenge #23: 2D Supershapes

これの続き。 takawo.hatenablog.com パラメーターが6つあるので、コントローラーをControlP5を使って制御してみた。 コード import controlP5.*; float n1; float n2; float n3; float m; float a; float b; float radius = 200; ControlP5 cp5; // setup関…

Mod:Coding Challenge #22: Julia Set in Processing

昨日のマンデルブロ集合とつながるジュリア集合。動画で書かれているコード写しながら動画内で参照されているリファレンスを読んだ。 Julia set fractal Julia set - Wikipedia マンデルブロ集合のコードを改変して一定の数値を与えると形が変わる、その加算…

Mod:Coding Challenge #21: Mandelbrot Set with p5.js

マンデルブロ集合。正直な所、昔からあんまり綺麗だなと思えなかったけど、漸化式の復習と考えたら面白く感じる部分もあった。関数mandelbrot()の中で繰り返し実行している。他のマンデルブロ集合をProcessingで記述する例を幾つかチェックして理解しながら…

フィラメントエクストルーダー1 Felfil Evo Complete Kitの組み立て

3Dプリンタで出力を日常的にするようになった。 それと同時に思うことは、レーザーカッターはおそらくFabの入り口においてはすごく便利なんだけど、あくまで2Dでのモデリングになるし、実世界で機能を果たすものを作るのには少し勘所が必要。・・・というよ…

ペグボード2 進捗

ペグボード用のパーツをモデリングと出力して設置した。フッキングするポケットは地味に便利そうだったのでもう少し出す。まだ必要な感じもするし、個別のカスタマイズパーツもいる気がする。プライヤーやニッパー用の受けや、電動ドリルなんかを挿したい。…

Mod:Coding Challenge #20: 3D Cloth with toxiclibs

物理世界のシミュレーションを外部ライブラリtoxiclibsをつかって行う。toxiclibsは知ってたけどぶっちゃけ複雑そうで、なんやかんや手を付けないでいた。書き方を少し覚える必要があって、何度か書き直したり、他のサンプルコードを写経したりサンプルコー…

Mod:Coding Challenge #19: Superellipse

これまでの連続回に比べると相当軽め。Superellipseはなんて呼ぶのかわからないけど、極座標系で様々な図形が描画できる公式。Processingの描画でよく使う float r = 100; for(float angle = 0; angle < 360; angle += 1){ float theta = radians(angle); fl…

Mod:Coding Challenge #18: 3D Fractal Trees

フラクタルツリーの3D版。長かったけど、2Dのアルゴリズムが作れるとあとは次元を1つ増やして3Dにするだけとも言えるのでそれほど難度を感じなかった。ツリーっぽい形にしたかったのでLeafの生成のところの初期値を山形になるように変更した。 今頃台風来て…

Mod:Coding Challenge #17: Fractal Trees - Space Colonization (revise)

昨日は飲んでからプログラムを書いたので、樹形を描画する部分の処理の一部が抜けた分、描画が進まない状態だった。改めて確認して修正したものをアップする。OpenProcessingでは動かなかったので、GIFで。 Tree tree; float min_dist = 5; float max_dist =…

Mod:Coding Challenge #17: Fractal Trees - Space Colonization

コード Tree tree; float min_dist = 15; float max_dist = 5; void setup() { size(960, 540); colorMode(HSB, 360, 100, 100, 100); tree = new Tree(); } void draw() { background(0, 0, 33); tree.draw(); tree.grow(); } class Tree { ArrayList<Branch> branc</branch>…

ペグボード1 フック

有孔ボードを建てた壁面のアレンジはこれから。3Dプリンタでフッキングするパーツをモデリングした。 ジョイント部分がストレートだとダメなので、クランクというか引っかかるようなものを考えてみたけどうまく行かず。hisashi_kunが以前作っていたデザイン…

ソーホース13 実用

ソーホースが完成した。時間がかかったのでその分感慨深い。補強パーツを組み入れたことでXY方向ともにガタツキがほぼなくなったので良かったように思う。 出力中の監視やキューの操作などを行うためにMacBookProでモニタリングしている様子(TeamViewerを使…

Mod:Coding Challenge #16: Fractal Trees - L-System

最近のYoutube、字幕の自動生成が精度が高くて英語が聞き取りやすい。動画の中で言っている L-System is a recursive way of generating sentences over and over again using string replacement. が今回の肝っぽい。特定の文字列を置き換えることを再帰的…

Mod:Coding Challenge #15: Fractal Trees - Object Oriented

前回の続き。p5.jsで書かれているものを見ながらProcessingで、クラスベースで書くという感じ。葉っぱも最後に落ちるようになっていたものもクラスに定義して書いてみたくらい。クリックすると枝が増えて、所定回数以上になると葉っぱが落ちるようなもの。Op…

Mod:Coding Challenge #14: Fractal Trees - Recursive

再帰(リカーシブ)関数による樹木の描画。再帰は最初の頃、イメージつかめなかったけど、作った関数Aが関数A自体を所定の条件の中で呼び出すというもの。これだとbranchという関数が実行されて、基準となる原点座標を移動させながら枝分かれするように2つの…

Mod:Coding Challenge #13: Reaction Diffusion Algorithm in p5.js

www.openprocessing.org 反応拡散系のアルゴリズム。グレイ・スコット方程式を使う。使う、とか言ってるけど分かってるわけではない。数式化されてるアルゴリズムをプログラムに組み込む訓練だと思ってやってる。以前やった迷路ジェネレータもそう。 動画見…

Mod: Coding Challenge #12: The Lorenz Attractor in Processing

数式を使って描画する方向では、ローレンツ・アトラクターは結構有名。 ローレンツ方程式 - Wikipedia The Lorenz Attractor, a thing of beauty 上のPaul Bourkeさんが書いてるエントリに載っているCでの実装をProcessingでポーティングしたような感じ。例…

Mod: Coding Challenge #11: 3D Terrain Generation with Perlin Noise in Processing

やったやつ上げ忘れていたのであげておく。OpenProcessing用にp5.jsに移植しようと思ったけどWEBGLのレンダラだとTRIANGLE_STRIPが使えなかったのでおあずけ。GIFで。 コード int w, h, rows, cols; int scale = 20; float[][] terrain; // setup関数 : 初回…

Mod:Coding Challenge #10.3+10.4: Maze Generator with p5.js - Part 3+4

勢いでパート3と4を見て一気に書いてしまった。改変したところは、上下左右の壁面境界の判定、迷路が完成したところでsaveFrameすること、マウスクリックで初期化すること、色を毎回変えていることあたり。 こんな感じの迷路が生成される。 コード float col…

Mod:Coding Challenge #10.2: Maze Generator with p5.js - Part 2

昨日の続きで、迷路ジェネレータをProcessingで書く。途中なのでそんなに面白くはないけど、書いてる側は結構面白い。 アルゴリズムは再帰的バックトラック法ってやつを使うらしい。アクティブなセルを紫にしていて、セルごとに通過したかどうかを真偽値でチ…

Mod:Coding Challenge #10.1: Maze Generator with p5.js - Part 1

p5.jsで書かれていたものをProcessingで書いてみた。なんとなく。先取りして迷路作るところまで行けた。グリッドに切り分けたセルごとに、上下左右の4つの壁を設定して、Booleanで壁があるかないかをプロパティで持たせてる。変数名とかは自分がわかりやす…

Mod:Coding Challenge #9: Solar System in Processing - Part 3 (3D textures)

昨日の3Dの続き、テクスチャを球体にマッピングする方法。PShape使うのは知らなかった。応用効きそう。どっちかというとマッピングするテクスチャ画像の用意のほうが大変か。 複数のファイルの名前を意識しないで読み込むやりかたは、以前hysyskがやっていた…

Mod:Coding Challenge #8: Solar System in Processing - Part 2 (3D)

3D版はPeasyCamという3Dの視点移動のライブラリが使われてたりして改変しづらい。OpenProcessingだと動作しないし。仕方ないのでGIF貼る。 via GIPHY import peasy.*; import peasy.org.apache.commons.math.*; import peasy.org.apache.commons.math.geomet…

Mod:Coding Challenge #7: Solar System in Processing - Part 1 (2D)

そんなに書き換えなかった。今回2Dで次回が3Dなのでそっちを頑張る感じ。 Planet sun; // setup関数 : 初回1度だけ実行される void setup() { size(960, 540); // ウィンドウサイズを960px,540pxに colorMode(HSB, 360, 100, 100, 100); // HSBでの色指定に…

ソーホース12 天板

takawo shunsukeさん(@takawo)がシェアした投稿 - 2017 9月 3 11:11午後 PDT 今日は半分オフ気分で研究室へ行ってテーブルの天板などを受け取った。色々考えたけど剛性とか平面性を考えてIKEAのやつにした。結果的に良かったように思う。 www.ikea.com 一緒…

シルクスクリーンのスキージ立て兼45°治具2と簡易スクリーンプリント

takawo shunsukeさん(@takawo)がシェアした投稿 - 2017 9月 2 6:10午後 PDT SURIMACCAのスキージ立て兼45°治具はこのように無事使用できた。ので3DモデルのSTLデータも公開しておきます。 www.tinkercad.com オープンキャンパスでシルクスクリーンのハンズオ…

Mod:Coding Challenge #6: Mitosis Simulation with p5.js

Mitosisは有糸分裂、細胞分裂のことっぽい。マウスでクリックするとセル(細胞)が分裂するというもの。p5.jsで書いているのを観てProcessingで書くのをリアルタイムでやってみるけど、意外とフムフムと考えながらやれるのは良い。それがprocessing.jsで動く…

地域活性学会口頭発表

地域活性学会発表 地域イベント参加者の一体感創出のためのフォトブースの開発と実践 from takawo shunsuke 発表のスライド、今日はこれで。

シルクスクリーンのスキージ立て兼45°治具とSeeeed Studio Groveのセンサ取付パーツ

シルクスクリーンでは刷る時のスキージの角度を45°にした方がいいとある。 持つ向きを変えると、いろんなサイズのスキージーになります。木のない部分に力が入りにくいので、しっかり力が入るようにゴムの部分にも手を添えて持ちましょう。印刷する時の角度…