Processing
成果物 www.youtube.com どの音が最もよく出ているのかを調べると、波形の特徴がわかりやすいのではということで作ってみました。予想どおり、鉄琴ははっきり同じ周波数が現れました。また、人間の声は鉄琴よりも断然低いという結果がわかりました。周囲のノ…
成果物 今回は、色相と彩度を示した2Dのヒストグラムを作ってみました。 仕組み 前回のコードを改良し、色相の段階数X彩度の段階数の2Dの配列でカウントしています。 nekodigi.hatenablog.com コード Histogram 2Dという名前で追加しています。 github.com
成果物 2Dのヒストグラムを作ってみたいと思ったので、その足掛けとして画像のヒストグラムを作ってみました。ここではRGBのヒストグラムを表示していますが、他にも、明るさ、彩度などのヒストグラムも作ることができます。 仕組み 色の段階数と同じ256の配…
成果物 今回は、任意の太さの輪郭の取得が可能なモルフォロジー変換をやってみました。非常にシンプルです。 仕組み 収縮させたいときは、フィルタの範囲が全ての白の時のみ白にし、膨張させたいときは、フィルタの範囲がすべて黒の時に黒にするという仕組み…
成果物 www.youtube.com 今回は、前回のラプラシアンブレンドを応用して、任意の形にかけられるようにしました。画像サイズの半分の高精細なマスクをかけられるようにしたところが特徴です。非常にうまくいったよかったです。 仕組み 前回は、画像の真ん中で…
成果物 普通にぼかして合成したのでは再現できないような、境界部の鮮明さが特徴的です。ただくっつけただけのようにも見えるかもしれませんが、違和感がない部分はしっかりぼかされていることがわかります。 仕組み 前回実装したimage pyramidを使うことで…
成果物 www.youtube.com ラプラシアンブレンドをするために、ガウシアンピラミッド、ラプラシアンピラミッドを実装してみました。ガウシアンピラミッドはシンプルにぼかしという感じですが、ラプラシアンピラミッドは、階層が深くなるごとに、強調される情報…
成果物 バケツアイコンで有名な塗りつぶしを実装してみました。ただ実装しただけでは面白くないので、どのぐらいの許容範囲で塗りつぶすか選べるようにしました。再帰呼び出しが出来なくて焦りましたが、Queueを使うことで解決しました。 仕組み 対象のピク…
成果物 平均値 普通に二値化を行うと、画像の明度のバラツキに左右されてしまうのですが、近隣のマスの平均値より大きいかで二値化を行うことで、こんなにもきれいに二値化を行うことができます。 中央値 肉眼では分かりにくい筆跡もきちんととらえられてい…
成果物 OpenCVのチュートリアルを見ていると非常に面白いフィルタを見つけたので実装してみました。ノイズが見事になくなり、元の色味がしっかり取り出せていることがわかります。そのままでも面白いぼかしがかけられるので今後も活用していきたいです。 仕…
成果物 ※単純に回っているわけではなく、物理法則に基づいて動いています。 第一宇宙速度を聞いたことはあったのですが実感がわかなかったので、実装してみました。 仕組み 必要な速度はこちらの数式をもとに求めることができます。 コード Escape velocity…
成果物 www.youtube.com 今回は、管を吹いたときに出る音を再現してみました。倍音を加えるととても深みのある音になって面白かったです。ちなみに、音の大きさは1/fになるようにしています。 仕組み この数式をもとにしてsin波を発生させれば完成です。 コ…
成果物 www.youtube.com 今回は、ドップラー効果に従って曲のピッチを変えてみました。マウスだと速度がころころ変わるのでいまいち感じ取ることが難しいですが、きちんとドップラー効果が表れています。 仕組み こちらで紹介されているこの数式を使うと、速…
成果物 今回は、三つ編みを再現してみました。本物の三つ編みのように紐の重なり合いも表現できますが、複雑になり汎用性が欠けるので、BlendMode(ADD)を使って近似的に表現する方法も追加しています。 パスに沿った模様など、美しい曲線を必要とする場面で…
成果物 どのように実装するか非常に悩んだのですが、何とか実装しました。全天球の半分を移すような数式を考えました。ただ、説明しきれない部分があり、合っている保証は出来ないので、あくまでお楽しみ程度です。 仕組み スネルの法則に従って、反射後のsi…
成果物 www.youtube.com レイトレーシングなどに比べてシンプルで高速に銀の球体が表示できています。これで、猫の瞳の光沢を表現する手段が切り開かれました。光沢を持つ物体の表現にもこれからチャレンジしていきたいです。 仕組み 画面上の位置から、球に…
成果物 www.youtube.com ※ここでの鏡面は平行投影で背景を反射する鏡面を指しています。 MatCapのような仕組みを使えば鏡面を高速に計算できるのではということで実装してみました。角度を渡すだけで反射光を返してくれるので、面白いゆがみ方をした鏡面も作…
成果物 www.youtube.com 入力したのはとげとげの多角形なのに、こんなにも曲線的なVoronoi図ができて驚きました。恐らく、頂点と、辺の二等分線が曲線になるためだと思われます。あらゆる線も入力できるので応用が期待できそうです。 仕組み 多角形の最も近…
成果物 www.youtube.com 当分前に作った流体シュミレーションのプログラムを使って、画像を変形させてみました。最近は大した成長がないので、頑張っていきたいです。 仕組み 流体シュミレーションの速度成分に沿って、Mesh Deformationを使って、画像を変形…
成果物 www.youtube.com 重力でひかれあう物体は独特の動きをして面白いのでアニメーションを作ってみました。 仕組み 万有引力に沿って引合せ、衝突したら小さい方を削除し、速度、質量を引き継ぐ仕組みにしています。 コード Merge by Gravityという名前で…
成果物 Processingで処理する方が便利なので、愚直にUDPでぶっ飛ばしております(笑)ちなみに今回は、ジェスチャーセンサーのカラーセンサーを使っています。意外ときれいな模様が撮れて満足です。カメラをつかえばいいことに気が付いたのはだいぶ後でした() …
成果物 AviUtlでもよく使われる極座標変換を実装してみました。本家に忠実に、画像の中心が円の中心になり、画像の高さが円の半径になるようにしました。 仕組み 画像のUV(0極座標変換後の角度を求め、それに従って、Mesh Deformationを使って変形しています…
成果物 色相はループしているので、オフセットしていったら面白いのではないかということで作ってみました。なかなか予想外の動き方でした。恐らく多くの画像編集ソフトにも搭載されている機能だと思います。 仕組み 各画素で、色相、彩度、明度を取得し、色…
成果物 www.youtube.com 画像を明るくしたり、暗くしたりするときに使う、ガンマ値を実装してみました。特徴をとらえたまま、明るさを変更できるので非常に便利です。ガンマ値を高くしたかえる仙人も渋くて面白いです。 ちなみにHSBでガンマ値を変えるとこん…
成果物 www.youtube.com ※これは、Processingで動物を描くための試作です。怪しいものではございません。 今回は、マウスを見つめる目を作ってみました。目の形を変えればもう少しかわいくなるはずなのですが、技術的に難しく、恐ろしい仕上がりになりました…
成果物 赤外線フォトリフレクタを使ったテルミンが多いのですが、超音波距離距離センサーを使うと距離に比例する音程が出せるかなと思って作ってみました。ちなみに、本物は電磁波を使っているようです。 非常に恐縮なのですが、音声はGithubに保管させてい…
成果物 www.youtube.com 物凄く今更な感じですが、ネタが切れてきたのでメビウスの帯を作ることにしました。 コード Mobius Bandという名前で追加しています。 github.com
成果物 www.youtube.com ダイヤモンドのように数字を並べて、正方形からはみ出た部分を押し込んでいくように魔法陣を作るのがバシェー方式(Bachet's Method)です。奇数×奇数の魔法陣を簡単に作ることができます。今回は、数字に従って色を割り当て、どのよ…
成果物 www.youtube.com 円弧を使って、サイバー風の時計を作ってみました。実際の時計の動きに近くなるように工夫しました。文字盤の線のデザインで苦戦しました。 仕組み そのまま、minute()をもとに分針を表示すると、非常にかくかくした、違和感のある動…
成果物 凄く今更な感じがしますが、Quicksortを実装してみました。sortのアニメーションは出尽くしているので、作りませんでした。開始位置と終了位置が指定できるので、便利です。 仕組み 少し難しいのでWikipediaの解説を見ることをお勧めします。コードも…