キャットマル・クラーク細分割面

以下に示す極限分割面を持つ立方体の Catmull–Clark レベル 3 分割。(双三次補間は球面に近づいているように見えますが、実際の球面は二次曲面であることに注意してください。)
立方体の球面(緑)とCatmull-Clark細分割面(マゼンタ)の視覚的な違い

キャットマル・クラークアルゴリズムは、 3Dコンピュータグラフィックスにおいて、サブディビジョンサーフェスモデリングを用いて曲面を作成するために使用される手法です。このアルゴリズムは、1978年にエドウィン・キャットマルジム・クラークによって、双三次一様Bスプライン曲面を任意の位相に一般化するために考案されました。[ 1 ]

2005年から2006年にかけて、エドウィン・キャットマルは、トニー・デローズジョス・スタムと共に、サブディビジョン・サーフェスの発明と応用により、アカデミー技術賞を受賞しました。デローズは「効率的で公平な補間」とキャラクターアニメーションについて論文を発表しました。スタムは、再帰処理なしで極限曲面を直接評価する手法を解説しました。

再帰評価

キャットマル・クラーク面は、以下の改良法を用いて再帰的に定義される。 [ 1 ]

任意の多面体のメッシュから始めます。このメッシュ内のすべての頂点を原点と呼びます。

  • 各面ごとに面ポイントを追加します
    • 各面のポイントを、それぞれの面のすべての元のポイントの平均に設定します。
      面ポイント(青い球)
  • 各エッジにエッジ ポイントを追加します。
    • 各エッジポイントを、隣接する2つの面ポイント(A、F)とエッジの2つの端点(M、E) の平均に設定します[ 2 ]
      エッジポイント(マゼンタの立方体)
  • それぞれの元の点( P )について、 Pに接する面のn 個(最近作成された) の面点すべての平均 ( F )と、 Pに接する元のエッジのn個すべてのエッジ中点の平均( R )を取得します。ここで、各エッジ中点は、その 2 つの端点の平均値です (上記の新しいエッジ点と混同しないでください)。 (頂点Pの観点から見ると、 Pに隣接するエッジの数は隣接する面の数でもあるため、nとなります)。
    • それぞれの元の点を新しい頂点 に移動する (これはPRF重心であり、それぞれの重みは(n − 3)、2、1である)
      新しい頂点(緑の円錐)
  • 新しいメッシュにエッジと面を形成する
    • それぞれの新しい面の点を、元の面を定義するすべての元のエッジの新しいエッジ点に接続します。
      新しいエッジ、面ポイントごとに4つ
    • それぞれの新しい頂点を、元の頂点に接するすべての元の辺の新しい辺点に接続します。
      シフトされた元の頂点の頂点ごとに3つの新しい辺
    • 新しい面をエッジで囲まれた面として定義する
      メッシュの最終面

プロパティ

新しいメッシュは四角形のみで構成され、一般的に平面ではありません。新しいメッシュは、古いメッシュよりも「滑らか」(つまり、「ギザギザ」や「尖り」が少なく)に見えます。細分化を繰り返すことで、メッシュはより丸みを帯びた形状になります。

キャットマルとクラークは、数学的な導出ではなく、結果として得られる表面の美的外観に基づいて、任意に見える重心の式を選択しました。ただし、彼らは、この方法が双三次Bスプライン表面に収束することを厳密に示すために多大な努力を払っています。 [ 1 ]

この改良過程によって得られる極限面は、少なくとも異常頂点とそれ以外のすべての点において、連続していることを示すことができる(nが連続する導関数の数を表す場合、連続性について言及する)。1回の反復処理の後、面上の異常点の数は一定のままである。

正確な評価

Catmull-Clark細分割面の極限曲面は、再帰的細分化を必要とせず、直接評価することも可能です。これは、Jos Stam (1998) の手法を用いて行うことができます。[ 3 ]この手法は、再帰的細分化のプロセスを行列指数問題として再定式化し、行列対角化によって直接解くことができます。

アルゴリズムを使用するソフトウェア

参照

参考文献

  1. ^ a b c Catmull, E. ; Clark, J. (1978). 「任意の位相メッシュ上に再帰的に生成されたBスプライン面」(PDF) . Computer-Aided Design . 10 (6): 350. doi : 10.1016/0010-4485(78)90110-0 . S2CID  121149868 .
  2. ^ 「Catmull–Clark細分面 - Rosetta Code」 . rosettacode.org . 2022年1月13日閲覧
  3. ^ Stam, J. (1998). 「任意のパラメータ値におけるCatmull-Clark細分割面の正確な評価」(PDF) .第25回コンピュータグラフィックスおよびインタラクティブ技術年次会議 - SIGGRAPH '98 の議事録. pp.  395–404 . CiteSeerX 10.1.1.20.7798 . doi : 10.1145/280814.280945 . ISBN  978-0-89791-999-9. S2CID  2771758 .
  4. ^ 「サブディビジョンサーフェスモディファイア」 . 2020年1月15日.
  5. ^ 「アーカイブコピー」(PDF) 。 2016年11月23日時点のオリジナル(PDF)からアーカイブ。 2016年12月4日閲覧{{cite web}}: CS1 maint: アーカイブされたコピーをタイトルとして (リンク)
  6. ^ Manuel Kraemer (2014). 「OpenSubdiv: GPUコンピューティングと描画の相互運用」 Martin Watt、Erwin Coumans、George ElKoura他編『視覚効果のためのマルチスレッド』 CRC Press. pp.  163– 199. ISBN 978-1-4822-4356-7
  7. ^ピクサー・アニメーション・スタジオのエキスパートによるOpenSubdivプロジェクトの紹介。YouTube 2021年12月11日時点のオリジナルよりアーカイブ
  8. ^ 「Pixar の OpenSubdiv V2: 詳細」 2013 年 9 月 18 日。
  9. ^ AVメディアgputechconf.com
  10. ^ OpenSubdiv Blenderデモ. YouTube . 2021年12月11日時点のオリジナルよりアーカイブ。

さらに読む