Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Polygon Mesh Processing Chapter 1 in Japanese

E2dd989b2ba0f83d8a981b9cb3197bf1?s=47 mocobt
June 08, 2021

Polygon Mesh Processing Chapter 1 in Japanese

Polygon Mesh Processingの日本語訳です。
Original版はこちら: http://www.pmp-book.org/

今回はChapter1: Surface Representationsです。
間違いや指摘はBlogのコメント欄かTwitter経由でお願いします。
権利的な問題があれば直ちに消します。

E2dd989b2ba0f83d8a981b9cb3197bf1?s=128

mocobt

June 08, 2021
Tweet

Transcript

  1. Polygon Mesh Processing: 1. Surface Representations 1 Polygon Mesh Processing:

    1. Surface Representations 形状処理とは、幾何学モデルにアルゴリズムを適⽤することを指す。このセクションでは、幾何学的オブジェクトの様々な数学 的表現について説明する。各形状処理に応じた特徴的な演算を効率的に実装するために、適切な数学的表現を選択する必要があ る。 曲⾯Surface) 表現は、パラメトリック表現(parametric representation) と陰関数表現(implicit representation) の2 つに⼤別でき る。パラメトリック表現は、2D パラメータ領域 から曲⾯ へ射影する関数 によって定義さ れる。これに対し、陰関数表現はあるスカラ関数 が0 を取る集合、すなわち によって定義 される。 パラメトリック表現を⽤いれば、曲線はある関数 ( ただし、 によって定義できる。陰関数表現では、 ( ただし ) とすれば、平⾯の曲⾯を定義できる( 曲線は定義不可) 。簡単な例として単位円 は、パラメトリック表現では と定義でき、陰関数表現では、 と表せる。同様に球体もパラメトリックまたは陰関数表現で表せる(詳細は3.2 参照)。 単⼀の関数によるパラメトリック定式化では⼗分な精度で複雑な形状を表現できない。そのため、関数領域を⼩さな領域に分割 し、各セグメントに対して個々の関数(surface patch) を定義することが多い。各セグメントは与えられた形状を局所的に近似すれ ばよく、セグメントのサイズと数によって形状全体の近似精度が変わる。 なお各パッチから隣接するパッチへなめらかに接続することは数学的に難しい。パラメトリックの場合、三⻆形もしくは四⻆形 に分割することが最も⼀般的である。陰関数表現の場合、埋め込み空間を6 ⾯体( ボクセル) もしくは四⾯体に分割することが多い。 パラメトリック表現と陰関数表現にはそれぞれ⻑所と短所があり、問題に対して適切に選択する必要がある。ユーザが扱う問題 は⼤きく3 つのカテゴリーに分類できる。 評価Evaluation): サーフェスのジオメトリ⾃体や法線などの属性をサンプリングすることを意味する。典型的なアプリケーシ ョンとしてサーフェスレンダリングがある。 クエリQuery): 空間クエリは、与えられた点 がサーフェス で囲まれたソリッドの内側にあるか外側にあるかを判断 するために使⽤される、ソリッドモデリングの重要な操作ある。典型的なクエリは、点からサーフェスへの距離を計算するこ とである。 修正Modification): サーフェスはジオメトリまたはトポロジーの観点から修正できる。ジオメトリの観点だとサーフェスの変 形を指し、トポロジーの観点だとサーフェスの部分的な結合、切断、削除を指す。 パラメトリック表現と陰関数表現はこれら3 つの幾何学操作に関して相補的な利点を持っている。 Freeform Shape Representations for Efficient Geometry Processing The most important concepts for the handling and storage of freeform shapes in geometry processing applications are parametric representations and volumetric representations. Both have their specific advantages and drawbacks. https://onlinelibrary.wiley.com/doi/abs/10.1111/14678659.00667 1.1 Surface Definition and Properties コンピュータグラフィクスでは、サーフェスの⼀般的な定義は、 に埋め込まれた配向可能な連続2 多様体である。直感的に は、これは⾮退化3 次元ソリッド(non-degenerate 3D solid) の境界⾯とも⾔える。⾮退化とは、ソリッドに無限に薄い部分や特徴 がないことを意味し、サーフェスが固体の内部と外部を適切に分離していることを意味する(Figure 1.1 参照)。境界のあるサーフ ェスとは、⽳を塞ぐことで多様体サーフェスに拡張できるものを指す。 Ω ⊂ R2 S = f(Ω) ⊂ R3 f : Ω → R3 F : R → 3 R S = {x ∈ R ∣F(x) = 3 0} f : Ω → C Ω = [a,b] ⊂ R C = {x ∈ R ∣F(x) = 2 0} F : R → 2 R f : [0,2π] → R , t ↦ 2 ( cost sin t ) F : R → 2 R, (x,y) ↦ − x + y 2 2 1. p ∈ R3 S R3
  2. Polygon Mesh Processing: 1. Surface Representations 2 退化形式 - Wikipedia

    数学、とくに 線型代数学において、 ベクトル空間 V 上の退化 (degenerate) 双線型形式 f( x, y) とは、 から V * ( V の 双対空間)への で与えられる写像が 同型でないような双線型形式である。 V が有限 次元のときの同値 な 定義はそれが⾮⾃明な 核をもつということである、すなわち次を満たす V の 0 でない元 x が存在する ⾮退化 https://ja.wikipedia.org/wiki/%E9%80%80%E5%8C%96%E5%BD%A2%E5%BC%8F ほとんどのアプリケーションでは、⼊⼒曲⾯に関する⽣の情報は離散的なサンプリングによって得られるため、数学的な曲⾯表 現を得るには、離散的な値から連続性を確⽴する必要がある。そのためにはサンプル間( 例えばTriangular mesh の頂点) に⼀貫した 隣接関係を構築する必要がある。 測地線近傍関係(geodesic neighborhood relation; 空間的近傍関係とは対照的)は陰関数表現ではアクセスしにくいが、パラ メトリック表現では曲⾯上の2 点が測地線的に近接している場合、対応する像が互いに近接していれば⾮常に簡単に抽出すること ができる(Figure 1.2 参照)。 すなわち連続パラメトリック曲⾯は、曲⾯上の点 において、 を中⼼とした⾮常に⼩さな半径の球⾯内にあるすべての点 につ いて、対応する像( ) が の像( ) を中⼼とした半径 の円に含まれる場合、局所的に多様体であると⾔える。 この条件はより直感的に表現すると、 の周りの⼗分に⼩さい球の中にある曲⾯パッチが円盤と位相同型であることを指してい る。なお後者の定義はパラメータ化を必要としないので、陰関数表現にも適⽤される。 p p q f(q) p f(p) ϵ = O(δ) p
  3. Polygon Mesh Processing: 1. Surface Representations 3 離散的なサンプル集合( 例えばTriangular mesh

    の頂点集合) から連続的な曲⾯を⽣成したいとき、サンプルを補間して求める⽅針 と、ある許容範囲内の誤差でサンプルを近似して求める⽅針がある。 前者は基本的に位置に応じたノイズを含んだサンプルを⽤いて補間することになるため、実際のアプリケーションでは後者が適 切である。次のセクションでは近似の問題をより詳細に検討する。 ⼀般的に、well-defined なシャープな曲線や⻆を除いてサーフェスはなめらかであるべきである。なめらかさは数学的には関数 もしくは が持つ導関数の数 で測ることができる。この を⽤いた定義は直感的な幾何学的理解と⼀致しており、 の偏微分や の勾配がそれぞれ局所的に消失しない場合にのみ、滑らかであると⾔える。 サーフェスの更に厳しい条件として、導関数の連続性だけでなく、⼤きさや変化を考慮した公平性(fairness) がある。美的概念で ある公平性の⼀般的な定義は存在しないが、例えば曲率やその変動が⼤域的に最⼩化されていれば、サーフェスは公平であると考 えることができるFigure 1.3 参照) 。 Chapter 3 では、曲率の概念をポリゴンメッシュに適⽤することで、滑らかさや公平性などの特性をメッシュにも適⽤できること を説明する。 1.2 Approximation Power 実在する物体やその境界を正確に数学的にモデル化することは、通常難しい。デジタルサーフェス表現は⼀般的に近似値でしか ない。上で述べたように、近似タスクを単純化するために、サーフェス表現のドメインを10 個の⼩さなセグメントに分割し、各セ グメントに属する⼊⼒の⼀部を局所的に近似する関数(パッチ; patch )を定義する。 f F k Ck f F
  4. Polygon Mesh Processing: 1. Surface Representations 4 我々が扱う曲⾯表現は科学計算をサポートすることを想定しているので、関数を多項式のクラスに限定することは⾃然な選択で ある。これは多項式は初等的な算術演算で評価できるからである。多項式に限定するもう⼀つの理由は、よく知られた Weierstrass

    の定理があるからである。この定理は各平滑関数が任意の精度で多項式近似できることを保証するものである。 Elementary Analysis - The Theory of Calculus | Kenneth A. Ross | Springer From the reviews of the first edition: "This book is intended for the student who has a good, but naïve, understanding of elementary calculus and now wishes to gain a thorough understanding of a few basic concepts in analysis, such as continuity, convergence of sequences and series of numbers, and https://www.springer.com/jp/book/9781461462705 微積分学から有界導関数を持つ 関数 は、⻑さ の区間において、近似誤差が となるような次数 の多項式で近似で きることがわかっている。 これは例えば、Taylor の定理や⼀般化された平均値の定理などからもわかる。結果,区分多項式を⽤いた近似の精度を向上させ るには,原理的に2 つの⽅法がある.多項式の次数を上げる( -refinement) か、個々のセグメントのサイズを⼩さくしてより多くの セグメントを近似に利⽤する( -refinement) かである。 形状処理のアプリケーションでは、h-refinement がp-refinement より好まれる。これは、離散的にサンプリングされた⼊⼒曲⾯ に対して、⾼次導関数の有界性について合理的な仮定を建てることができないからである。さらに、次数の⾼い区分多項式ではセ グメント間の 平滑性条件を満たすのが⾮常に難しい場合がある。最後に、最近の計算機アーキテクチャでは、⾮常に単純なオブ ジェクトを多数処理する⽅が、より複雑なオブジェクトを少数処理するよりも遥かに効率的であることが多いからである。このよ うな理由から 区分線形関数によるサーフェス表現、つまりポリゴンメッシュ(polygonal meshes) が形状処理の標準として定着 している。 パラメトリック曲⾯の場合、平均値の定理から 近似誤差は直ちに導かれるが、陰関数表現の場合はより慎重な検討が必 要となる。区間 で定義される滑らかな関数 を次数 の多項式 で横軸 で補間すると近似誤差は次の式で評価され るというのが、⼀般化された平均値の定理である。 陰関数表現 とそれに対応する多項式近似 に対しても、この定理は有効である。しかし、ここで陰関数表現のサーフ ェス形状は、この定理上で誤差推定値を含む関数値 によってではなく、 のゼロレベルセット、すなわち によって与えられる。 近似多項式 で定義された陰関数曲⾯上の点、すなわちあるボクセル内部の となる点 を考える。このとき、 の法線 ⽅向にレイ を⾶ばすことで、 で定義される陰関数曲⾯上の対応点 ( すなわち ) を求める ことができる。ここで⼗分に⼩さなボクセルサイズ においては、 と近似でき( が単位法線ベクトルとなる) 、さらに平均値の定理から、 が得られる。ここで、 がある で下から押さえられる場合、 である。なお、実問題では近似誤差の分布 が⼀様になるように、勾配の⼤きさのばらつきが⼩さい近似多項式 を求めることが多い。 1.3 Parametric Surface Representations パラメトリック曲⾯表現は、関数 を⽤いることで、サーフェス 上の多くの3D 問題をパラメータ領域の2D 問題に還 元できるという利点がある。例えば、曲⾯上のサンプル点は、パラメータ領域 をサンプリングして関数 を評価することで簡単 に⽣成できる。同様に、測地線近傍、すなわち曲⾯ 上の近傍は、パラメータ領域の隣接点を考慮することで簡単に⾒つけること ができる。関数 と変形関数 の単純な合成関数により、表⾯形状を効率的に修正することもできる。 ⼀⽅、パラメトリック曲⾯のパラメータ化関数(parameterization) を⽣成することは⾮常に難しい。これはパラメタライズ領域 は曲⾯ と⼀致する位相的な構造(topological structure) とメトリック構造(metric structure) を持っていなければならないからで あるChapter 5 参照) 。 の形状を変更した場合、幾何学的な変化に対応するためにパラメータ化関数 も更新する必要がある。歪 C∞ g h O(h ) p+1 p p h Ck C0 O(h ) p+1 [a,a + h] g p f t ,..,t 0 p ∣f(t) − g(t)∣ ≤ max f t − t = (p + 1)! 1 (p+1) i=0 ∏ p ( i ) O h ( p+1) G : R → 3 R F G(x) G S = {x ∈ R ∣G(x) = 3 0} F F(x) = 0 x F d = d∇F/∣∣∇F∣∣ G x + d G(x + d) = 0 h ∣F(x + d)∣ ≈ ∣d∣∥∇F(x)∥ ⇒ ∣d∣ ≈ ∥∇F(x)∥ ∣F(x + d)∣ ∇F ∣F(x + d) − G(x + d)∣ = ∣F(x + d)∣ = O h ( p+1) ∣∣∇F∣∣ ϵ > 0 ∣d∣ = O(h ) p+1 F f : Ω → S S Ω f S f d : R → 3 R3 f Ω S S f
  5. Polygon Mesh Processing: 1. Surface Representations 5 みの少ないパラメータ化には と の構造が似ている必要があるため、パラメータ化関数

    による過度な引き伸ばしを避ける必要が ある。 多様体表⾯ はパラメタライズ関数 のある範囲として定義されているので、 が連続であり全射である場合、 上のトポロジー は 上のトポロジーと等価である。このことから、パラメトリック曲⾯ のトポロジーを変更すると、パラメタライズ関数 だけで なくパラメータ領域 も変更する必要があるため、⾮常に複雑になる。典型的な内外距離や符号付き距離のクエリは、クエリ点 (foot point) から 上で最も近い点を⾒つけるタスクだが、パラメトリック曲⾯でのクエリタスクは⾮常にコストが⾼い。⾃⼰衝突 (self-collisions; non-injectivities) の検出についても同様である。トポロジーの修正と空間クエリはパラメトリック曲⾯の弱点であ る。 1.3.1 Spline Surfaces テンソル積によって⽣成されるNURBS と呼ばれるスプライン曲⾯は、現在のCAD で⽤いられている標準的なサーフェス表現で ある。NURBS は⾼品質なサーフェス(class A と呼ばれる) を構成するために使⽤されるだけでなく、サーフェス編集タスクにも⽤い られる。スプライン曲⾯は区分多項式もしくは有理B スプライン基底関数 によって簡単に記述できる。 技術メモ:3 次元形状処理 NURBS とは曲線・曲⾯の表現形式の⼀種で、B スプライン曲線・曲⾯やベジエ曲線・曲⾯を⼀般化したもので す。Wikipedia での解説(英語)は こちら 。 以下の内容は、学⽣時代1997 年頃) に勉強した内容を研究室のホ ームページで公開していたものを再編集したものです。 「曲線の性質」ではNURBS 曲線の性質を⾃分が理解す https://staff.aist.go.jp/y-furukawa/memo_nurbs.html Bézier and BSpline Techniques | Hartmut Prautzsch | Springer Computer-aided modeling techniques have been developed since the advent of NC milling machines in the late 40's. Since the early 60's Bezier and B spline representations evolved as the major tool to handle curves and surfaces. These representations are geometrically intuitive and meaningful and... https://www.springer.com/gp/book/9783540437611 2 重次数(bi-degree) のテンソル積スプライン曲⾯ は、複数の多項式パッチを滑らかな manner で接続して作られた piecewise 多項式曲⾯である。各⻑⽅形セグメントは2 つのノットベクトル と によって定義され、全 体の曲⾯は、 で得られる。 制御点(control points) はスプライン曲⾯の制御メッシュ(control mesh) を定義する。 ここで、 かつ であるから、曲⾯上の各点 は制御点 の凸結合であり、曲⾯は制御メッシュの凸包 内部にあることになる。基底関数は遠⽅に対して影響を与えないため、各制御点は局所的な影響しか受けない。これら2 つの特性 により、スプライン曲⾯は制御メッシュに密接に追従し、ユーザは制御点を調整することで曲⾯の形状を直感的に変更できる。 パラメータ化関数 による⻑⽅形領域の像でもあるテンソル積曲⾯は、常に に埋め込まれた⻑⽅形曲⾯パッチを表す。より複 雑なトポロジー構造を持つ形状をスプライン曲⾯で表現しようとすると、モデルをいくつかのパッチに分解しなければならない。 このようなトポロジー制約の結果、⼀般的なCAD モデルは膨⼤な数のサーフェスパッチの集合体で構成されることが多い。⾼品 質で全体的に滑らかなサーフェスを表現するためには、これらのパッチを滑らかに接続する必要があり、サーフェス処理のすべて の段階で考慮しなければならない追加の幾何学的制約(geometric constraints) が発⽣する。サーフェスパッチの数の多さと、それ に伴う位相的・幾何学的制約は、サーフェス作成、特に後のサーフェスモデリング作業を⾮常に複雑にする。 スプライン表現のもう⼀つの⽋点は、制御点を追加したいときに(refinement) 、パラメータ区間 もしくは を 分割することでしか実現できない点であり、またこの操作は制御メッシュの⾏または列全体に影響を与えてしまう。T スプライン では、制御メッシュを局所的にrefinement できるため、この問題を改善できる。 S Ω f S f f S Ω S f Ω S N (⋅) i n n f Cn−1 {u ,...,u } 0 m+n {v ,...,v } 0 k+n f : u ,u × v ,v [ n m ] [ n k ] (u,v) → R3 ↦ c N (u)N (v). i=0 ∑ m j=0 ∑ k ij i n j n c ∈ ij R3 N (u) ≥ i n 0 N ≡ ∑i i n 1 f(u,v) cij f R3 [u ,u ] i i+1 [v ,v ] j j+1
  6. Polygon Mesh Processing: 1. Surface Representations 6 T-splines and TNURCCs

    This paper presents a generalization of non-uniform B-spline surfaces called T-splines. T-spline control grids permit T-junctions, so lines of control points need not traverse the entire control grid. T-splines support many valuable operations within a consistent framework, such as local refinement, and the merging https://scholarsarchive.byu.edu/facpub/1057/ 1.3.2 Subdivision Surfaces サブディビジョンサーフェス( 細分割曲⾯; subdivision surface) はスプライン曲⾯と同様に粗いメッシュで制御されるため、スプ ライン曲⾯の⼀般化と考えることができる。ただし、スプライン曲⾯とは異なり、任意のメッシュを表現できる。サブディビジョ ンサーフェスは制御メッシュのrefinement を繰り返すことで⽣成される。各トポロジーのrefinement ステップの後に、新旧の頂点 位置は局所的な平均化ルールに基づいて調整されるFigure 1.4 参照) 。このルールを注意深く分析すると、このプロセスの極限では provable smoothness な表⾯が得られることがわかる。 Subdivision for Modeling and Animation Course Title Course Materials Course notes 30MB PDF. Summary This course provides an introduction to Subdivision, a technique to generate smooth curves and surfaces, which extends classical spline modeling approaches. The course will cover the basic ideas of subdivision as well as the particulars of a https://mrl.cs.nyu.edu/publications/subdiv-course2000/ そのため、サブディビジョンサーフェスはスプライン曲⾯のようなトポロジー制約( ただし2 多様体制約=manifoldness を除く) や 幾何学的な制約を受けず、その階層構造により⾮常に効率的なアルゴリズムで実現できる。しかし、このような細分化⼿法はいわ ゆる半無限細分化接続性(semiregular subdivision connectivity) を持つメッシュの⽣成、すなわち粗い制御メッシュを繰り返し⼀ 様にrefinement した結果として形成されるサーフェスメッシュを⽣成することに限定される。この制約は任意のメッシュでは満た されないため、前処理段階ではsubdivision connectivity を持つようにリメッシュする必要がある。しかし、このリメッシュはサー フェスのリサンプリングに相当するため、通常サンプリングに伴うアーティファクトや情報の損失を引き起こす。この接続性の制 約による制限を避けるために、この界隈は任意の三⻆形メッシュを扱うことを⽬標としている。この⽬標が実現されれば、より⾼ い柔軟性を持ち、なおかつ効率的なサーフェス処理が可能となる。
  7. Polygon Mesh Processing: 1. Surface Representations 7 Introduction OpenSubdiv is

    a set of open source libraries that implement high performance subdivision surface (subdiv) evaluation on massively parallel CPU and GPU architectures. This code path is optimized for drawing deforming surfaces with static topology at interactive framerates. OpenSubdiv is an API ready to be integrated into 3rd party digital content creation tools. https://graphics.pixar.com/opensubdiv/docs/intro.html 1.3.3 Triangle Meshes 多くの形状処理アルゴリズムでは、三⻆形メッシュ(triangle mesh) は特定の数学的構造を持たない三⻆形の集合体とされる。た だし原理的には、barycentric parameterization によって各三⻆形は区分線形サーフェス表現を定義する。 例えば、三⻆形 の内部にあるすべての点 は、⻆点のbarycentric combination により以下のように唯⼀に表せる。 ただし、 である。 パラメータ領域で任意の三⻆形 を選べば、次を満たす線形写像 を定義できる。 この三⻆形毎のマッピングに基づけば、三⻆形メッシュ全体のparameterization を導出するには、各頂点の2 次元位置を決定す れば⼗分である。Chapter 5 では、 から への区分線形マッピングによる歪みを最⼩化するようなパラメータ領域での三⻆形 分割⼿法について説明する。 Parametrization (geometry) - Wikipedia In mathematics, and more specifically in geometry, parametrization (or parameterization; also parameterisation, parametrisation) is the process of finding parametric equations of a curve, a surface, or, more generally, a manifold or a variety, defined by an implicit equation. The inverse process is called https://en.wikipedia.org/wiki/Parametrization_(geometry) 三⻆形メッシュ は幾何的な要素と位相的な要素で構成される。位相的な要素は頂点の集合 とその要素を繋 いだ三⻆形の集合 から構成されるグラフ構造で表される。 ただし、 とする。 ここで、Chapter 2 でも⽰すように、三⻆形メッシュの隣接関係を表現する際にはグラフの辺 を⽤いた⽅が効率的なことがある。 三⻆形メッシュを へ埋め込むには、各⾯ が3 次元空間中の三⻆形に⼀致するように次のように3 次元位置 と各頂点 を紐付ければ良い。 ここで、離散的な頂点に3 次元位置を割り当てて幾何学的な埋め込みを⾏ったとしても、結果として得られる多⻆形曲⾯は、線形 パラメータ化関数を持つ三⻆形の断⽚からなる連続的な曲⾯であることに注意せよ。 ⼗分になめらかな曲⾯を区分的な1 次関数で近似すると、近似誤差はたかだか ( ただし は最⻑辺の⻑さ) になる。この2 次 近似により、エッジの⻑さを半分にすると誤差は約1/4 になる。このrefinement により各三⻆形は4 つのサブ三⻆形に分割されるの で、三⻆形の数は から に増加するFigure 1.5 参照) 。 [a,b,c] p p = αa + βb + γc α + β + γ = 1, α,β,γ ≥ 0 [u,v,w] f : R → 2 R3 αu + βv + γw ↦ αa + βb + γc R2 R3 M V = {v ,...,v } 1 V F = {f ,...,f } 1 F f ∈ i V × V × V E = {e ,...e }, e ∈ 1 E i V × V R3 f ∈ F pi v ∈ i V P = p ,…,p , p := { 1 V } i p v = ( i ) ∈ ⎝ ⎛ x v ( i ) y v ( i ) z v ( i ) ⎠ ⎞ R3 O(h ) 2 h F 4F
  8. Polygon Mesh Processing: 1. Surface Representations 8 そのため、三⻆形メッシュの近似誤差は⾯の数に反⽐例する。近似誤差の実際の⼤きさは、テイラー展開の2 次項、すなわちな めらかな曲⾯の曲率に依存する。このことから、適度なメッシュの複雑さがあれば⼗分正確に近似できると⾔えるため、頂点密度

    は曲⾯の曲率に合わせて局所的に調整する必要がある。例えば、ある部分ではサンプリングが少なく、曲がった部分ではサンプリ ング密度は⾼くなる。 前述のように、曲⾯の位相的な性質は曲⾯が2 次元多様体2-manifold; two-dimensional manifold) であるか否かで決まる。ある 曲⾯が2 次元多様体であるとは、あらゆる点において曲⾯が円盤( または境界では半円盤) に局所的に同相であることを意味する。⾮ 多様体辺(non-manifold edge) と⾮多様体頂点(non-manifold vertices) および⾃⼰交差を含まない場合、三⻆形メッシュは2 manifold となる。⾮多様体辺は2 つより多くの三⻆形が接している辺を指す。ある頂点で2 つ以上のsurface sheets をつまんでいる 場合、すなわち複数の三⻆形で構成される扇形と複数接している場合、その頂点を⾮多様体頂点というFigure 1.6 参照) 。⾮多様体 ではwell-defined な局所的な測地線近傍が存在しないため、⾮多様体メッシュはほとんどのアルゴリズムにおいて問題となる。 有名なEuler の公式は閉じてつながっているメッシュにおける頂点の数 、辺の数 、⾯の数 の関係を述べている。 ここで、 は種数( ジーナス; genus) という⾯の属性であり、直感的には閉曲⾯のハンドル数を指すFigure 1.7 参照) 。実⽤的なアプ リケーションでは⼤抵種数は要素数に⽐べて⼗分⼩さいため、上式の右辺は無視できる。 種数 - Wikipedia 種数(しゅすう、 英: genus; ジーナス)は、 数学⽤語で、分野によって似通っているがいくらか異なる意味を持 つ。なお、 genus の複数形は genera 。 連結な 向き付け可能 閉曲⾯の 種数とは、その切断によって⽣じる 多様 体が連結のままとなるような単純な閉 曲線に沿った切断の最⼤数を表す 整数である。種数はその閉曲⾯の ハンド https://ja.wikipedia.org/wiki/%E7%A8%AE%E6%95%B0 V E F V − E + F = 2(1 − g) g
  9. Polygon Mesh Processing: 1. Surface Representations 9 この性質と各三⻆形が3 つの辺で囲まれていること、そして各多様体辺が2 つの三⻆形に接続していることを踏まえると、以下の

    ようなメッシュの性質を導ける。 三⻆形の数は頂点数の約2 倍である。 辺の数は頂点数の約3 倍である。 頂点の平均価数(average vertex valence) 、すなわち接続する辺数の平均値は6 である。 これらの関係は、メッシュ処理アルゴリズム実⾏時の複雑さを⾒積もる際や、Chapter 2 で導⼊する三⻆形メッシュのデータ構造 やファイルフォーマットを分析するときに重要になる。 1.4 Implicit Surface Representations 幾何学モデルにおける陰関数表現(implicit representation) や体積表現(volumetric representation) の基本的なコンセプトは、各 3 次元点が物体の内側にあるか、外側にあるか、あるいは境界曲⾯ 上にあるかを分類することで、物体を埋め込んだ空間全体を特 徴づけることである。 代数曲⾯(algebraic surface) 、放射基底関数(radial basis functions) 、離散ボクセル化(discrete voxelizations) など、陰関数に は様々な表現⽅法がある。いずれの⽅法でも、曲⾯ はスカラ値を持つ関数 のゼロレベル等値⾯(zero-level isosurface) で定義される。 の負の関数値は物体の内側を、正の値は物体の外側の点を指すことが慣習的に多い。ゼロレベル等値 ⾯ は曲⾯上の点全体を含み、内側と外側を分離する。陰関数曲⾯は が連続である限り⽳(hole) を持たない。また、陰関数曲⾯は potential function の等位集合(level set) であるため、幾何学的な⾃⼰交差が起きない。この特性はメッシュの修復に利⽤される Chapter 8 参照) 。 等位集合 - Wikipedia https://ja.wikipedia.org/wiki/%E7%AD%89%E4%BD%8D%E9%9B%86%E5%90%88 以上より、幾何学的な内外判定は の評価結果の符号チェックに帰着される。このため陰関数表現は幾何学的なプリミティブ (primitive) にブール演算を適⽤して複雑な形状を構成する空間領域構成法(constructive solid geometry; CSG に適している Figure 1.8 参照) 。それぞれのブール演算は各プリミティブを表現する陰関数のmin/max の組み合わせで簡単に計算できる。 F ≈ 2V E ≈ 3V S S F : R → 3 R F S F F
  10. Polygon Mesh Processing: 1. Surface Representations 10 陰関数曲⾯は の関数値を局所的に⼩さく( もしくは⼤きく)

    することで容易に変形できる。ボクセルグリッドなどで表現される の構造はレベルセット曲⾯のトポロジーとは独⽴しているので、曲⾯のトポロジーや接続性を簡単に変更できる。 ある曲⾯ に対する陰関数 は⼀意に決定されない。例えば を任意スカラ倍した関数 も と同じゼロレベル等値⾯を⽰す。 そのため、最も⼀般的で⾃然な表現はいわゆる符号付き距離関数(signed distance function) であるとされ、これは各3 次元点 を 曲⾯ からの符号付き距離 に射影する関数である。絶対値 は から までの距離を表し、符号は点 が で囲まれた⽴体 の内側にあるか外側にあるかを⽰す。この表現は距離計算を単純な関数評価に簡略しているため、内外判定だけではなく、形状処 理アルゴリズムの形状全体における誤差の計算や制御、衝突計算といった⽤途にも応⽤できる。 ⼀⽅で、陰関数曲⾯上でサンプル点を⽣成したり、測地線近傍を求めたり、曲⾯をレンダリングすることは、パラメトリック曲 ⾯と⽐べると難しい。さらに、陰関数曲⾯にはパラメータ化の⼿段がないため、例えば時間変化する陰関数曲⾯に対して⼀貫した テクスチャを貼り付けることは難しい。 なお、陰関数曲⾯を表現する上で最も⼀般的なデータ構造は⼀様格⼦(regular grid) と適応的なデータ構造(adaptive data structure) である。これらについては次に述べる。 1.4.1 Regular Grids 陰関数表現を効率的に処理するために、連続的なスカラ場 は、ノード を持つ⼗分に⾼密度なグリッドを⽤いて、物 体のバウンディングボックスを離散化することで表現されることが多い。それゆえ、最も基本的な表現は⼀様格⼦上でサンプリン グされたスカラ である。格⼦点で囲まれたボクセル内部の関数値は3 次補間(trilinear interpolation) で得られるた め、2 次近似のオーダで得られる。しかし、このような素朴なデータ構造では、ボクセルのエッジ⻑を短くして精度を上げると、 メモリ消費量がエッジ⻑さの3 乗に⽐例して増加してしまう。 1.4.2 Adaptive Data Structures メモリ効率を向上するために、サンプリング密度はスカラ場 の局所的な幾何学的重要度(local geometric significance) に適合 させることが多い。表⾯近傍の正確な符号付き距離が最も重要であるため、これらの領域に限っては⾼いサンプリングレートを⽤ いる必要がある。そこで、⼀様格⼦の代わりにサンプリングされた値を格納するために、階層的な⼋分⽊(octree) を導⼊する。 The design and analysis of spatial data structures. Applications of spatial data structures: computer graphics, image processing, and GIS Instant access to the full article PDF. US$ 39.95 Tax calculation will be finalised during checkout. Immediate online access to all issues from 2019. Subscription will auto renew annually. US$ 119 Tax calculation will be finalised during checkout. https://link.springer.com/article/10.1007/BF01901187 ただし、オブジェクトの完全に内側( 黒) または外側( ⽩) にある⼋分⽊のセルをさらに再分割しても、表⾯ 付近の近似精度は向上し ない。そこで曲⾯と交差するセル( 灰) だけを適応的に再分割すると、曲⾯のまわりに均⼀に再分割されたleaf cell が形成される。こ の結果、データ保存の複雑さは3 次から2 次へ減少するFigure 1.9 左参照) 。この構造は黒、⽩、灰の3 ⾊のセルで構成されることか ら、3 ⾊⼋分⽊(three-color octree) と呼ばれる。 F F S F F λF F x S d(x) ∣d(x)∣ x S x S F g ∈ ijk R3 F := ijk F(g ) ijk F S
  11. Polygon Mesh Processing: 1. Surface Representations 11 また、局所的なrefinement を3 次元補間の結果が既定の誤差以上になっているセルに限定した場合、結果として得られる近似値

    の精度は局所的な形状の複雑さに依存するFigure 1.9 中参照) 。 Adaptively sampled distance fields | Proceedings of the 27th annual conference on Computer graphics and interactive techniques Adaptively Sampled Distance Fields ADFs) are a unifying representation of shape that integrate numerous concepts in computer graphics including the representation of geometry and volume data and a broad range of processing operations such as rendering, sculpting, level-of-detail management, surface offsetting, collision detection, and color gamut correction. https://dl.acm.org/doi/10.1145/344779.344899 さらに、極端なrefinement が必要なのは曲⾯の曲率が⾼い領域だけなので、このアプローチはメッシュ表現と同程度のメモリ消 費量に簡略化できる。同様に、葉の部分にtrilinear 補間の代わりに線形補間を⽤いた適応的な⼆値空間分解を⽤いることもでき る。この⼿法では複雑さや近似精度は前者の⼿法Figure 1.9 中) と変わらないが、メモリ効率がわずかに⾼いFigure 1.9 右参照) 。 https://www.graphics.rwth-aachen.de/publication/03119/ 1.5 Conversion Methods パラメトリック表現と陰関数表現のそれぞれの利点を活かすには、両者間の効率的な変換⽅法が必要である。しかし、どちらの 表現⽅法も通常は有限のサンプリングであり( 例えば、パラメトリック表現の場合は三⻆形メッシュ、陰関数表現の場合は⼀様/ 適 応的なグリッド) 、各変換は再サンプリングに相当することに注意が必要である。そのため、これらの変換における情報損失を最⼩ 限に抑えるためには、特別な注意を払う必要がある。 1.5.1 Parametric to Implicit パラメトリック曲⾯を陰関数曲⾯に変換するには、符号付き距離場を計算もしくは近似する必要がある。これはボクセル化や3D スキャン変換技術によって⾮常に簡単に⾏うことができるが、格⼦点上でしか近似値を得ることができない。⼀般に、ある曲⾯上 の距離場はどこでも滑らかというわけではないので、区分的線形または区分的3 次近似を適⽤して、近似精度と計算効率のトレー ドオフを妥協する必要がある。 Efficient algorithms for 3D scan-conversion of parametric curves, surfaces, and volumes Three-dimensional 3D scan-conversion algorithms, that scan-convert 3D parametric objects into their discrete voxelmap representation within a Cubic Frame Buffer CFB, are presented. The parametr... https://dl.acm.org/doi/abs/10.1145/37402.37423 この本では、パラメトリック表現としてポリゴンメッシュに焦点を当てているため、陰関数表現への変換には、⼀様もしくは適 応的な3 次元グリッドのノードにおける三⻆形メッシュへの符号付き距離を計算する必要がある。
  12. Polygon Mesh Processing: 1. Surface Representations 12 グリッドのノード(= 格⼦点) から与えられたメッシュへの距離を計算するには、ノードから最も近い三⻆形への距離までの距離を

    計算する必要があるが、これはkd-tree などの空間データ構造を⽤いることで簡単に実現できる。なお、符号付き距離場を計算する には、格⼦点がオブジェクトの内側にあるか外側にあるかを判断する必要がある。 を格⼦点、 を曲⾯上の最も近い点とすると、 ベクトル と外向きの法線(outer normal) との⻆度で符号を得ることができる。 の場合、点 は内側 にあると判断される。このテストのrobustness とreliability は法線 の計算⽅法に⼤きく依存する。⾯、辺及び頂点に⻆度重み 付けされた疑似法線(angle-weighted pseudo-normals) を⽤いると、正しい結果が得られることが⽰されている。 Signed distance computation using the angle weighted pseudonormal The normals of closed, smooth surfaces have long been used to determine whether a point is inside or outside such a surface. It is tempting to also use this method for polyhedra represented as triangle meshes. https://ieeexplore.ieee.org/document/1407857 グリッド全体の距離計算は、fast marching 法によって⾼速化できる。この最初のステップでは、三⻆形メッシュのすぐ近くにあ るすべての格⼦点について、正確な符号付き距離が計算される。この初期化の後、fast marching 法は未知の距離値を持つ残りの格 ⼦点に広い範囲で距離を伝搬する。 https://www.ncbi.nlm.nih.gov/pmc/articles/PMC39986/ 1.5.2 Implicit to Parametric CSG モデリングFigure 1.8 参照) や医療アプリケーションCT ヘッドスキャンから頭蓋⻣の表⾯を抽出するアプリなど) では、陰関 数表現や体積表現から三⻆形メッシュへの変換、いわゆる等値⾯抽出(isosurface extraction) が⾏われる。等値⾯抽出の標準アル ゴリズムはマーチングキューブ(marching cubes) とされている。この⼿法では、陰関数を規則的なグリッド上でサンプリングし、 離散的な距離場の各セルを個別に処理することで並列化できる。等値⾯ と交差する各セルには局所的な基準に基づいて表⾯パッ チが⽣成される。この⼩⽚をすべて集めると、最終的には完全な等値⾯ の三⻆形メッシュ近似図が得られる。 Marching cubes: A high resolution 3D surface construction algorithm We present a new algorithm, called marching cubes, that creates triangle models of constant density surfaces from 3D medical data. Using a divide-and-conquer approach to generate inter-slice connec... https://dl.acm.org/doi/10.1145/37402.37422 曲⾯ と交差する各グリッドの辺に対して、マーチングキューブでは交点を近似するサンプル点を計算する。ここでスカラ場 の観点からは、グリッドの辺の端点 および において の符号が異なる。 による3 次近似はグリッドの辺に沿っては線形であ るため、辺の端点における距離値 および の線形補間により次のように交点 を求めることができる。 結果として得られる各セルのサンプル点は、事前に定義されたルックアップテーブルに基づいて三⻆形曲⾯へ変換されるFigure 1.10 参照) 。このルックアップテーブルの構成はセルの⻆にある符号によって決まり、テーブルサイズは となる。 g c g − c n(c) (g − c) n(c) < T 0 g n(c) S S S F p1 p2 F F d := 1 F(p ) 1 d := 2 F(p ) 2 s s = p + d + d ∣ 1 ∣ ∣ 2 ∣ d ∣ 2∣ 1 p d + d ∣ 1 ∣ ∣ 2 ∣ d ∣ 1∣ 2 2 = 8 256
  13. Polygon Mesh Processing: 1. Surface Representations 13 なお、いくつかのセルの曖昧性により、抽出された曲⾯には亀裂が⼊る可能性がある。この問題はルックアップテーブルを適切 に修正して の反転に関する対称性を犠牲にすることで、簡単かつ効率的に解決することができる。結果としてえられるメッシュ

    はwatertight( ⽳なし) な2-manifold メッシュであり、多くのメッシュ修復技術に利⽤されているChapter 8 。 A modified look-up table for implicit disambiguation of Marching Cubes A new triangulation scheme for the Marching Cubes algorithm is proposed. The scheme allows the extraction of continuous isosurfaces from volumetric data without the need to use disamgiguation techniques. https://link.springer.com/article/10.1007/BF01900830 マーチングキューブは、⼀様格⼦のエッジ上の交点のみを計算するため、シャープな辺やコーナーが潰れてしまう。鋭い特徴を 忠実に再現するためには、セル内に追加のサンプル点が必要になる。拡張マーチングキューブ(extended marching cubes) は、距 離関数の勾配 を調べ、シャープな特徴を持つセルを検出し、推定された接平⾯をボクセルと交差させることで追加のサンプル 点を求めている。 Feature sensitive surface extraction from volume data The representation of geometric objects based on volumetric data structures has advantages in many geometry processing applications that require, e.g., fast surface interrogation or boolean operations such as intersection and union. However, surface based algorithms like shape optimization (fairing) or freeform https://dl.acm.org/doi/abs/10.1145/383259.383265 この原理を2D で描いたのがFigure 1.11 であり、よく知られているfandisk データセットの3D 例がFigure 1.12 である。 F ∇F
  14. Polygon Mesh Processing: 1. Surface Representations 14 抽出された等値⾯を構成する三⻆形メッシュの複雑性はマーチングキューブのようなアルゴリズムで⼤きな問題点となる。抽出 されたメッシュの簡略化Chapter 7

    参照) を後処理として⾏う代わりに、適応的にrefine されたoctree ⾃体に直接簡略化を適⽤でき る。 Real-time exploration of regular volume data by adaptive reconstruction of isosurfaces Instant access to the full article PDF. US$ 39.95 Tax calculation will be finalised during checkout. Immediate online access to all issues from 2019. Subscription will auto renew annually. US$ 119 Tax calculation will be finalised during checkout. https://link.springer.com/article/10.1007/s003710050165
  15. Polygon Mesh Processing: 1. Surface Representations 15 Ju らは、適応的なoctree から直接メッシュを抽出するdual

    contouring ⼿法を提案している。マーチングキューブとは対照的に、 この⼿法ではボクセルの内部に頂点を⽣成し、等値⾯と交差するすべてのボクセルエッジに対してポリゴンを⽣成している。 Dual contouring of hermite data This paper describes a new method for contouring a signed grid whose edges are tagged by Hermite data (i.e; exact intersection points and normals). This method avoids the need to explicitly identify and process "features" as required in previous Hermite contouring methods. https://dl.acm.org/doi/abs/10.1145/566570.566586 しかしdual contouring では、複数の表⾯シートを含むセル構造の場合、⽣成されるメッシュが2-manifold とならない⽋点がある。 これは以下の⼿法で解決することができる。 Automatic restoration of polygon models We present a fully automatic technique which converts an inconsistent input mesh into an output mesh that is guaranteed to be a clean and consistent mesh representing the closed manifold surface of... https://dl.acm.org/doi/abs/10.1145/1095878.1095883 また、cubical marching squares 法でも、適応的に特徴を考慮した等値⾯抽出を⾏うことができる。 Cubical Marching Squares: Adaptive Feature Preserving Surface Extraction from Volume Data Click on the article title to read more. https://onlinelibrary.wiley.com/doi/abs/10.1111/j.14678659.2005.00879.x 最後に、マーチングキューブやその派⽣系に変わる⼿法として、3D ドロネー三⻆形分割を形成して、filtering する⽅法がある。 Provably good sampling and meshing of surfaces The notion of e-sample, as introduced by Amenta and Bern, has proven to be a key concept in the theory of sampled surfaces. Of particular interest is the fact that, if E is an e-sample of a smooth surface S for a sufficiently small e, then the Delaunay triangulation of E restricted to S is a good approximation of S, both https://hal.archives-ouvertes.fr/hal-00488829 この結果として得られるメッシュは形状の整った三⻆形のみを含み、トポロジーとジオメトリの両⽅の点で⼊⼒曲⾯を忠実に近似 できることが⽰されている。この実装例はCGAL にある。 The Computational Geometry Algorithms Library CGAL is a software project that provides easy access to efficient and reliable geometric algorithms in the form of a C library. CGAL is used in various areas needing geometric computation, such as geographic information systems, computer aided design, molecular biology, medical imaging, computer graphics, and robotics. https://www.cgal.org/ 1.6 Summary and Further Reading このChapter では、さまざまな数学的幾何学表現の⻑所と短所について説明した。パラメトリック表現と陰関数表現という2 つの ⼤きな概念は、それぞれ相補的な⻑所と短所を持っている。パラメトリック曲⾯は形状の細部まで捉えることができ、サンプリン グが容易で、直観的に変更することができる。しかしある点からの距離を求めることは難しく、トポロジーの変更には⼤規模な再 構築が必要という⽋点がある。⼀⽅、陰関数表現ではトポロジーの変更や距離の問い合わせは容易だが、サンプリングや形状の編 集は容易ではない上、形状の詳細度はボクセルサイズに依存している。 これに対し、以下のようなハイブリッドな表現がある。これは2 つの概念を融合させ、両者の利点を組み合わせることができる ようにしたものである。例えば、各ボクセルセルに三⻆形の集合を持つ適応的⼋分⽊(adaptive octree) は、⾼精細な解像度と同時 に効率的な距離検索も可能とする。
  16. Polygon Mesh Processing: 1. Surface Representations 16 Structure Preserving CAD

    Model Repair Click on the article title to read more. https://onlinelibrary.wiley.com/doi/abs/10.1111/j.14678659.2005.00878.x パラメトリック表現と陰関数表現には多くの変換技術がある。例えば、以下のShen らの⼿法では、ポリゴンスープを陰関数曲⾯ に変換できる。この⼿法では補間から近似まで、滑らかさと誤差許容範囲を調整できる。 Interpolating and approximating implicit surfaces from polygon soup This paper describes a method for building interpolating or approximating implicit surfaces from polygonal data. The user can choose to generate a surface that exactly interpolates the polygons, or a surface that approximates the input by smoothing away features smaller than some user-specified size. https://dl.acm.org/doi/abs/10.1145/1186562.1015816?casa_token=9KNQb0wJq-oAAAAA%3ASsU7Iz4Y7r o6Y9LF8RsVzewfc8feM-ngfmRFvp0nKRM7qhQraMMXOAUKacZPOk8m0xFxK6JbaN7KsoM これ以外にも陰関数による形状処理に適した表現⽅法は数多くある。放射基底関数はその顕著な例であり、Partition of Unity implicits やポイントベースの表現などが挙げられる。 Multi-level partition of unity implicits We present a new shape representation, the multi-level partition of unity implicit surface, that allows us to construct surface models from very large sets of points. https://dl.acm.org/doi/abs/10.1145/1201775.882293 Shape modeling with point-sampled geometry We present a versatile and complete free-form shape modeling framework for point-sampled geometry. By combining unstructured point clouds with the implicit surface definition of the moving least squares approximation, we obtain a hybrid geometry representation that allows us to exploit the advantages of https://dl.acm.org/doi/10.1145/882262.882319 A survey of point-based techniques in computer graphics In recent years point-based geometry has gained increasing attention as an alternative surface representation, both for efficient rendering and for flexible geometry processing of highly complex 3D... https://dl.acm.org/doi/abs/10.1016/j.cag.2004.08.009 おまけ yiyiliao/deep_marching_cubes This repo contains training and testing code for "Deep Marching Cubes: Learning Explicit Surface Representations". More information about the project can be found in our paper, suppmat and project website. https://github.com/yiyiliao/deep_marching_cubes cvlab-epfl/MeshSDF This is a PyTorch implementation of the NeurIPS'20 SpotLight paper "MeshSDF Differentiable Iso- Surface Extraction". You can find the paper here. To get started, simply clone the repo and run the setup bash script, which will take care of installing all packages and dependencies. https://github.com/cvlab-epfl/MeshSDF