一般的なファイル形式で3Dメッシュとして表される3次元オブジェクトがあるとします。メッシュを1つ以上の2D'ネット'に分解するアルゴリズムをどのように考案しますか?つまり、元の3Dオブジェクトを作成するために切り取って折りたたむことができる2次元表現です。
特に、アルゴリズムは以下を考慮する必要があります。
- 任意のオブジェクトに対して可能な複数の分解
- メッシュを固定サイズのキャンバス(紙のシート)にフィットさせる処理。
- ネット内の2つのパネルがいつオーバーラップするか(したがって無効になるか)を認識します。
- オーバーラップまたはページサイズの制約のためにメッシュを単一のネットとして表現できない場合は、メッシュを複数のネットに分割します。
- 隣接する面を取り付けるために、適切な場所にタブを生成します。
明らかな縮退のケースは、エッジの半分にタブが付いた、面ごとに1つのネットを作成することです。これは明らかに理想的ではありません。理想的なケースは、単一の連続ネットです。複雑な形状の現実は、中間のどこかにある可能性があります。
最適なネット(最小のネット/最小のページ)を見つけることはおそらく計算コストがかかることを理解していますが、「十分に良い」ネットを見つけるための優れたヒューリスティックで十分です。