1 / 35

3 章  3 次元形状をモデリングする

3 章  3 次元形状をモデリングする. ここでは, 3 次元形状 ( 立体 ) をコンピュータ内に定義する手法について説明する.. 3.1  境界表現. 境界表現 (boundary representation) 頂点,稜線,面分などの幾何情報およびそれらの接続情報 幾何情報 (geometrical data) 3 次元空間内の座標値(x,y,z) 接続情報 (topological data) 面分はどの稜線で区切られているかの情報. 3.1  境界表現.

grant
Download Presentation

3 章  3 次元形状をモデリングする

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 3章 3次元形状をモデリングする ここでは,3次元形状(立体)をコンピュータ内に定義する手法について説明する.

  2. 3.1 境界表現 • 境界表現(boundary representation)頂点,稜線,面分などの幾何情報およびそれらの接続情報 • 幾何情報(geometrical data)3次元空間内の座標値(x,y,z) • 接続情報(topological data)面分はどの稜線で区切られているかの情報

  3. 3.1 境界表現 • 多面体を構成する曲面群と,曲面を構成する稜線群と,稜線を構成する頂点群との間の接続関係(位相情報)を表したもの. • 境界表現法では多面体を構成する頂点,稜線,曲面の接続関係をウィングドエッジデータ構造を用いて表現することが多い. • ウィングドエッジデータ構造:多面体の各稜線を中心とした形状要素の接続関係を表現する位相データ構造

  4. 3.1 境界表現1.ポリゴン表現 • 多角形は基本的な形状要素 稜線 頂点 稜線 頂点 頂点 稜線 穴 凸多角形 凹多角形 穴のある多角形

  5. 3.1 境界表現   ポリゴンの法線ベクトル y ax+by+cz=1 1/b x 1/c 1/a z 単位法線ベクトルnは3次元CGにお いて,陰影づけなどの処理で重要な 役割を果たす.

  6. 3.1 境界表現   多角形の三角形分割 Q0 三角形 Q4 Q1 多角形 多角形 Q2 Q3 Q0 Q0 Q5 Q5 仮想の稜線 (ブリッジ稜線) Q8 Q1 Q8 Q9 Q1 Q7 Q9 Q7 Q4 Q10 Q4 Q10 Q6 Q2 Q6 Q2 Q3 Q3

  7. 3.1 境界表現   多角形メッシュによる物体の近似3.1 境界表現   多角形メッシュによる物体の近似 • CGでは,3次元空間に定義された2次曲面や自由曲面は,複数の小さな多角形(ポリゴン)で近似して表示する. • 多角形メッシュでは粗いことがある.その場合は,四角形メッシュや三角形メッシュを用いる. • 四角形メッシュの頂点は同一平面内にない場合がある. • その場合,曲面の最小単位である三角形メッシュを用いて,物体を近似して表示する.

  8. 3.1 境界表現2.ウィングドエッジデータ構造3.1 境界表現2.ウィングドエッジデータ構造 NCCW NCCW PCW PVT PCW Nface PVT Edge Edge Pface Pface Nface NVT PCCW NVT NCW NCW オイラーの関係式 V-E+F=2 PCCW 稜線Edge:頂点PVTと頂点NVTで構成 稜線Edge=曲面Nfaceと曲面Pfaceの稜線 稜線NCCWと稜線PCWは頂点PVTに接続 稜線NCWと稜線PCCWは頂点NVTに接続 頂点の数 (8) 曲面の数 (6) 稜線の数 (12) 多面体を構成するすべての稜線に適用し接続関係を記述

  9. PVT NVT NVT:6 PVT:2 PCW PVT NCCW ⑦ E Pface NCW Nface Pface PCCW PCW NCCW Nface:Ⅲ NCW:⑧ PCW:② PCCW:⑥ NCCW:③ Pface:Ⅱ E Nface PCCW 5 6 ⑥ NCW NVT ⑤ Ⅱ ⑦ ⑧ ② 1 Ⅲ 7 2 Ⅰ ③ ① ⑨ 3 4 ④ 3.1 境界表現(例題)ウィングドエッジデータ構造

  10. 3.2CSG表現1.プリミティブ • 円柱や直方体などの形状プリミティブ(形状要素)を組み合わせて物体を生成する方法 f(x,y,z)=0 半空間Sij 形状プリミティブSj Sj=∩Sij

  11. z r h y 0 x 3.2CSG表現   プリミティブ例

  12. 3.2CSG表現2.集合演算 B A 積(A∩B) 差(A-B) 和(A∪B)

  13. 3.2CSG表現CSGのトリー構造 ∪ ∩ ∪ - -

  14. 3.2CSG表現3.境界評価関数 境界評価関数Bi(x,y,z)は,ある点が立体形状の内部にあるか, 外部にあるか,境界(形状の表面)にあるか,さらに境界表面から どのくらい離れているかを評価する. プリミティブPi

  15. 3.2CSG表現3.境界評価関数(例) y 円Pと楕円Q 1.5 境界評価関数の値を求めなさい. (0,1.2) 1 -1 1 x 0 -1

  16. 境界表現、CSG表現、スイープ表現 3-1章 3次元形状をモデリングする

  17. 立体の表現方法(1) • 境界表現(B-rep(Boundary Representation)) • CSG表現(Constructive Solid Geometry Representation)

  18. 立体の表現方法(2) • スイープ表現(Sweep Representation) f1: v1, v2, v3, v4, v5, v6 S: Sweep(f1, dir: (0, 0, -1), length: 4)

  19. 境界表現(1) 境界表現とは,頂点・稜線・面と,これらの相互関係を表すデータによって立体データを表現するものである.

  20. 幾何データ トポロジーデータ 境界表現(2) 境界表現によるデータは,以下の2種類のデータにより構成される. 幾何データ :座標,方程式の係数などのような数値データ トポロジーデータ :頂点・稜線・面間の関係を表すデータ

  21. ウィングドエッジデータ構造(1) 境界表現の一実現例 ウィングドエッジデータとは,立体を稜線の集まりであると定義し,各稜線について,他の稜線・頂点・面との関係を保持するトポロジーデータ構造である. 各稜線につき一つの ウィングドエッジデータを生成

  22. E V V 1 2 E E 1 2 E E 4 3 F F 1 2 ウィングドエッジデータ構造(2) E3 E2 F2 V2 E4 E F1 E1 V1 各稜線につき一つの ウィングドエッジデータを生成

  23. E V V 1 2 E E 1 2 E E 4 3 F F 1 2 ウィングドエッジデータ構造(3) 稜線の数だけ ウィングドエッジデータを生成

  24. 点P(x0,y0,z0) 内部と外部の判定 点P(x0,y0,z0)が,多面体の中に存在するかを調べる. 面F1のどちら側に点Pが存在するかを調べる. 以上のような処理を,各面について調べる. 全ての面について,点Pは各面の実体側にあると判断された場合,点Pは立体中に存在するものとする.

  25. CSG表現(Constructive Solid Geometry) CSG表現とは,立体を3次元空間における点の集合ととらえ,集合演算を基本に立体をモデル化する方法である. +

  26. CSG表現の集合演算 A∩B A-B B-A A∪B または A+B

  27. + A:直方体 B:円柱 CSG表現の例(1) 例えば,下図の立体Sは,A+B (A:直方体 B:円柱)で表される. 立体S

  28. CSG表現の例(2) 点集合A0: 点集合B0:

  29. CSG表現の例(3) 変換行列Ta 変換行列Tb

  30. プリミティブの例

  31. 内部と外部の判定(1) 例えば,点P(x0,y0,z0)が,下図に示す立体の中に存在するかを調べる. 点P(x0,y0,z0)

  32. 内部と外部の判定(2) この場合,点Pの同次座標 P'(wx0,wy0,wz0,w)を考え, P'Ta-1が集合A0中に存在するか? P'Tb-1が集合B0中に存在するか? を調べる. 点P(x0,y0,z0) 形状SはAとBの和集合なので,上記のいずれかが満たされれば,点Pは形状S中に存在するものとする.

  33. 境界表現とCSG表現の比較 境界表現の利点 形状の幾何データが数値で与えられているので,形状の表示,シミュレーションに,形状データをそのまま流用できる. 面・稜線・頂点がデータとして別個に管理されているため,形状以外の情報を,面・稜線・頂点に関連付けやすい. CSGの利点 形状の定義が明確.

  34. スイープ表現 • 平面図形を一定方向に移動したときの軌跡で立体を表現 • 局所変形との組み合わせで,様々な形状を表現可能 • 平行移動スイープ,回転移動スイープ

More Related