2017年07月04日

凸多面体の内外判定について

2値化の範囲を決定する際に、数値で刻んで矩形領域を設定するのは効率が悪いし自由度も低いので、その辺をマウスでできるようにしようかなと思いました。

直方体の8頂点をマウスでドラッグできるようにするのですが、自由に動かすと凹面ができてしまいますので、各面の中心に頂点を追加して、面が凹面になる場合にはこの中央点を移動させて無理やり凸面に修正するようにしました。

マウスドラッグで頂点移動はこれまでもやってきたような行列変換でできます。

drag_test_001.png
drag_test_002.png
drag_test_003.png
PPTで作ってみましたが見づらいですね。

実行結果
drag_test_004.png
透視投影変換を基準にしているので直感性は低いかと思います。こういう矩形の選択には正射影が向いていそうです。

続いて点の内外判定についてです。直方体の頂点を移動させた凸多面体ですので、それぞれの面が構成する平面と点の内外判定を行えば判定できると思います。点と平面の距離などは以前のスライドに追記しました。


実行結果
drag_test_005.png

ちゃんと選択した範囲のみ青くなっているので合っているとは思います。点群がRGBやHSVなど画素の色を3次元空間に投影したものを考えていて、それをこういうやり方で範囲選択できれば2値化がうまくできるのではないかと思っていますが、それはこれから試してみる予定です。
posted by シンドラー at 21:46 | Comment(0) | TrackBack(0) | OpenGL & Metasequoia | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック