ねこでじ(Nekodigi)

Nekodigi’s diary

学習中の気づきをまとめています。応援よろしくお願いします

【Processing】結晶のパターンをつくる Diffusion-Limited Aggregation (拡散律速凝集)を超高速化した。

成果物

www.youtube.com

Poison-disc Samplingで使われていた、画面を分割して高速化する仕組みを取り入れ、さらに、反応が起こっている場所に絞って計算することで、数百倍~数万倍高速化しました。規模が大きいほど高速化されます。恐ろしい早さです…

仕組み

電析や、絶縁破壊で見られるパターンを生成するアルゴリズムです。前回のSpaceColonizationとパターンは似ていますが、SpaceColonizationでは、枝が葉っぱに向かって伸びるのに対して、このアルゴリズムでは、葉っぱに当たる部分が、自らブラウン運動をして、枝にくっつきます。CodingTrainの解説を参考にしました。

www.youtube.com

コード

通常のコードは、Diffusion_limited_Aggregation

 超高速化したコードは、Diffusion_limited_AggregationHSという名前です。

github.com