以前 Graphics.fillPolygon を自力で実装しようとして5角形を越える時点で
諦めたのですが…スキャンライン法で対応できた。
回答が導き出されると、力技で対応したコードと比べると天と地の差がある。
力技は、しょせん決められた最小のパターンにしか対応できないが…
スキャンライン法なら、そのアルゴリズム単体で対応できる。
10年以上の前の話になりますが、三角形を塗りつぶすアルゴリズムでも
利用してたのを思い出した。
思い出してみたらビデオメモリ(VRAM)に直接
*p = RGB( 255,0,0);
みたいなピクセル単位での描画しか行えなかったので、全ての描画APIを実装する
必要があったんだ。
今はそんなの知らなくても、どんな環境でも描画API は充実しているし、
こーいう所で労力をかけるのは生産性に繋がらないか。
0 コメント:
コメントを投稿