デジタル時代のペーパークラフト

←目次へ

6. CGにおける立体表現とペーパークラフト

3次元形状をコンピューターで取り扱う研究は古くからされており、現在ではCADやCGの分野において大きな成果を挙げています。

コンピューターで3次元形状を扱う場合には、その目的に応じて、形状をどのようにコンピューターの中で表現するかが重要となります。ペーパークラフトで作成したい立体形状をコンピューターで扱う場合には、それに適した表現方法を用いる必要があります。

ここでは、現在存在する表現方法のいくつかを紹介し、その中でも「サーフェスモデル」と「境界表現によるソリッドモデル」がペーパークラフトをコンピューターで扱うのに適していることを述べます。

CGにおける立体表現

ワイヤーフレームモデル

ワイヤーフレームモデルとは、稜線と頂点の座標で3次元形状を表現するものです(下図)。稜線は視点と終点の座標値をもち、その2点を結ぶ線で表現されます。この線は直線であることが一般的ですが、円弧をはじめ、ベジェ曲線やBスプライン曲線などの自由曲線で表現されることもあります。コンピューターの処理能力が低かった時代に、高速に立体を表示できる形式として用いられていましたが、面や中身についての情報をもたないため、立体を正確に表現する事はできません。


Teapot のワイヤーフレームモデル

サーフェスモデル

サーフェスモデルとは、ワイヤーフレームモデルのデータに加えて面のデータも持つものです(下図)。立体の表面のデータを持ち、中身についての情報は持ちません。面はそれを構成する稜線のデータを位相的な構造として持ちます。稜線が直線である場合、面の形状は単純な多角形で表現されますが、それ以外にも球面、円柱面、楕円体面、円錐面といった2次曲面の他に、Coons曲面、ベジェ曲面、Bスプライン曲面、NURBS(non-uniform rational B-splines)曲面などの自由曲面を用いる手法が考案されています。


球体の4分の1を除いたサーフェスモデル(内部の情報を含まない)

ソリッドモデル

ソリッドモデルとは、定義される立体の内部についての情報を持つものです(下図)。ワイヤーフレームモデルとサーフェスモデルは体積を持たない線や、必ずしも閉じていない面の集合体として3次元形状を表現するため、実在する物体を正確に表現することはできません。これに対し、ソリッドモデルは表現された3次元形状の内部の情報を持っているため、立体を完全に表現でき、論理集合演算による立体の和や差を求めることができます。特に閉じた面の集合を立体の表面として定義することでソリッドを表現するものを「境界表現モデル」といいます。


球体の4分の1を除いたソリッドモデル(常に立体の境界が存在し内側と外側が定義される)

ボクセルモデル

ボクセルモデルは、空間を格子状に区切ることで、立体を単位立方体で量子化された離散値の集合で表現する空間占有法の一つで、ソリッドモデルの一つでもあります(下図)。空間の各格子について、立体の内外を識別する1ビットの値を保持することで形状の表現が行われるため、データ構造は極めてシンプルで、物体の内部も完全に表現することができます。その一方で、解像度を高めるとデータサイズが極度に大きくなり、計算機資源の乏しい環境では扱いが難しいという問題があります。近年ではコンピューターの性能の飛躍的な向上と、八分木を用いた効率的なアルゴリズムなどにより、ボクセルデータによる形状表現も一般的に扱われるようになってきています。


球体のボクセルモデル

ペーパークラフトと境界表現

改めて言うまでもないことでしょうが、ペーパークラフトとは紙を用いて立体形状を表現するものです。紙は厚みを持たない「面」として扱われ、この紙によって立体形状の「表面」が表現されます。ペーパークラフトでは立体の内部は表現されません。

つまり、ペーパークラフトとは立体の表面形状によって立体そのものを表現する手法であると言えます。このことは、上記にまとめた立体表現手法の中の「境界表現モデル」によるソリッドの表現と一致します。つまり、「境界表現モデル」がペーパークラフトをコンピューターで扱う際に非常に都合がよいことがわかります。また、「サーフェスモデル」も立体の内外を厳密に定義できませんが、面の集合で形を表現するという点で、ペーパークラフトを扱うのに適しています。

これら以外の表現方法でペーパークラフトを扱うのは困難です。例えばボクセルモデルで表現された立体をペーパークラフトにするには、一度ボクセルモデルを境界表現モデルに変換する必要があります。

ところで、立体の表面を定義するのに用いられる、あらゆる面を全てペーパークラフトで表現できるわけではありません。簡単な例として「球」が挙げられます。「球に近い形」をペーパークラフトで作成することはできても、残念ながら「完全な球」を作成することはできません。

一般に、紙は「折り曲げはできるものの伸び縮みはしない」ものであるため、紙で表現できる面は「可展面」と呼ばれる「平面に展開可能な面」に限られます。つまり、ペーパークラフトで作成できる立体は、このような「可展面」の集合である必要があります。コンピューターでペーパークラフトを扱う場合、対象とする立体を、このような可展面の集合で表現することが大きな課題となります。

可展面については以降のコラムで紹介します。

←目次へ