ある領域を塗りつぶすには

解決


アイ  2001-05-27 07:58:40  No: 74416  IP: [192.*.*.*]

多角形の領域を塗りつぶすにはどうすれば良いですか。APIを使う方法は知っていますが、非常に狭い領域を塗りつぶす場合には塗りつぶせないこともあります(私のルーチンの問題が在るかも)。
例えば、ランダムな四点を与えた場合、その四点で囲まれる領域を確実に塗りつぶすにはどうすればよいですか。

編集    削除
α  2001-05-28 04:43:45  No: 74417  IP: [192.*.*.*]

計算方法は思い出していますが、
確か四つの点の座標で面積を求める関数(数学的な)があったと思います。
ループを作り点を埋めていく方法で良いと思います。
(関数を思い出さないと発言の意味無し)

編集    削除
アイ  2001-05-28 20:19:08  No: 74418  IP: [192.*.*.*]

ループを作り点を埋めていく方法は
処理時間が長くかかりませんか。

編集    削除
こころ  URL  2001-05-29 06:10:44  No: 74419  IP: [192.*.*.*]

> ループを作り点を埋めていく方法は
> 処理時間が長くかかりませんか。
単なる、代入処理ならそれほどかかりません。
よほどのサイズでない限りは。
ただし、ネイティブコンパイルを行った方がいいでしょうね。

後、当然ながらPointとかSetPixelとか使用していると
時間はかかりますね。
メモリ上でチャキチャキやってから一気に描画しましょう。

編集    削除
アイ  2001-06-08 19:42:37  No: 74420  IP: [192.*.*.*]

PolyPolygonで解決できました。PICTUREBOXのSCALEを変更してたので、色々ややこしかったんですが、PolyPolygonに使えるように座標変換しました。

編集    削除