Entries from 2020-06-01 to 1 month
成果物 www.youtube.com 前回、傍心のコードを書いたので、その延長として9点円を実装してみました。 仕組み 9点円は垂線の足3つ、辺の長さ中点3つ、垂心と頂点の中点3つを通る円のことです。 三角形の五心についてはこちらをご覧ください。 nekodigi.hatena…
きっかけ 私は現在、数名の人にProcessingを教えていて、そういえば始めたばかりの時はこんな事も知らなかった、早く知っておきたかったということがあったのでまとめておこうと思います。 一覧 Ctrl+Fで単語を検索、置き換えも可能。 三項演算子、条件式が…
成果物 www.youtube.com 今まで、外心をよく使っていたのですが、垂心や傍心などはほとんど使ったことがなかったので実装してみました。三角関数を使って表されている場合もあるのですが、計算の負荷などを考え、使わずにする方法をなんとか見つけました。 …
成果物 www.youtube.com 散歩をしていると、薄明光線を見つけたので、Processingでできないかと思って実装してみました。 仕組み BlendModeをAddに変更したうえで、Perlinノイズで線の透明度を変化させるとこのようになります。 今回のアルゴリズムは、Wikip…
成果物 線状にサンプリングする時に、自力で計算しないといけないと思って作ってみました。ただ、コンピューターで線を引くには少し工夫が必要です。今までやったことがなかったのでやってみました。 仕組み 始点と終点の差計算しておき、xの位置に応じてyを…
成果物 前回、Perlinノイズの勾配を使ってPerlinノイズの渦を作りました。この渦には一か所に集中しないという特性があり、このことが画像変形に役立つのではないと思って作ってみました。試していくと、他のベクトル場でも画像変形出来たので、紹介していき…
成果物 固定版 www.youtube.com Perlinノイズの勾配を前回作ったのですが、これを90°回せば、同じ軌道をずっと回り続けるのではないかということでやってみました。 変動版 www.youtube.com Perlinノイズを入力として与えるので、そのままのパラメーターが使…
成果物 www.youtube.com ProcessingでどうやってMidiファイルを扱うのかが長年の謎だったのですが、標準ライブラリを使ってMidiデータが扱えることがわかりました。再生速度などをいちいち考慮しないといけないと思っていたのですが、Sequencerを使って簡単…
成果物 Peano曲線がL-Systemを使って描けることが分かったので、調べてみると非常に多くの空間充填曲線があることが分かったので実装してみました。今回は、線に色を付けることで、描画方法の特徴がわかるようにしました。単位正方形全体を含む曲線を空間充…
成果物 どうして分光できるのかと思って調べてみたら、波長によって屈折率が変わるということがわかりました。狙った波長のデータが見つからなかったので、残念ながら物理的に正確なシュミレーションは出来ませんでしたが、近い見た目のものができました。 …
成果物 www.youtube.com 今回はフィボナッチ数列の辺の長さの正方形を敷き詰め、円弧でつなげてみました。 仕組み フィボナッチ数列は、1,1,2,3,5,8,13,21というようになっている数列です。どう並べるか悩んだのですが、素直に動かす方向ごとに、処理を変え…
成果物 Sobel Operatorを実行すると、この様に輪郭が検出できます。予め決まった行列を掛け合わせるだけのシンプルな仕組みです。 仕組み 水平方向と垂直方向の輪郭に反応する行列を畳み込み演算し、それぞれの結果を二乗して足し合わせ平方根を求めると、So…
成果物 今までGaussian Blurを実装しようと思ったことはあってもやっていなかったので、やってみました。FFTを使って高速で実行する方法もあるらしいのですが、今は遠慮しておきます。 仕組み ある点からの距離結果が変わるように拡張したガウス関数を使って…
成果物 www.youtube.com 橋を作るゲームを見て、壊れる動作が、どうやったら再現できるのか気になったので、破壊可能なばねを作ってみました。 仕組み 物体が壊れるのは力がかかった時というイメージがありますが、力を計算するのは難しいです。ただ、物体は…
成果物 www.youtube.com アイヨシキさんに、視覚化したらきれいな数学の問題はありますかと聞いたらビュンフォンの針を紹介していただいたので、さっそく実装してみました。ただ、精度が悪いのが難点です。 仕組み 感覚dの平行線を書き、長さがd/2の針を落と…
成果物 www.youtube.com アイヨシキさんがTaylor展開を作ろうとしていたのを見て、お蔵入りになっていたマクローリン展開を思い出しました。お蔵入りになっていたマクローリン展開をちょっと改良すればTaylor展開を作れるのでは、ということで作ってみること…
成果物 www.youtube.com HoudiniでRelaxノードというものを使って、Differential Growthを実装するTutorialを見たのですが、Processingでも簡単に出来そうなのに一度も実装したことがなかったので、さっそく実装してみました。 仕組み Relaxは頂点をある大き…
成果物 www.youtube.com パーリンノイズを累算して何かアニメーションが作れないかなと思っていたら、Houdini TutorialでAgate Sectionというものが紹介されていたので、自分もアゲートを作ってみました。 仕組み パーリンノイズを円状にサンプリングして、…
成果物 www.youtube.com 自然界のゴムは全部等積変形するので、なかなか見慣れた動きに近いと思います。ゴムが引っ張られていく動きもよりリアルになった気がします。猫に見せると結構ついてくるかもしれませんね(笑) 仕組み 初めに長さと太さから体積を求…
成果物 Animation www.youtube.com Hyperbolic Plane上(Poincare Disk上)に、正多角形を敷き詰めることができました。正p角形をq個隣接するように並べる場合、平面上では(p-2)(q-2)=4になりますが、Hyperbolic Plane上に敷き詰める時は(p-2)(q-2)>4になり…
成果物 www.youtube.com 数学友達が物理エンジンを作りたいって言ったので、さっそく調べてみることにしました。昔やろうとして挫折したのですが、今回はうまくいきました。 仕組み 物体が衝突したときに、速度を再計算し、次のフレームでぶつかってしまわな…
成果物 www.youtube.com Houdini TutorialのHyperbolic TilingでMobiusInverseという名前の関数として定義されていたものが気になったので、調べてみたところ、Inversion in circleというものであることがわかりました。メビウス変換というものでもあるそう…
成果物 仕組み 白との差を求め、その数値に従って、元画像と塗った色をブレンドすることで、塗り絵を実現してます。 コード github.com
成果物 www.youtube.com Reaction Diffusionと聞いて、Karl SimsさんのTutorialで紹介されていた数式を連想したのですが、実際は、ボリュームをぼかして引き算するというシンプルなものだったので、その動作原理について考察してみました。実験として、画像…
成果物 Reaction Diffusion (Gray Scott) www.youtube.com 今回は、チュートリアルを見ながら作った様々な成長アルゴリズムの仕組みと比較を行っていこうと思います。Remeshなど、いくつかのノードはバージョン変更がされているため、opaddなどを使ってバー…
成果物 www.youtube.com YoutubeのTutorialを見ているときに、分からないところですぐに止めることができずにとても困っていたので、足で操作するデバイスを作ってみました。ボタンを踏んでいる間だけ止まるので、とても便利です。ちなみに、Youtube以外の動…