ポリゴンが閉じているか調べる(アイディアのみ)
思いついたけどタイミングが悪いことに、これから盆休みで帰ってしまうのでプログラミングとかしばらく真面目にやらないかもしれない。最近あまりやってなかったので見方によっては現状維持でですが。
というわけでアイディアだけ書いておきます。先にやりたい人がいたらどうぞ私の代わりに実装してください。というか既にそういうのあるのかな?確認してないので、そこはご注意ください。
前置きが長くなりました。ポリゴンメッシュがあるとき、そのポリゴンメッシュは閉じたポリゴンメッシュかどうか確認したいことがあると思います。ないひともそういう需要があると思ってください。
具体的には図のような感じです。ポリゴンの内側に水を入れたとき、水が漏れ出すような隙間があるかないかを判定したいのです。
んで、どうすれば判定できるか少し考えましたところ、閉じたポリゴンメッシュは、ある稜線に注目したとき、その稜線は必ず2つの面と接していることがわかりました(稜線を通じて面がつながっていなければならないということ)。稜線から面が1つしか出ていなかったらそこは綻びの端です。3つ以上出ていたら3面稜線ですが、これはShadeのエラーチェックが教えてくれます。
従って、全ての稜線についてその稜線を使っている面が2つあることを確認してやればそのポリゴンが閉じているかどうかわかるはずです。
そんなわけで、適当に実装すればポリゴンのほころびを探すスクリプトができそうな気がしました。以上アイディアだけ。
投稿者 | CASPAR003 |
投稿時刻 | 21:57 |
カテゴリー | Shade |
コメント | 2 件 |
トラックバック | 0 件 |
記事へのリンク | http://www.caspar003.info/delta/archive/2009/08/12/2157.html |
コメント
- 投稿者
- でった☆
- CASPAR003
トラックバック
- トラックバック