CG系はほとんど知らないからそれだけじゃ何が問題になってるのかわからん。
とりあえずそのsubdivという操作の定義(あるいは仕様)があるはずなので、それを丹念に追うしかないんじゃない?
原理的にあり得る立体(1次元、2次元も含む)分割を全て網羅しているかもしれないし、制限があるかもしれない。
以下は勘で一般論を話すよ。
http://www.den.rcast.u-tokyo.ac.jp/~suzuki/class/dcomputing/doc/solidcad.pdf
の35ページに、(拡張)オイラー操作は空間の基底を構成すると書いてある。
基底というのはベクトル空間の線形独立なベクトルの集まり(3次元ならe_x, e_y, e_zとか)で、
イメージとしては何らかの意味での「最小構成要素」と思えばよい。
ここでは「立体を分割する」という操作の基底(最小構成要素)を構成できるか、という話で、
簡単のために、拡張なしのオイラーの公式v-e+f=2で考えると、位相的に正しい立体は全てこの公式を満たすわけで、
逆に、(位相的に区別できない)立体を(v,e,f)の3要素で識別できるということだろう(たぶん。証明はしてない)。
そうすると、「立体に(subdivなどの)何らかの操作を加えて別の立体を作る」という操作は、(v,e,f)の値を変更する
という意味になるわけだ。
そのような操作は明らかに「vを1増やす操作」、「eを1増やす操作」、「fを1増やす操作」の組み合わせとして表現できる。
これが「操作の基底」だ。
しかし、操作は必ずオイラーの公式を満たすように実行しなければならないので、基底は3つではなく2つになる。
(3次元空間に拘束が一つ入って平面(2次元多様体)になるようなもん)
つまり、2つの基底操作を実装すれば、他の任意の操作はその組み合わせとして実行できるようになるということ。
基底は任意に回転してよいので、上記資料の35ページでは各基底は「単一の要素を1増やす操作」にはなっていない。
これは物理的に自然な操作が必ずしも「単一の要素を1増やす操作」ではないからだろうね。
というわけでともかく「基底操作を実装しろ」ということだろう。
ごめんなさい。 返信していただけるとは思ってなかったので、元記事消しちゃいました。すみません。 ご返信、ありがとうございます。 さて、完全に理解できてない気もするのですが...