2018年6月10日日曜日

【Processing】遺伝的アルゴリズムを使った画像生成 Part1

★うさぎの画像を遺伝的アルゴリズムで作ってみた


昨年度、遺伝的アルゴリズムの勉強をしていて、デザインに使えそうなサンプルがないかと調べている最中に見つけたのが下のリンク先のサイトです。


モナリザの画像を遺伝的アルゴリズムで解析し、多角形の色や透明度、大きさを重ね合わせて入力画像に近づけていくという仕組みです。

ただしソースがJavascriptで作られており、ブラウザーの種類やVersionによって動いたり動かなかったりで開発には不向きなので、Processingで同じアルゴリズムを再現して見ました。

中身を解読してわかったのは、突然変異のみを使った、簡易的な遺伝的アルゴリズムですね。多角形の大きさとか色をランダムに作って重ねていくので、ある程度処理が進むとそこからさきは膨大な時間がかかります。

何に使えるかはよくわかりませんが、ネタとして興味のある人は触ってみてください。

<注意点>
・入力画像は200x200の解像度で、sketchフォルダ直下に置きます。
・画像の名前はrabit.jpgとなってますので、画像の名前を合わせるか、sketchの該当箇所のjpeg名を変更してください。
以下、ソースです↓

0 件のコメント:

コメントを投稿

【Grasshopper_105】三角形の中に円を敷き詰める方法

今年もいよいよ残すところあと1カ月を切りました。今年最後の投稿となりますが、三角形の枠の中に円を敷き詰めるサンプルの作り方を書いてみたいと思います。三角形が正三角形に近いほどドットの間隔が一定になります。面積がバラバラだと密度の濃淡が出てしまうので調整が難しいかもしれません。