球体を表すポリゴン メッシュを生成するソフトウェアに取り組んでおり、球体に穴を開けたいと考えています。このポリゴン メッシュは、球体の表面を覆うだけのオーバーレイです。どのポリゴンが自分の穴と交差するかを判断する方法はよくわかっており、それらをコレクションから削除することもできますが、その時点から少し混乱しています。高レベルの概念について誰かが私を助けることができるかどうか疑問に思っていましたか?
基本的に、私は次の 3 つの状況を想定しています。
1.) The cylindrical hole does not intersect my sphere.
2.) The cylindrical hole partially goes through my sphere.
3.) The cylindrical hole goes all the way through my sphere.
#1 については、これをテストして (ポリゴンが削除されていない)、それに応じて行動する (何もしない) ことができます。#2 と #3 については、穴を考慮して球体を再テッセレーションする方法がわかりません。#3については、基本的に次のような考えがあります。
a.) Find your entry point (a circle)
b.) Find your exit point (a circle)
c.) Remove the necessary polygons
d.) Make new polygons along the 4* 'sides' of the hole to keep my
sphere a manifold.
この非常に単純化されたアルゴリズムには、埋めたい「穴」がいくつかあります。たとえば、実際には穴に 4 つの側面を持たせたくありません。穴は円柱にするか、少なくとも円柱のテッセレーション表現にする必要があります。また、これらの新しいポリゴンを作成して、テッセレーションされたサーフェスに穴のある球を維持する方法もわかりません。
シナリオ 2 にアプローチする方法がわかりません。