計算幾何学

計算幾何学
昔、GFXというミドルウェアを使っていたのだが、Flashで作ったコンテンツをゲーム上で動かせるように…だけならそこまで珍しくもないだろうけど、そのハイレベルのテクニックによってハイスピードにFlashコンテンツを再生することができる。再生というのはムービーダダ流しでもなくGPUを効果的に使うことができる。

ありがたいことにソースコードも見ることができたが、非常にハイレベルだった。
悲しいことに、読んだときの俺のレベルでは解読不能であったため、猫に小判ではあった。

まぁ、僕が感動したのはそんなところでもなんでもなくて、フォントがあるじゃないですか、アウトラインフォント。
これをですね、ソフトウェア的に三角形分割してるんですよねぇ。アウトラインって結局ベジェなんで、
今の僕の技術でもできないわけじゃない。だけど、変にそこに感動した。

感動したので、計算幾何学とか勉強したし、したけど、チンプンカンプンで何回も投げ出したけど…。
結局ボロノイとか、ドロネー図に行っちゃったから難しくなってしまったのだと約10ヵ月後に気づいた。

これって、結局、ベジェをどうこう以前に、多角形の三角形分割なんだよね。ベジェを多角形に近似するのは
コンピュータがやってくれるので、それで得た頂点に対して、三角形分割を考えてやればいい。
多角形の三角形分割だけなら、コンピュータ・ジオメトリの中でも比較的簡単な問題である。

ただし、面倒なのは、凸多角形とは限らず、凹かもしれないし、穴あき(RとかAとか)かもしれない。
これもコンピュータ・ジオメトリに書いてあった。

現在ゆっくり実装中。

感動しているのは、あの、自分に実装できると思ってもなかった機能がいま、手の届く範囲にあるということだ。
30も半ばになってこれだ。これだからプログラマはやめられない。