1章 基本形状の生成と図示方法

PCUBE.BAS

1.1 幾何モデルのデータ構造

目次へ戻る次のページ

 立体構造の最も基本的な形は、直方体です。六面体とも言います。これは、幾何学的に言えば、8個の頂点(V)、12個の辺(E)、6個の面(F)、計26個の幾何学的要素で構成されます。頂点には座標値、辺は頂点番号の対と辺に接する面の番号、面はそれを一周する辺の情報など、要素相互の関連を示すデータが必要です。これらの要素ごとにデータを保存するため、32バイトを1単位とする記憶領域(リストセル:list cell)がコンピュータの作業領域に準備されます。多面体ではオイラーの法則として「F+V=2+E」の関係がありますので、これからどの程度のセルが使われるかを見積もることができます。複雑な幾何モデルでは、辺の数の2倍程度のセルが使われると考えると、どの程度の幾何モデルが構築できるかの目安を立てることができます。16ビットのパーソナルコンピュータでは、作業メモリーの制限が 64KB でしたが、32ビットのパーソナルコンピュータやワークステーションでは、この制限が 実用的には1MB以上もとれるようにできます。

 立体的な多面体はコンピュータグラフィックスでディスプレイして確認することができますが、平面図形のデータもセルを記憶単位として多角形を集めた地図のような構造にして処理することがGEOMAPの特徴です。そして、平面図形のデータ構造は立体図形の構造と殆ど同じ三次元構造に構築してあって、x軸のデータを図形の奥行き情報に使うようにします。このような構造にしておくと、多面体どうしを切断したり結合させたりするときだけでなく、隠れ線処理など、点・辺・面が増えたり減ったりして接続条件が変わっても、データの論理的な結合関係(これをトポロジカルtopologicalな関係といいます)を簡単に整合させることができます。立体図形のグラフィックスの表現では、中心投影と平行投影などの投影方法の選択と共に、グラフィックス装置に依存する処理が関係します。原理的にはプロッタを使って線図で描く場合と、CRTのように塗りつぶしの方法で描くものがあります。GEOMAPは、平面図形も多角形の集合として扱う関係で、線図をサポートする処理にしてあります。

 この第1章は、基本的な立体モデルを生成するコマンドの使い方をまとめ、モデルを図示する最も基本的なコマンドを解説します。基本的な立体モデルのことをプリミティブといいます。これは直方体、円柱、角柱、円錐、角錐、それに正多面体などを含み、いずれも簡単なパラメータで作成できるようにしてあります。多面体を創成するコマンドは、すべて英字のPを付けた名前がついています。ユーザーは、仮想の世界座標にこれらのプリミティブを作る場合の寸法の感覚を理解しなければなりません。モデルは世界座標の原点付近に作られますので、これを観察するユーザーの眼に当たる仮想のカメラをDPCAMで定義します。このカメラでは、普通の35oカメラを構えて被写体を視野に入れる感覚を踏まえてカメラ位置を決定します。この仮想のカメラは、焦点距離が1に設定してあって、視角を約1.0に設定してあります。カメラの向きの設定にはかなり高度の知識が必要ですが、教育目的に使うため、カメラはいつも原点を向くように決めてあります。モデルは原点付近に作られますので、モデルが視野から外れることがあまりないようにしてあります。作図は、仮想のカメラのフィルム上の映像を作図装置に割りつけます。作図は立体モデルを平面モデルに変換して描くのですが、簡単にスケッチ図を描くコマンドHFDISPを使っています。立体図形を平面図形に変換するコマンドはHLIMAG,HMIMAGを使いますが、これだけではディスプレイをしません。この詳しい解説は第4章で扱います。


次のページ