3次元モデルの種類

 3次元物体をディスプレイ上に表現するためのデータ構造には、その表現形式によって3通りあります。物体を点と線だけで表現するものを、ワイヤーフレームモデル、面として表現するものを、ソリッドモデルといいます。
  

ワイヤーフレームモデル

 ワイヤーフレームモデルとは、点と、線分によってのみ、表現されるモデルのことです。このモデルは、データ量は少なく、表示も速いというメリットがあります。また、パソコンなどのディスプレイでも十分表示できます。しかし、面のデータを持っていないため、陰線消去表示を行うことができず、モデルの立体感をつかみにくいという欠点もあります。また、表面積や体積などを求めることもできません。
 しかし、ワイヤーフレームモデルであっても、デプスキューイングといって、視点から遠くなるに従って暗く表示させる機能や、立体めがねを使用した立体表示によって、かなりリアルな映像をつくりだすことができます。
 ワイヤーフレームモデルのデータ構造には、いろいろありますが、一般的には、頂点テーブルと稜線テーブルによって表されます。頂点テーブルとして、各頂点の座標値を持ち、稜線テーブルとして、どの点とどの点をつなぐかを示す情報を持ちます。この他にすべての線分のデータだけでだけで表現する方法もありますが、頂点の座標値を重複して持つため、データ量は増えてしまいします。

サーフェイスモデル

 サーフェイスモデルとは、点、線分、面によって表現されるモデルのことです。サーフェイスモデルには、平面だけで表される多面体モデルと、複雑な曲面も扱うことのできる曲面モデルがあります。しかし、ハードウェアでは、平面しか表示させることがきないため、いろいろな方法を用いて多面体近似することによって表示しています。また、曲面の特徴線のみを表示するあいそパラメトリック表示などの方法を使用することもあります。サーフェイスモデルは、面データを持つため、陰線消去表示や、シェーディング表示などのレンダリング機能を実現することができます。陰線消去表示をする方法をして、スキャンライン法といって、視点から遠いものより順番にディスプレイに描いていく方法と、デプスバッファという1ピクセルごとのZ座標値を保持するメモリーを使用したデプスバッファ法の2種類があります。サーフェイスモデルでは、表面積を求めることはできますが、中身がないため体積や重さなどを求めることはできません。
 サーフェイスモデルのデータ構造は、ワイヤーフレームモデルのデータ構造を拡張したもので、一般的に、頂点テーブル、稜線テーブル、面テーブルによって表されます。サーフェイスモデルは、ワイヤーフレームモデルの拡張されたものと考えられます。

ソリッドモデル

 ソリッドモデルとは、ソリッドと呼ばれる中身の入った物体により表現されるモデルのことです。ソリッドモデルは、陰線消去表示や、シェーディング表示はもちろん、体積や重さなどを求めることもできます。
 ソリッドモデルのデータ構造には、CSGと、B-repが、あります。

CSGモデル

 CSGモデルは、プリミティブと呼ばれる基本要素の組み合わせで、形状を表現します。プリミティブには、直方体、立方体、球、円柱、円錐、角錐などがあります。組み合わせの方法には、和、差、積などがあります。   

 これらのプリミティブを組み合わせることを集合演算と呼んでいます。ここで、円柱Aと球Bに対して集合演算の例をあげます。AとBの和は、AとBを合わせたものとなり、AとBの差は、AからBをと重なる部分を取り除いたものとなります。そして、AとBの積は、AとBの重なった部分を取り出したものとなります。
  

 CSGモデルは、これらのプリミティブと、その集合演算の方法をデータとして保存します。CSGモデルは、データ量が少なく、レイトレーシングなどのコンピュータ・グラフィックスには向いています。しかしプリミティブの組み合わせでしか形状を表現できないため、複雑な曲面を表現することはできません。
  

B-repモデル

 B-rephaは、境界表現とも呼ばれています。B-repは、CSGに比べて、形状表現能力は優れていますが、データ量が多くなり処理も複雑になります。従って、CSGのデータをB-repに変換することは可能ですが、B-repのデータをCSGに変換することは困難です。B-repでも、CSGと同じように集合演算を行えますが、集合演算の方法を保存せずに、集合演算した結果を新しいデータとして、保存します。B-repは、複雑な曲面を扱うCADシステムに向いています。
  

 B-repの代表的なデータ構造として、ウィングドエッジデータ構造があります。これは、稜線を中心として、?と、隣接する線分、及び、隣接する面へのポインタによって表されます。このポインタを図に表すと鳥の羽を広げたような形になるため、ウィングドエッジデータ構造と呼ばれています。