(57)【特許請求の範囲】
【請求項１】
三次元対象の表面の点に関する位置情報を得る装置であって、
遠隔対象の前記表面を走査するためのレーザービームを発射し、且つその対象の前記表面の点に対応するデータ点を記録する走査モジュールであって、前記データ点のデータは、座標及び前記レーザービームの戻り光の強度情報を含む、前記走査モジュールと、
前記対象からの画像情報を獲得するカメラと、その対象からの画像情報を表示するディスプレイとを含むビデオモジュールと、
前記走査モジュール及びビデオモジュールと共に作動して、前記ビデオモジュールによって捕捉された前記画像情報を用いて、前記レーザービームの前記走査の目標付けを支援するプロセッサであって、既に走査したデータ点の座標と、既に走査したデータ点の戻り光の強度情報とを前記画像情報と共に前記ディスプレイ上に表示する前記プロセッサと、
前記ビデオモジュールと協働して、前記ディスプレイ上の画像、既に走査したデータ点の座標及び前記既に走査したデータ点の戻り光の強度情報に基づいて走査すべき対象部分をユーザーが指定することを可能にするユーザーインターフェースと
を備える装置。
【請求項２】
請求項１の装置において、前記プロセッサは、目標とされる領域のビデオ画像上のアウトラインの画像をドラッグすることによって、前記走査モジュールによって目標追跡される対象の一部を特定するように機能する装置。
【請求項３】
請求項１の装置において、前記ディスプレイは、このディスプレイ上に表示されて前記獲得された画像情報に対応する画像からアウトライン領域を指定することにより、走査すべき対象部分をユーザーに指定させる装置。
【請求項４】
請求項１の装置において、前記ユーザーインターフェースは、走査される対象部分における解像度をユーザーに指定させる装置。
【請求項５】
請求項４の装置において、前記ユーザーにより選択された対象部分の解像度は、対象の全体的な走査におけるよりも高解像度で走査される装置。
【請求項６】
請求項１の装置において、前記走査されたデータ点を前記対象の三次元イメージへ変換するモデリングモジュールを更に備える装置。
【請求項７】
請求項６の装置において、前記モデリングモジュールにより生成された前記三次元イメージも前記ディスプレイ上に表示される装置。
【請求項８】
請求項６の装置において、前記モデリングモジュールにより生成された前記三次元イメージは、前記遠隔対象の前記点に対応する幾何学的形状を含む装置。
【請求項９】
遠隔した三次元対象をイメージ化する方法であって、
ａ）前記対象のビデオ画像を獲得する段階と、
ｂ）前記対象のビデオ画像を表示する段階と、
ｃ）遠隔対象の表面をレーザービームにより走査し、且つその対象表面上の点に対応するデータ点を記録する段階であって、前記データ点のデータは、座標及び前記レーザービームの戻り光の強度情報を含む、前記記録する段階と、
ｄ）遠隔対象の表面の領域を走査し、且つその領域内の前記対象表面上の点に対応する付加的なデータ点を記録し、前記領域は前記対象の前記表示されたビデオ画像及び前記ビデオ画像と共に表示された、既に走査したデータ点の座標と既に走査したデータ点の戻り光の強度情報とを参照として用いてユーザーにより選択される段階と、
ｅ）前記走査からの前記データ点を三次元イメージへ統合する段階と
を含む方法。
【請求項１０】
請求項９の方法において、ユーザーが段階ｄ）についての走査点の密度を特定する方法。
【請求項１１】
請求項９の方法において、前記三次元イメージからコンピュータ支援設計システムに入力可能なデータファイルを形成する段階を更に含む方法。
【請求項１２】
請求項９の方法において、段階ｄ）で実行された前記対象の領域の走査は、段階ｃ）で実行された走査よりも高解像度で実行される方法。
【請求項１３】
請求項１２の方法において、段階ｃ）の前記走査は段階ｄ）の前記走査の前に実行される方法。
【発明の詳細な説明】
技術分野
本願発明は、概略、三次元における対象の幾何学的図形及びその他の特性を示す装置に関し、特に、走査ライダー（距離認定レーザー）を利用して、対象の表面上の選択された点の三次元空間内の位置を迅速かつ正確に検知し、それによって、選択された点の検知された位置を表すポイントの集団（又は点暗影、ポイントクラウド）を生成する装置に関し、その装置はその点暗影内の点のグループによって表された幾何学的形状を認識し、それらの幾何学的形状を表すモデルを生成する。そのモデルはコンピュータ援用設計（ＣＡＤ）ツール（従来のＣＡＤツールを含む）によって用いることのできる別のモデルに変換することができる。
背景
複雑な現実の物体（小さな機械的部品のような小さな構成要素か建物や用地のような大きな対象）の幾何図形（形状、寸法及び配置）及び他の特性（例えば、色彩、質感及び反射強度）を測量することは、従来から単調なことで、時間がかかる方法であった。つまり、そのような測定は伝統的に手で行われていた。さらに、それらの測定を図面又はコンピュータモデルに変換することは、手による製図又は図面若しくはコンピュータモデルの製作のためのＣＡＤ装置への入力が必要であった。
最近、その工程を簡略化するために技術革新が努力されている。しかし、全て、完全な統合、自動化、正確性、速度及び距離を達成するには足りない。例えば、建設業界では、構造の測量は従来から３つの基本的なステップが必要である。つまり、
１．現場データの収集
２．データの縮小及び準備
３．製図及びＣＡＤ
現場データ収集のステップは、壁、天井、梁、柱、扉、窓、取付け具、パイプ、導管及び器具のような構造物の適切な構成要素の寸法を手で測定かつ記録する測量士のチームによって実行されている。測量士は、その構成要素の幾何図形のみならずその構造内のその構成要素の相対位置を決定しようとする。測量士は現場でデータをノートブックに記録する。現場で収集されたデータはまとめられて、テーブル及びまとめられたスケッチに変形され、ＣＡＤオペレータ又はドラフターはそれらのテーブルを用いて最終的な図面又はモデルを作る。
そのプロセスは、かなり苦労し、時間を消費し、さらに誤差を生じ易い。加えて、従来からの測量方法を用いると、実際に測定することのできる点の数は非常にかぎられている。それは、時間及び労働で表される各点を捕捉する高いコストのためである。さらに、色彩、質感及び他の特性の情報の取得が望まれているのであれば、さらに現場でノードをとらなければならない（例えば、さらに写真及びビデオ）。最近現場での作業は電子セオドライトに取り付けられたレーザー距離測定装置を用いることによって幾分か自動化された。正確な反射目標（逆反射）が、測定が望まれている対象の位置に配置されている。次に、レーザー距離測定装置がその器具と目標との間の正確な測定を得る。セオドライトは、所定の座標系に対する点までの水平及び垂直の角度のオフセットの正確な指示を提供する。その距離及び角度のデータは、その器具に接続された磁気装置に自動的に記録されるか、又はその器具内部でその器具の軸線に対するデカルト座標に変換される。その手続は、次に、対象の所望の数の点をマップ化するのに必要な数だけ繰り返される。その収集された座標データは、ＣＡＤ装置に直接にプロットすることができる。
残念ながら、そのプロットは対象の幾何図形を表示しないので、ほとんど実用的ではない。さらに、手で配置しなければならない逆反射器を必要し、さらに、レーザー距離測定器が必要とする読み込みごとに比較的長い時間がかかるので、最大量の対象を説明するために十分な点を集めることは非常に労力が要り、時間がかかり、さらに誤差が生じ易い。
他の公知の現場でのデータ収集のプロセスは、立体写真法及び連続の写真測量法を用いる。つまり、対象の立体的に見える画像が得られ、最終的な立体写真は、手走査で又はコンピュータ化された技術を用いて記録されて、各々の写真が得られた時のカメラの写真の平面位置の相対的位置が再生される。そのデータの削減及び準備段階は特別に教育されたオペレータによってて走査で実行される。特に、特別に取り付けた立体視野レンズを援用する場合には、オペレータは十分な数の点の座標をデジタル化し、それにより、立体写真法を用いて対象を明確にすることができる。また、そのデジタル化されたデータはＣＡＤ装置に入力されるか、又は、手で紙の上に描かれる。
概要
本願発明は、三次元シーンのモデルを生成する統合装置である。走査レーザー装置が、三次元シーンを走査して点暗影を生成する。その点暗影の点の各々は表面上の対応する点の位置を表す。第１モデルが生成され、それは、点暗影に応答してシーンの構成要素の幾何学的形状を表す。データファイルが生成され、それは、第１のモデルに応答し、計算機援用設計（ＣＡＤ）装置に入力することができる。
本願発明は、さらに、レーザー出力の走査を要求する装置で使用するために、レーザーからの出力パルスのタイミングを制御する方法であって、各出力パルスがポンプパルスに応答して生成される方法において、パルスの開始と関連する出力パルスの次の発生との間の時間遅延を監視する工程と、監視された時間遅延に基づいて、次のポンプパルスの発生と関連する出力パルスとの間の時間遅延を予測する工程と、ビームの走査の間のレーザー出力の適切な配置ができる時間に前記出力パルスが生成されることを保証するように選択された時間で次のポンプパルスを開始する工程とを含む方法を含む。
本願発明は、さらに、シーン内で三次元特徴を表す複数の点暗影から、シーン内の所望の特徴を表す点の下位集団をマニュアルで分離する方法において、所望の特徴を表す少なくともいくつかのデータ点を含むすべての点暗影を選択する工程と、暗影のビューを変更し、多角形の投げ縄を描いて、選択された下位集団の点をより精密にして、点の下位の暗影に含まれるようにする工程とを含む方法を含む。
本願発明は、さらに、シーンの走査フィールドを、シーン内の異なる表面を表す下位集合の点に自動的に分割する方法であって、走査フィールドを、シーン内の表面の走査点に関する深さ情報を含む深さグリッドと、表面の走査点への法線の予測を含む垂直グリッドとに分離する工程と、深さグリッドの深さ情報を巻き込んで深さ比率画像を生成し、画像の値がシーン内での一つの走査点から他の走査点深さの変化の傾きを表す工程と、垂直グリッドの構成要素を巻き込んで垂直グリッドの各点ごとの各構成要素に関してスカラー値を生成する工程と、垂直グリッドの各点ごとに、特定の点の構成要素に関するスカラー値からその点における法線の傾斜を決定し、垂直グリッドの点に関して決定された傾斜は垂直比率の画像を集団的に構成する工程と、深さ比率画像を帰納的しきい値方法を用いて二値の深さ画像に変換する工程と、垂直比率画像を帰納的しきい値方法を用いて二値の垂直画像に変換する工程と、二値の深さ画像と前記二値の垂直画像とを組合せて単一の端部画像を決定する工程と、シーンの対応する表面になじむように端部でない点の下位の集団をグループ化する工程とを含む方法を含む方法を含む。
その方法は、さらに、最初に各グループの点を最善のものとする幾何原図の種類を決定する工程と、幾何原図を前記データ点に適合させる工程と、シーンの隣り合う平面領域を交差する工程を含む。
本願発明は、さらに、コーナーを表す点暗影を正しい位置に当てはめる方法であって、点暗影の点への３つの平面の適合を決定し、モデルのために平面を作る工程と、対の平面のの交点にある３つのラインを決定し、モデルのためのラインを作る工程と、３つの面の交点の頂点を決定し、モデルのための頂点を作る工程とを含む方法を含む。
本願発明は、三次元シーンをモデル化する方法において、各点がシーンの表面上の点を表す複数の点を生成する工程と、表面法線予測及びグローバル誤差最少化法を用いて一群の点に対する円筒の最善の適合を決定する工程とを含む方法を含む。
本願発明は、三次元のシーンをモデル化する方法であって、各点がシーンの表面上の点を表す複数の点を生成する工程と、二次曲面及びグローバル誤差最少化法を用いて一群の点に対する円筒の最善の適合を決定する工程とを含む方法を含む。
本願発明は、三次元のシーンをモデル化する方法であって、各点がシーンの表面上の点を表す複数の点を生成する工程と、二次曲面及びグローバル誤差最少化を用いて一群の点に対する球面の最善の適合を決定する工程とを含む方法を含む。
本願発明は、三次元のシーンをモデル化する方法であって、各点がシーンの表面上の点を表す複数の点を生成する工程と、一群の点に対する二次曲面の最善の適合を決定する工程と、二次曲面の最善の適合によって描かれる複数のファミリーのどの幾何原図が前記一群の点と適合するのかを決定する工程とを含む方法を含む。
本願発明は、さらに、同一の種類の２つの幾何原図を併合してその種類の単一の幾何原図を形成する方法であって、２つの原図の各々を最初に適合するために用いた点を組合せることによって新たなグループの点を作る工程と、適当な適合方法及び元の図の各々からの点を持つ新たに生成された点のグループを用いて新たな幾何原図を適合する工程とを含む方法を含む。
本願発明は、さらに、複数の点及び幾何原図からなるとともに第１座標系を持つ第１のモデルと、複数の点及び幾何原図からなるとともに第２座標系を持つ第２のモデルとを記録する方法であって、第１及び第２のシーンの共通する特徴をユーザーが特定する工程と、特定に応答し、座標系の間の変換を特定する工程と、第２のモデルの対象を変換してそれらが前記第１の座標系を用いるようにする工程とを備える方法を含む。
本願発明は、さらに、複数の点暗影及び幾何原図によって表された１又は２以上のモデルを選択する工程と、多数の点又は幾何原図の位置上の制約を特定する工程と、各ビューの点及び幾何原図を取り囲む人為的な値を作り、機械的な材両特性を前記取り囲む値に割り当てる工程と、取り囲む値内の材料に関し最少のエネルギー構成を計算する工程であって、点又は幾何原図が埋め込まれていて前記構成がすべて適用された制約を満たす工程と、材料の前記囲む値の最少のエネルギー構成にしたがって前記点及び原図を置き換える工程とを含むワープ方法を含む。後者の方法においては、構成は閉鎖誤差を取り除くように特定されている。
本願発明は、さらに、三次元シーンのモデルを発生する統合装置であって、パルスレーザーを用いて三次元のシーンを走査する走査レーザー装置であって、光パルスが各パルス内で０．２μＪまでを持ち１ナノセコンドより短く持続し、３０psec又はそれ未満の解像度で、各出力パルスとシーンの表面から戻る対応するパルスとの間の時間遅延を測定し、該走査レーザー装置がさらに走査の間にビームの角度的方位を追跡して測定する走査レーザー装置と、測定された時間遅延と角度測定値に基づいて点暗影を生成し、該点暗影が、各々が前記表面上の対応する点の位置を表す複数の点からなる手段とを備える装置を含む。
本願発明は、さらに、レーザーから出力されたパルスのフライト時間の監視を要求する装置内で測定電子機器の較正を行う装置であって、一方の端部が前記レーザーの出力パルスを受け取り、既知の長さを持つシングルモードの光ファイバーと、パルスが前記ファイバーを出る時を監視するファイバーの一方の端部に配置された検出器であって、それに応答して信号を発生し、該信号が前記測定電子機器を通過するような検出器と、ファイバーを出るパルスの検出に基づいて前記ファイバーの理論的長さを計算し、その計算された長さを前記ファイバーの既知の長さと比較して前記測定電子機器を較正するプロセッサとを備える装置を含む。
光ファイバーはその各端部に部分反射器を備え、ファイバーに入る各レーザーパルスごとにパルス列が前記ファイバーを出、パルス列は測定電子機器をさらに較正するために用いられる。
その装置はさらに遅延測定電子回路を備えており、パルス列はそれらの間に一定の遅延を持ち、それによって、パルス列の監視は遅延電子回路を較正するために用いることができる。
その装置はさらに検出器によって監視されるパルスのパワーを変える手段を備えており、検出器は、検出された光のパワーが既定のしきい値を越えると信号を生成するように機能し、プロセッサは、出力パルスのパワーの関数として、検出器によって出力された信号の発生の遅延の変化を追跡するように機能し、プロセッサは、さらに、フライトの時間を監視するために用いられる連続パルスの測定パワーに基づいて前記遅延の測定を較正するように機能する。
本願発明は、さらに、三次元の対象の表面点についての位置情報を得る装置であって、出力ビームを発生するレーザーと、対象の上を前記レーザービームを移動させる走査装置と、レーザービームの反射の測定に基づいて対象までの距離を自動的に測定する監視装置であって、レーザーミームの角度的位置も追跡及び測定し、さらに、最大１００メートルの範囲にわたる１つの標準的な偏差における６ミリメートルと等しいかそれより良いような三次元空間内の各点ごとの位置の精度を持つ監視装置とを備える装置を含む。
各距離測定は０．００５秒下で行うことができる。レーザーはパルス出力を生成し、パルスごとのエネルギーは０．２マイクロジュールより小さく、さらに、レーザーの平均出力パワーはわずかに１．０ミリワットである。
本願発明は、さらに、対象までの距離を測定する装置であって、出力パルスのレーザーを生成するレーザーと、レーザービームの反射に基づいて対象までの距離を測定する監視装置であって、最大１００メートルのその全体の範囲にわたる１つの標準的な偏差における６ミリメートルと等しいかそれより良い精度を持ち、各測定は０．００５秒より短い時間で行うことができ、さらに、前記レーザーは０．２マイクロジュールだけのパルスごとのエネルギーと１ミリワットだけの平均出力とを持つ装置を含む。その対象は逆反射体を持ち、作動の範囲は最大１マイルである。
本願発明は、さらに、遠隔の対象から三次元情報を捕捉する装置において、対象の位置情報を測定するための走査レーザーモジュールと、対象からの画像情報を捕捉するビデオモジュールと、位置情報及び前記画像情報を含む対象のモデルを与えるプロセッサとを備える装置を含む。
ビデオ画像情報は、位置情報の測定と空間的に同時に収集される。ビデオ画像情報は、位置情報が得られる点に隣接する点から収集される。
本願発明は、さらに、三次元対象の表面の点に関する位置情報を得る装置であって、対象についての三次元位置情報を測定する走査モジュールと、対象から画像情報を捕捉及び表示するビデオモジュールと、走査及びビデオモジュールによって作動し、ビデオモジュールによって捕捉された画像情報を用いて、目標追跡の際に、走査モジュールを援助することができるようになるプロセッサとを備える装置を含む。プロセッサは、目標とされる領域のビデオ画像の上のアウトラインの画像をドラッグすることによって、走査モジュールによって目標追跡される対象の一部を特定するように機能する。
本願発明は、さらに、三次元対象の表面の点に関する位置情報を得る装置であって、対象に関する三次元の位置情報を測定する走査モジュールと、走査モジュールから得られた画像情報を表示するビデオモジュールと、走査及びビデオモジュールによって作動し、ビデオモジュールによって表示された画像情報を用いて、走査モジュールの目標追跡をより詳細に行えるようにするプロセッサとを備える装置を含む。
本願発明は、さらに、三次元対象の表面の点に関する位置情報を得る装置であって、対象に関する三次元の位置情報を測定し、また、可視放射線のビームを出力するレーザーを備える走査モジュールと、走査モジュールを制御するプロセッサであって、レーザービームはマニュアルによって配置することができ、それにより、可視ビームが該プロセッサからの制御信号に応答して走査すべき対象の一部を目標とするプロセッサとを備える装置を含む。
対象までの距離を測定するために用いられるレーザーによって生成された光ビームにおける周波数の変化を監視することを要求する装置において測定電子機器を較正する装置であって、レーザーから光を受け取るように配置された一方の端部を持つシングルモードの光ファイバと、ファイバーを通過して移動するとともにそれから出る光を、前記ファイバーを通って移動しない前記レーザーからの光を組合せて受け取るように配置された検出器と、検出器によって測定された周波数の変化の均一性に基づいてビーム上の線形性を決定し、さらに、結果を用いて前記測定電子機器を較正するプロセッサとを備える装置を含む。
ファイバーは既知の長さを持ち、又、ファイバーは一方の端部に部分反射器を持ち、他方の端部には少なくとも部分反射器を持ち、ファイバー内を移動しなかったファイバーの一方の端部から反射された光が検出器によって測定され、プロセッサは、検出器によって測定された周波数変化に基づいてファイバーの理論的長さを計算するように機能し、さらに、その計算された長さをファイバーの既知の長さと比較して測定電子機器を較正する。
【図面の簡単な説明】
図１は、本願発明の一実施例に係る装置のブロック図である。
図１Ａは、目的物を走査し、捕捉点を組織化し、幾何学的形状をその組織化された点に適合させ、その適合された幾何学的形状を操作し、さらに、最終的な操作済みの幾何学的形状を表示するために、本願発明の一実施例をどのように使用するのかを示す全体的な流れを示す。
図２は、図１の装置のより詳細なブロック図である。
図３及び図３Ａは、図１の装置のＦＤＶの地形的配置を示すとともに、そのＦＤＶがフォーク取付台にどのように接続されているかを示す。
図４は、図１の装置のＦＤＶに関する座標の例を示す。
図５は、本願発明に係るＦＤＶの一実施例のブロック図である。
図６は、図５のＦＤＶの光トランシーバのブロック図である。
図６Ａは、図６に示すスキャナの二重ミラーの構成を示す。
図７はレーザーの一実施例を示すブロック図である。
図７Ａは、図６に示すビーム伸長器の一実施例のブロック図である。
図８は、送受切換器の一実施例を示す。
図８Ａは、部分反射の送受切換器を示す。
図９は、図８の送受切換器のウインドウの一実施例を示す。
図１０は、ＦＤＶのＤＳＰによって実行される演算を示すフローチャートである。
図１１Ａ及び図１１Ｂは、それぞれ、一方向走査パターン及び双方向走査パターンを示す。
図１２は、ＦＤＶプロセッサの一実施例のブロック図である。
図１３は、ＦＤＶミラーの所望の一を決定するための回路例のブロック図である。
図１４は、図１２に示すタイミング回路の信号の条件付け及びエネルギー統合回路例のブロック図である。
図１５は、図１の装置の詳細なブロック図である。
図１６は、ＣＧＰを操作するために用いられる２つのウインドウを示す。
図１７は、目標ボックス及び点暗影を示す。
図１８は、馬の彫刻からの点暗影を示す。
図１９は、レーザー反射強度を用いて色割当てされた図１８の点暗影を示す。
図２０は、コーナーの特徴からの点暗影を示す。
図２１は、図２０の点暗影とマニュアル分割のために用いられる多角形の投げ縄とを示す。
図２２は、４つのサブグループ、面の表面上の３つのサブグループ及び面の一部ではないエッジ点のサブグループに分割された図２０の点暗影を示す。
図２３は、三角形状メッシュのように描かれた図２０の点暗影を示す。
図２４は、面が暗影点のグループに適合する、図２０のコーナー特徴を示す。
図２５は、シリンダーの表面からの点暗影を示す。
図２６は、図２５に示された点に適合したシリンダーの原線を示す。
図２７は、配管装置の表面からの点暗影を示す。
図２８は、図２７に示す点に適合したシリンダー原線を示す。
図２９は、パイプを延長し、曲がり部を加えた後の完成した配管モデルを示す。
図３０は、コーナー適合、３面、３線及び頂点を与えた結果を示す。
図３１は、ある場面におけるシリンダー原線を示す。
図３２は、隣り合う目的物と一致するために延長された図３１からのシリンダーを示す。
図３３は、様々な目的物からの表面からの点暗影を示す。
図３４は、図３３に示す点に適合した原線を含むモデルを示す。
図３５は、周波数調整可能なレーザーの構成を示す。
図３６は、従来のＦＭチャープライダー（chirp lidar）のブロック図を示す。
図３７は、自己較正のＦＭチャープライダーのブロック図を示す。
図３８は、大及び小のパルスが既定のしきい値と交差する時点の相対的タイミングを示す。
図３９は、パルスエネルギーを測定するための一つの回路を示す。
図４０は、パルスエネルギーを測定するための他のの回路を示す。
詳細な説明
Ａ  概観
１．装置の全体
図１は、本願発明の最も広い観点からの本願発明を示すブロック図である。図１を参照すると、視野デジタル映像（ＦＤＶ）モジュール１０が、目的物２０を走査し、その目的物２０の表面上の選択された点の三次元空間における位置を検知するための走査センサを備える。ＦＤＶモジュール１０は、選択された点の検知された位置を表す点暗影３０を生成する。点暗影３０は、反射率、表面の色及び質感のような検知された点の他の特徴も表す。
コンピュータグラフィクス認識（ＣＧＰ）モジュール４０は、ＦＤＶと相互に作用し合って、ＦＤＶモジュール１０のセンサのために制御及び目標捕捉機能を提供する。さらに、その点暗影を用いると、ＣＧＰモジュール４０は、点暗影３０内の点の集まりによって表された幾何学的形状を認識し、ＣＧＰモジュールは、それらの幾何学的形状を表すＣＧＰモデル４２を生成する。ＣＧＰモデル４２から、ＣＧＰモジュール４０が、電算機援用設計（ＣＡＤ）ツール５０によって用いることのできる別のモデルを生成する。そのＣＡＤツールは従来のものでよい。
図１Ａは、目的物を走査し、捕捉点を組織化し、幾何学的形状をその組織化された点に適合させ、その適合された幾何学的形状を操作し、さらに、最終的な操作済みの幾何学的形状を表示するために、本願発明の一実施例をどのように使用するのかを示す全体的な流れを示す。
２．ＦＤＶモジュールの全体
図２を参照すると、ＦＤＶ１０が走査レーザー装置（ライダー）２１０を備えており、そのライダーは目的物２０の点を走査し、さらに、各走査点の三次元空間における位置を正確に表すライダーデータ信号を発生する。走査点のまとまりに対するライダーデータ信号は、集合的に点暗影３０を構成する。加えて、望ましくは広角及び狭角の両方のＣＣＤカメラを備えるビデオ装置２２０が提供される。ビデオ装置２２０の広角ＣＣＤカメラは、目的物２０のビデオ画像を捕捉し、ＦＤＶ１０の制御／インタフェースモジュール２３０を経由してＣＧＰ４０に、その捕捉ビデオ画像を表す信号を提供する。
その捕捉ビデオ画像を表す信号に関するユーザーの入力に応答して、ＣＧＰ４０は、制御／インタフェースモジュール２３０を経由して、ライダー２１０に走査制御信号を提供して、目的物２０の表面上のどの点をライダー２１０が走査するのかを制御する。特に、ＣＧＰ４０から提供された走査制御信号は、ライダー２１０のレーザービームの操縦を行うために、正確かつ反復可能なビーム操縦機構を制御する。
さらに、ビデオ装置２２０の狭角ＣＣＤカメラは、質感及び色彩情報を捕捉し、その捕捉した情報をＣＧＰ４０に提供する。
３．ＣＧＰモジュールの概観
さらに、図２を参照すると、ＣＧＰ４０は、データ処理装置（例えば、ノートブックコンピュータ又はグラフィクスワークステーション）と、特定の目的のソフトとから構成されており、そのソフトウエアは、実行されると、ＣＧＰ４０のデータ処理装置を設定して、ＦＤＶ１０の制御及び目標捕捉機能を実行し、さらに、ＣＧＰモデル４２の生成機能も実行する。
i．ＦＤＶ制御
ＣＧＰ４０は、目的物２０のどの点をＦＤＶ１０が走査するのかを制御するＦＤＶ１０にライダー制御信号を提供することによって、そのＦＤＶ１０の走査ライダー２１０を制御する。ユーザー入力がＣＧＰ４０に提供されるが、その入力は、目的物２０のどの点を走査するのかという点とどの程度の解像度で行うのかを定める。
ii．モデル発生
ＦＤＶ１０によって生成される点暗影３０における各データ点は、ＦＤＶ１０の「原点」からの対応するレーザー衝突点までの距離と、その原点からそのレーザー衝突点までの角度との両方を表す。ＣＧＰソフトウエアは、ＣＧＰ４０のコンピュータを構成して、目的物２０の走査の結果としてライダー２１０によって生成された点暗影３０のデータ点を処理し、その目的物２０の走査された部分を表示して視覚化する。特に、ＣＧＰソフトウエアは、そのＣＧＰ４０のコンピュータを形成して、目的物２０の幾何学的形状を認識し（図形認識）、さらに、それらの認識された幾何学的形状を用いて、幾何学的構成、３Ｄモデル構成、３Ｄ視覚化並びに目的物の特徴の自動捕捉または手動入力、図面、断面及び寸法の生成、データ質問及びＣＡＤインタフェースのためのデータベース機能とネットワークオプションとを実行する。
Ｂ  詳細
１．ＦＤＶモジュールの詳細
図５は、本願発明に係るＦＤＶ１０の一実施例のブロック図である。ライダー５０２は、レーザー、伝達光学機器、受信光学機器並びに分布及び強度データを発生する検出器を含む。
走査装置５０４は、レーザービームを操縦し、ミラーのいくつかの位置からのレーザービームの方角及び高度の角度を決定するための、二重直交走査ミラーと、検流計モータと、エンコーダとを備える。広角ビデオ装置５０６は目標ビデオ情報を発生し、狭角ビデオ装置５０７は色彩及び質感情報を発生する。制御／インタフェース回路２３０はＦＤＶ１０とＣＧＰ４０との間のデータの交換を処理する。
レーザービームが準ＣＷで、常に強度変調（ＡＭ）または波長変調（ＦＭ）のいずれかでオンのときには、目標物２０までの距離は、トランシーバ５０２での復調を含む多数の技術の内のいくつかによって推測することができる。レーザーがパルス状の場合には、目標物２０までの距離は、通常、トランシーバ５０２から目的物２０まで及び戻りのフライトの時間によって測定される。他のレーザー変調技術も用いることができる。
そのフライト時間の実施例において、望ましくは、レーザーがMassachusetts Institute of Technology社に譲渡された米国特許第5,132,977、5,386,427及び5,381,431号に開示されている種類のものである。特に、そのようなレーザーによって生成されたビームは、１ナノセコンド（nsec）より小さなパルス幅を生成できるような特別の性能を持つレーザーによって発生される。
現在使用されているレーザーの特定の実施例は、特に正確なライダーに適している。その理由は以下のとおりである。
１．レーダー理論が、精度はパルス時間の逆数に比例するということを示しているので、短いパルス幅は高い精度を与えるから。
２．レーザー自体が、特に携帯できるものに用いることができるように物理的に非常に小型だから。
３．回折制限ビームを持つことは、少し離れたスポットサイズは光りの性質によって制限されないだけでなく、それをコリメートし又は集束するために用いられる光学機器の品質によっても制限されないことを意味するから。
４．波長は非常に短く（５３２ｎｍ）、レイリーレンジは波長に反比例するので、ビームを長い距離の間隔にわたって小さく保持することができるから。実際に、１ｃｍの出口開口の場合には、ビームは、５０ｍにわたって６ｍｍより小さく維持することができる。
一つの実施例においては、レーザービームは、直交走査ミラーによって、目的物２０の表面上のレーザー衝突点に指向される。その範囲は、多数の従来のライダー技術のいずれかによって決定することができる。例えば、レーザーから目的物２０の表面まで、及びそれから検出器まで戻るレーザーパルスの「フライト時間」が決定される。その範囲は、適当な調整が雰囲気の要因のために行われて、光の一定速度に基づいて決定される。
本願発明に係る装置は、高い捕捉速度での高い範囲にわたる精度を提供することができる。例えば、１００ｍの範囲の場合、１ｍｍの精度を単一のショットベースで達成することができ、どこでも１０００から５０００のデータ点が１秒ごとに捕捉される。
他の実施例では、チャープライダーを用いることができる。チャープライダーの必須な構成要素は、時間ごとの波長の線形変化によって調整することができる。従って、レーザーから出力された光の波長は、λ(t)＝k（ｔ−ｔ0）＋λ0から得られる。実際には、そのようなレーザーは、一般的に、２つの材料である、ＮｄＹＡＧ（３５１０）のような一般的なレーザーゲインメディアと、リチウム ニオブ酸塩（３５２０）（図３５参照）のような電気的に変更された屈折率を持つような物質との合成物を作ることによって製造される。これは、効果的にレーザーキャビティーの長さを変え、その結果、出力された波長を変える。市販されているレーザーは、約１ｋＶの電圧変調により約１００ＧＨｚまで調整することができ、それにより、光の周波数が約ｆ(t)＝ｋ（ｔ−ｔ0）＋ｆ0となる。
図３６を参照すると、一般的なFMチャープ装置において、レーザー３６１０から出力された光の一部はサンプル化され、ビームスプリッタ３６３０において目標物３６２０から戻る光と組合される。その光はその目標物と接触して戻るまでの時間だけ遅延するので、その目標物から戻る光は、レーザーからサンプル化された光より低い周波数を持つことになる。その差は、その組合せられたビームの強度を測定する検出器３６１０の出力において明らかになる。光の周波数ランプが正確に線形で、レーザーが目標物までの距離より長い干渉長さを持つ場合には、ビームを組合せることにより、距離に比例する検出器から一定測定周波数が生成される：ｆ＝ｋ1＊ｄ＋ｄ0。上述のチャープＹａｇレーザーは、約２０ｋｍの干渉長さを持つが、そのチャープは線形のもではなく、それは現在のＦＭチャープライダーの精度をかなり制限している。
図３７を参照すると、距離ごとの測定値を較正するための装置を追加することによって、かなりの精度の改善を実現することができる。一端に部分的反射器３７７１を持ち、他端に全反射器３７７２を持つファイバーが作られる。ここでは、レーザー３７１０から出力された光の一部は、サンプルされ、ビームスプリッタ３７４０において、目標物３７２０から戻る光と再び組み合わされ、その強度が検出器３７６０によって測定される。レーザーから出力されたビームの他のサンプルは、ビームスプリッタ３７３０によってサンプルされて、部分的な反射端部３７７１でファイバーに導かれる。ビームは、そのファイバーの下方に一定距離伝播し、端部表面で反射して、部分的反射面３７７１で反射されたビームと再び組合され、そして、第２の検出器３７５０で測定される。チャープの線形性が、次に、検出器３７５０の出力の一定周波数からの偏差を決定することによって測定され、その情報は、検出器３７６０の出力内の非線形チャープの影響を修正するために用いられ、それは目標物の距離測定値に相当する。
図３及び図３Ａを参照すると、その実施例においては、ＦＤＶ１０が金属または他の適当なハウジング材料から作られたボックス３３０に物理的に収容されている。そのボックス３３０は、フォーク取付台構造３１０によってその側面のパネルから吊り下げられている。そのフォーク取付台構造はターンテーブル３４０上に保持されており、そのターンテーブル３４０は三脚台３２０に取付けることができる。フォーク構造３１０を用いると、ＦＤＶ１０が水平方向（「方位角回転」）及び垂直方向（「仰角」または「高度」）に回転することができる。一般に、三脚台３２０の位置は、「設置（セッティング）」または「配置（ポジショニング）」というように呼ばれており、フォーク取付台３１０におけるＦＤＶ１０の回転及びチルト（傾き）は、「指示（ポインティング）」または「方向づけ（オリエンテーション）」というように呼ばれている。「視野」は、概略、所定のセッティング及びオリエンテーションと関連する。
フォーク取付台３１０は、望ましくは、高精度の方位角及び高度回転測定装置（例えば、従来のセオドライトのような光学または電子エンコーダ）を備え、それにより、ＦＤＶ１０の正確な回転及び傾きのデータを提供する。その特徴により、同一の三脚３２０の設置であるが、そのＦＤＶ１０の異なる方向から得られる走査の自動的な統合を行うことができる。結局は、それらの装置は異なるセッティング及び方向からえられた走査のためには用いられず、それらの走査は、後に説明する技術を用いて統合することができる。
ここでは、従来の測量機器は適切に作動するために操作を行う前に水平に置かなければならないが、これは、ＦＤＶ１０の要求ではない点に注目すべきである。それは具体化した本願発明の新規な方法によるものであり、それは、それ自体の座標系及びそのソフトウエアで用いられる手順が位置データを捕捉する方法を利用するからである。しかし、その装置は、水平となるとともに、従来の測量セオドライトと同様な方法で用いることのできる性能を持っている。本願発明の実施例に係るＦＤＶ１０のデカルト座標を図４に示す。
さらに、図３及び図３Ａを参照すると、一実施例では、ＦＤＶ１０の２つの直交ミラーが約４０°×４０°の視界を与える（「視界」または「視野」は、ビームのレーザー最大偏向角によって投射される領域の最大寸法によって画定される）。その視界は、ミラー及び光学機器の列の所定の部品の寸法を偏向することによって拡大または縮小することができる。上記のフォーク取付台を用いると、ＦＤＶの４０°×４０°の視界を投射球面のどこにでも指向することができ、その結果、同一の設置から大きな目的物または一群の目的物を画像化する際に広範な柔軟性を提供することができる。同一の目的を達成するために他の取付方法を用いることができる。
高い精度及び反復性の電子エンコーダが、直交ミラーの回転角を読み、そのミラーの回転角の読み出しは、距離読み出しと同時の正確なタイミングで行われる。望ましくは、装置はクラスIIＦＤＡの目の安全度（eye safe）である。第１の実施例は、±５０ｍの範囲にわたる±６ｍｍの空間精度を持つ。他の実施例においては、自動焦点性能及び５−６ピコセコンドの電子機器が含まれており、その実施例は、装置の距離精度を±１ｍｍ及び±５０ｍにわたる±１ｍｍの空間精度まで拡大する。装置のそのレンジ（及び精度）は、選択された目の安全性分類の選択によってかなり影響を受けることがあるが、それらの制限は発明自体の本来の制限ではない。
以下に、ＦＤＶ１０の望ましい実施例の主要な構成要素を説明する。ＦＤＶ１０の光学トランシーバ５０２のブロック図を図６に示す。光学受信器５０２は、光パルスを目的物２０上のスポットに伝達し、その目的物２０から反射した光パルスを受取る。光が一定速度であると仮定すると、その光トランシーバは目標物上のスポットまでの距離を測定する。
図６を参照すると、レーザー６０２は、レーザー制御装置６０４から提供される外部のコマンドに応答して、２５０ピコセコンドより短い時間まで持続する光パルスを出力する。そのレーザー６０２は、実時間イベントの中央制御を提供するデジタル信号処理装置から外部の信号が出力された後の１００−３００μsec以内に、望ましくは５３２ｍｍの波長で、パルスを生成する。その実時間遅延は、最近のレーザーの歴史及び環境状況の中で複雑化された機能である。その機能は、現在は完全には知られていない。しかし、他で説明するソフトウエアのアルゴリズムが用いられて、その時間遅延が、要求された測定値に対し十分な精度で予測される。
レーザー６０２から出力されたレーザービームはビーム拡大器（ビームエキスパンダー）６０６を通って伝達され、そのビーム拡大器６０２は、目的物２０上の点に最終的に衝突する光スポットの寸法を調整するように焦点が合わせられる。集束された光パルスは、次に、送受切換器６０８を通じて伝達される。その送受切換器６０８は、出力光経路を入力光経路と整合する光学系である。その送受切換器６０８は、出力光パルスの光エネルギーの第１のかなりの部分をスキャナ６１４を経由して目的物２０上のスポットに指向するが、出力光パルスの光エネルギーの第２のかなり少ない部分は、受信器テレスコープ６１０に指向される。目的物２０に伝搬する出力光パルスのその部分は目的物２０上のスポットに衝突し、光パルスのいくらかのエネルギーは、送受切換器６０８に戻る方向に、目的物２０から反射される。その戻り光パルスは、送受切換器６０８によって受信機テレスコープ６１０に指向され、それは、その受信されたエネルギーを検出器６１２に集束する。その検出器６１２は、その受信光パルスを電気エネルギーに変換し、検出器６１２の出力は電気パルス列隣、第１のもの（それは目的物２０に向かって指向されない送信パルスの第２の小さな部分に応答して検出器６１２によって生成されるものである）は、短い一定の時間（つまり、ビーム拡大器６０６、送受切換器６０８及び受信機テレスコープ６１０を経由する光経路の長さによって一定にされる）に発生し、その第２のものは目的物２０からの光エネルギー戻りとして発生する。目的物２０に指向されない送信パルスの第２の小さな部分と、目的物２０上のスポットから反射された戻り光パルスとの双方とも、目的物２０上のスポットまでのフライト時間を計算するタイミング回路６１６に供給される。目的物２０上のスポットまでの範囲は、次に、フライトの算出された時間から容易に計算することができる。
図７は、レーザー６０２の一実施例を示すブロック図である。レーザー装置７０２の心臓部は従来のレーザーチップ７０２であり、それは、表面が反射防止の誘電体被覆によって被覆された２つの接着されたクリスタルを含む。レーザーチップ６０２は、８０８．５ｎｍ±３ｎｍで動作するソリッドステートダイオード７０４によってポンプアップされている。そのダイオードポンプ７０４の出力周波数は、熱電気クーラー７０６を用いてその温度を変えることによって調整される。ダイオードポンプ７０４の温度はサーミスタ７０８によって測定され、その測定された温度はダイオード出力供給７１０にフィードバックされる。必要な温度は各個々のダイオードに応じて変わるが、それは一般的には２０℃から３０℃までの範囲にある。
ダイオードポンプ７０４の出力パワーは概略１ワットで、１００μｍコアのグラスファイバーに出力される。連続的にポンプアップされると、クリスタルレーザー６０２の出力は、１．０６４μｍで平均が約３５ｍＷとなり、それは、１５ｋＨｚの反復速度で約２８０psec続く２０４μＪパルスに相当する。マルチモードファイバーは、望ましくは、ＳＭＡ９０５ソリッドブラスコネクターによって終端しており、そこでは、レーザーチップ７０２のクリスタルが光樹脂でそのコネクターの一方の端部に接着されている。これにより、レーザーチップ７０２のクリスタルから十分な熱が発散されて、最高効率の作動に必要な温度範囲内にそのクリスタル７０２が維持されることが保証される。
１個のＫＴＰ周波数倍増クリスタル７１２が、レーザーチップクリスタル７０２の表面の数ミリメートル内に保持されている。これにより、５３２ｎｍで平均パワーが１２ｍＷのレーザー６０２から最大の出力を得る。それは、約２１８pses持続する０．８μＪのパルスに相当する。レーザー６０２からのこの最大出力は、回折限界に近く（つまり、特定の波長及びウエスト直径を持つ場合に、理論上最少発散を持つもの）、その際には、見かけの５６μｍのウエスト直径を持つ。
ＦＤＡクラスIIの目に安全な装置設計明細に合致する本願発明の実施例は、商業的に実行できる可能性がある。その明細に合致するためには、５３２ｎｍで伝達することができるパルスごとの最大エネルギーは、０．２μＪである。この制限を伴うと、伝達された平均パワーは、パルス繰り返し速度に十分に依存し、以下の表から与えられる。
0004400894.tif 000002
本願発明の一実施例では、ビーム拡大器６０６は完全に従来のものである（例えば、Melles Griotモデル 番号０９LBM０１３、１０ｘビーム拡大器）。受光器５０２は、予定の目標物に衝突するレーザービームの寸法に比例する交差軸精度を持つ。６ｍｍ精度の基本設計は単純なビーム拡大器を持つ。レーザー６０２は、５０ｍの範囲にわたって６ｍｍより狭い１／ｅ2*出力ビーム幅のビームを生成するために＜１ｃｍの開口を持つ固定１０ｘビーム拡大器とコリメートされる。
図７Aは、本願発明の装置が５０ｍで約１ｍｍの精度で範囲を測定することができるという特徴を持つビーム拡大器６０６の別の実施例７５０を示す。その理由は、従来のビーム拡大器によって拡大されたレーザービームの対象２０上の衝突スポットが、コリメートされ、５０ｍ範囲にわたってわずか６ｍｍのスポットを生成するからである。しかし、ビームは、５０ｍｍアパチャー（開口）を通過して、５０ｍ範囲にわたってわずか１ｍｍの寸法のスポットに集束することができるが、そのスポットは、他の範囲ではかなり大きくなるであろう。従って、５０ｍで１ｍｍ精度を持つ装置のビーム拡大器７５０は、集束スポットの寸法を変えることができる、移動可能な光学素子７５２を備える。さらに、そのビーム拡大器７５０は、調整可能な開口７５５とその調整を制御する装置とを備えていて、ビームの直径が１ｍｍにとどまることのできるようなレーザーからの距離は、ほぼ一定に保持される。焦点距離ｆ及び直径Dの回折制限レンズによって生成された最少の直径のスポットは、ｄ0＝２ｆλ／Dである。ビームの焦点深さとなる、集束されたスポットのレイリーレンジは、ｂ＝２πω02／λ＝２πｆ2λ／D2から得られる。従って、ｆ／Dが一定に保持されると、その焦点深さは集束スポットｆの範囲の関数とはならない。
ビーム焦点が変化するときは、構成素子は、ビームが５０ｍで１ｍｍの端数より大きくは方向を変えないように整列状態を維持しなければならないか、または、それは、、点の空間配置におけるエラーとして現れるであろう。このビームのふらつきを最少にするために、線形サーボモータ７５４（図７A）が採用され、それにより、集束機構の位置を制御し、トランスジューサーが位置のフィードバックを提供する。レンズ７５２が環状リング７５３内に取り付けられており、それにより、そのレンズが移動させられる間に、回転したり不整合となったりすることが防止できる。
送受切換器
送受切換器６０８の実施例を図８に示す。その送受切換器６０８の光学系は、ビーム拡大器６０６からスキャナ５０４までの出力ビームが、対象２０から反射された戻りビームと同軸となるように構成される。従って、１つだけの必要なスキャナ５０４が設けられる。図８の送受切換器の実施例においては、ウインドウ８０２が設けられていて、５０％のビームスプリッタ８０４がそのウインドウ８０２の上に取付けられている。光パルスがレーザー６０２から伝達されて、ビーム拡大器６０６を通過すると、そのパルスはビームスプリッタ８０４に衝突する。そのパルスのほとんどの光エネルギーは、そのビームスプリッタ８０４から反射されてスキャナ５０４まで通過するが、幾分かの光りパルスはビームスプリッタ８０４を通過して低反射率のビームブロック８０６に衝突する。ビームブロック８０６の反射率は小さいので、ビームブロック８０６に当たる光パルスの少しの部分はビームスプリッタ８０４に戻り、そして、受光器６１０に向けて反射される。
さらに、光パルスは対象２０から戻るときには、その戻りパルスの中央部分のみはプリズム８０４によって暗くなるので、ウインドウ８０２に衝突する光の大部分は受光器６１０への経路を進む。
部分反射の送受切換器
図８Aを参照すると、１ｍｍ精度の実施例のために、部分反射の送受切換器８５０が用いられている。その送受切換器を用いると、ビーム拡大器からビームストップ６１０に提供された光パルスの一部は、その送受切換器ウインドウ８５０から反射して受光器テレスコープ６１０に達する。その光パルスの残りの部分は、対象２０に進む。対象２０からの戻り光パルスの大部分は、ウインドウ８５０を通過して持続し、そして、受光器テレスコープ６１０によって収集される。ウインドウ８５０は受光器側にＡＲ被覆され、部分的にレーザー側に反映されている。出力ビームを操作するためにウインドウ８５０の全体を用いるが、それは、スポットとを５０ｍで１ｍｍまで集束するためには５０ｍｍの開口が必要だからである。その部分的な反射は、レーザー伝達出力及び適用される目の安全性の分類レベルを考慮して選択される。例えば、レーザー伝達出力がその適用される目の安全性の分類レベルの４倍の場合には、部分的反射は２５％を反射して７５％を吸収するように選択される。
図９を参照すると、６ｍｍの実施例においては、出力パルスを反射するようにウインドウ８０２の中央部のみを被覆し、さらに、そのウインドウ８０２の残りの部分を反射防止被覆９０６すると、戻り光パルスを収集する際の効率を改良することができる。その場合には、戻り光パルスは、反射防止被覆９０６されているウインドウ８０２の部分によって受光器から反射されない。
望ましくは、レーザー６０２が強く偏光されたビームを出力すると、反射被覆９０４は２つの平面偏光に対しわずかに異なる反射係数を持つように最適化することができる（２０％−Ｓ及び３０％−Ｐ）。そのような実施例においては、対象２０に衝突したビームの出力は、レーザー本体を物理的に回転するだけで微調整することができる。
受光器テレスコープ
図６を参照すると、戻りパルスが送受切換器６０８を通過した後に、それは受光器テレスコープ６１０によって収集されるが、それは、検出器６１２に提供される信号の量を最適化するものである。その受光器テレスコープ６１０は、単純な５０ｍｍ開口レンズであってもよい。そのレンズは、検出器６１２に入るパルスエネルギーの変分が、その機器の設計に関する距離の範囲にわたる対象２０までの距離の関数としては変化しないように選択される。複合素子レンズを設計して、単一の素子レンズより幾分か効率的な範囲の関数として受光パルスエネルギーの変化を最少化することができる。つまり、最大の予測距離においては、すべての入力光は遠方のフィールド内の点源から発生したのでそれは効果的にコリメートされており、そのすべての入力光が検出器６１２を完全に満たすように集束されるように、そのレンズの焦点距離は選択されている。対象２０がテレスコープ６１０に接近するときには、戻り光のスポットは検出器６１２よりも大きくなる。検出器６１２への入射パワーは、テレスコープ６１０から対象２０までの距離の二乗として、最大予測距離まで増加する。さらに、対象２０からの戻りパワーは、テレスコープ６１０から対象２０までの距離の二乗として減少する。従って、実際には、それらの２つの効果ほぼは相殺される。それは、予想された使用の範囲にわたって検出器６１２への入射光のパワーの変分を最少にする。１ｍｍのオプションにおいては、受光器光学系は、２素子の調整可能な焦点のニュートンテレスコープ（例えば、１ｍｍのビーム拡大器と同様なもの）を用いることによって、いくつかの場合に、改良することができる。
検出器
検出器６１２は、光パルスを、経過時間測定電子機器（タイミング回路）によって処理できる電気パルスに変換する。一つの実施例においては、その検出器６１２は、１GHzより大きな電気的帯域を持つアバランシェフォトダイオード（ＡＰＤ）である。開始パルスといずれかのストップパルスとの間の時間に加えて、すべてのパルスの強度が記録される。その強度情報はタイミング情報から得られた距離測定値の訂正を行うために用いられる。
スキャナ
スキャナ５０４は従来のものでよい。スキャナ５０４は出力パルスを送受切換器６０８から対象２０上の所望の位置に指向し、さらに、入力戻りパルスを受光器テレスコープ６１０に指向する。スキャナ５０４は光を狭いフィールドのｃｃｄカメラ５０７に指向して、走査レーザー点の直ぐ近くの色彩及び質感を収集し、それは、得られた色彩及び質感の正確な登録のためにライダー捕捉の点の形態を提供する。一つの実施例においては、ビーム操作のためにスキャナ５０４は二重ミラー構成（図６Ａ）を備えるが、従来の高精度及び反復ビーム操作機構を用いることもできる。その二重ミラー構成は、コイルモータを移動することによって直交軸上で回転される２つのミラーを含む。それらのモータは積分位置検出器を持ち、それは１マイクロラジアンより小さな角度反復性を持つ。スキャナの取付台はレーザー及び他の光学機器のサポートとともに総体的に形成される。その装置は、それぞれのヘルツで高度（仰角）及び方角の両方において４０度の光学的動きを提供する。
電子機器
Ａ．タイミング回路
スキャナ５０４機構の他の実施例は、回転タレット上に取付けられていて、中央軸の周りを回転する単一のミラーからなる。その構成では、物理的座標系は球状であり、より速い（慣性がないため）ミラーは仰角を提供し、より遅い回転タレットは方角的動きを提供する。そのような装置は垂直面内では９０度より大きくて水平面内では３６０度の全範囲にわたる視野を与えることができる（両方の面ともにいくつかの選択したスキャナの座標系に関連する）。
電子機器
計測電子機器
その計測電子機器の機能は、検出器６１２の出力に基づいてＦＤＶ１０から対象２０までの距離等の範囲を演算する。準ＣＷ変調レーザー装置の場合における変調器を含む多数の方法を用いることができる。望ましいフライト時間の実施例のためには、間隔タイマー（タイミング回路）が、送受切換器６０８によって受光器６１０に直接に反射された最初の（開始）パルスと、対象２０から反射してその受光器６１０に戻るパルスとの間の相対時間間隔を測定する。
反射率電子機器
多くの場合において、対象２０上の点の空間的位置を知るだけでなく、その点の反射率（いくつかの特定の波長でのもの）を知ることも有用である。その反射率電子機器は、対象２０から受光器６１０及び検出器６１２に反射された光の量を測定する。このデータを用いて、距離情報のみならず対象２０の表面の材料及び／または仕上げに関する情報の修正を提供することができる。
デジタル信号プロセッサ
デジタル信号プロセッサの集積回路は、すべてのＦＤＶの時間臨界機能、つまり、スキャナ制御、レーザー起動を制御する。それは、幾何学的修正、較正修正、ビデオレンズ修正及びビデオ圧縮を行うための高速フローティング点評価性能も提供する。デジタル信号プロセッサは、通常の時間間隔、一般的には、約１０μsecで割り込まれる。その各時間間隔で、どの実時間計算が未解決であるのかわかるようにチェックが行われる。
スキャナ制御
スキャナ用の電子機器は単一の正確なＰＩＤ制御装置であり、それはＤＳＰからのデジタル信号によって駆動される。その装置を迅速に駆動するときには、スキャナの性能に目立った遅れがあって駆動信号に追従する。しかし、その制御装置の回路はエラー信号出力を持たない。外部の正確なアナログ差動増幅器が、エラー信号（コマンド信号と実際の動きとの間の差である）を提供し、それは、低解像度でＤＳＰによってサンプルされる。そのＤＳＰは、次に、コマンド信号とエラー信号との合計を計算することによって正確な操作位置を算出する。この方法の利点は、かなり高価な正確なＡ／Ｄではなくて、低解像度のＡ／Ｄ変換器と正確なＤ／Ａ変換器とを必要とするだけである点にある。
そのデジタル信号プロセッサは、そのアナログスキャナ制御装置に対し軌道を発生し、さらに、所望の軌道と実際の位置との間の差の測定を行う。それは、レーザーポンピングが開始されてそのレーザーが所望の角度で出力を行う時間を予測する。それらの予測は、規則的な時間間隔で行われる。図１０は、各時間間隔で実行される計算を示すフローチャートである。
軌道計算
ユーザーはスキャナの視界内にあり走査すべき範囲を確定し、その走査された領域内でサンプルを行うための点の密度を指定する。用いることのできるいくつかの走査パターンがある。それらは、軌道と知られているような、ミラーの動きの特定のパターンを必要とする。完全な軌道を選び出す目標は、迅速かつ正確な移動を行うのと相反する必要性である。正確な移動は最少のトルクを必要とするが、そうでなければ装置を変形することになるであろう。それは、どの動きが可能なのかにより速度を制限する。同一の時間増分で、各ミラーの最新の位置を決定するために計算が実行される。用いられる特定の計算は採用された走査の種類に従う。
ラスタースキャン
所望の走査フィールドが多角形の場合には、１又は２以上のラスタスキャンパターン用いられる。第１には、走査は一方向（つまり、平行ライン上を、常に、左から右へ又は右から左へと進む）である。図１１Ａは、そのような一方向走査パターンを示す。走査ラインの間には、走査ミラーは、いずれの距離測定を行うことなく、次のラインの最初まで引き返す。その引き返しの間にはどのような計測も行われないので、その引き返しは非常に迅速に進行することができる。
ラスタースキャンのわずかに効果的な手段は双方向であり、その場合には、走査は引き返しの間も実行される。図１１Ｂは、そのような双方向走査パターンを示す。それは考えたほど効率的ではない。それは、その引き返し時間は他の計算のために用いられており、さらに、その最終的な走査パターンは規則的ではないからである。
両方のラスタースキャン方法は、最少の時間で直線を移動することと、ゼロの速度からスタートすることと、ゼロの速度で終わることとを必要とする。そのミラーに加えられるトルクは、角加速度に比例し、それは、ミレーは停止するので、走査の開始及び終わりの時にゼロでなければならない。２つの点の間のそのような最少のエネルギー移動を行う軌道は、直線とサインの全サイクルとの合計によって得られる。しかし、それは最少の次数の多項式によるかなり少ないコンピュータ算出により厳密に近似され、境界条件は、p(t0)＝p0、p’(t0)＝0、p”(t0)＝0、p(t1)＝p1、p’(t1)＝0及びp”(t1)＝0であり、それは、５次の多項式である。つまり、p(t)＝(p1−P0)t’3（6t’2−15t’＋10）＋p0。ただし、t’＝（t−t0）/（t1−t0）である。
らせん走査
ラスタースキャンの欠点は、軌道の速度は変わるので、その走査効率は最適ではない点にある。らせんパターン走査は、均一な点分配が可能な一定速度の軌道を達成することができる。
探索
レンジイメージの走査に加えて、装置は測量の際に共通する多数の機能を実行することができる。スキャナは重要な特徴または高い反射率の位置を調査するように作ることができる。それにより、その装置は、目標を発見してその位置をほぼ特定し、さらに、その正確な角度及び位置を報告することによって、通常の測量機能を実行することができる。
角度測定
移動コイルモータ内の容量性エンコーダはかなりのくり返し性能を持つが、相対的に精度が低い。多数の測定作業は、装置の精度を保証するために連続して実行される必要がある。
使用前は、各スキャナは、その全部の角度範囲にわたって較正される。多数の別々の温度において、NBS規格をたどることのできる外部の解決装置を用いて、数千の正確な測定点に関して明白な角度の測定値のマップが作られて記憶される。そのＤＰＳは、各角度の測定値上のそれらの側定点の間を直線状に補間する。
望ましくは、角度測定値の精度は、作動中のエンコーダ内のスケールまたはオフセット誤差を決定することによって改良される。市販されているスキャナは、環境の変化とともにかなりドリフトすることがある。その結果、角度測定値の有効ゼロ及び全スケールレンジにシフトが生じるが、スキャナを装置に導入する前に慎重な実験室での測定を行うことによって得られる較正曲線の全体の形状を保持する。その環境の影響は、スキャナが既知の再現可能な角度にある時点を決定する手段を提供することによって取り除かれる。そのような装置の一つの望ましい実施例においては、器具に関して固定されている２つの光学的基準が、各走査ミラーの背面に向けられる。光学的基準を提供する構成は様々なものがあるが、一つの実施例では、一対の自動コリメータが、その走査ミラーの背面の反射表面に向けられ、そのミラーが各自動コリメータの軸と直交するときの高い反復性の測定値を提供する。各自動コリメータは、約１０μrad内の基準角度を与える。定期的に、スキャナは、コンピュータ制御下で、ミラーに近くてその自動コリメータの軸と直交することになる位置まで移動されて、明らかな角度が測定される。その測定値はスキャナが較正されたときに得られた測定値と比較され、線形修正が計算されてそれぞれの次の測定値に供給される。
別の実施例では、一対の機械的停止部が走査ミラーの動きの通常の範囲を過ぎたところに提供される。定期的に、そのミラーはそれが機械的停止部に触れるまで駆動される。次に、その走査ミラーは既知の電流で駆動され、それは既知の力に相当するものである。そのミラーはそれぞれの反復可能な位置で安定な状態に達し、それは、ミラー較正曲線の線形修正を計算するために用いられる。
距離測定ファイバー
タイミング回路は、時間及び温度に関して所定の量のオフセット及びスケールドリフトを持っており、それらの変化量を補うために準備が含まれている。光パルスがレーザー６０２から出力されると、少しの量のエネルギーが、ビームスプリッタ８１０によってサンプルされて、レンズ８３３を用いてビームをファイバー表面８３１上に集束することによって、シングルモードの光ファイバー８３０に導かれる。そのファイバー８３２の他表面は、それから出るビームがライダー受光器６１０に入るビームとコリメートされるように配置される。そのファイバーは、その長さが温度とともに変化しないように、又は温度にともなうその長さの変化量が正確に特性となることができるように作られている。単一モードのファイバーを用いると、伝搬遅延の変化分は、数ピコセコンドより小さくなり、さらに、ファイバーから出力されたパルス形状は、ファイバーに入るパルスの形状とほぼ同一となる。定期的に、タイミング回路は、そのファイバーを通過する際の伝搬遅延を測定するために用いられ、外部表面から得られる距離測定値に対し対応する調整が行われる。
そのファイバーは、パルスが発生されて８３３、そのパルスが出力される８３４端部が部分的に反射を行うように作ることができる。それが行われると、パルスが入って８３３反対の端部８３４まで伝搬され、その点において、一部のエネルギーが放出されて残りが第１の端部８３３まで戻る。また、光の一部は出力され、残りは反射され、それは、最終的には受光器内に出力される。このプロセスは、ファイバー内の残りのエネルギーが無視できる程度のレベルになるまで繰り返される。その結果、一連のパルス、通常３−１０が受光器に供給され、それらのすべては数ピコセコンド内で繰り返すような遅延を持つ。定期的に、タイミング回路は、ファイバーからのそれらのパルス列を測定するように用いられ、外側の表面から得られる距離測定値に対して対応する調整が行われる。
レンジウォーク較正
ライダー装置は、レーザーパルスが出力されてから、表面から戻るまでの間の遅延を計時することによってその表面の距離を測定する。その遅延は、出力パルスと、受光器６１０に取り付けられた感光性の電子検出器６１２上への戻りパルスとのサンプルを強制的に行うことによって電子的に測定される。一つの実施例においては、その電子タイミング回路は、その出力パルスが一組のしきい値電圧を超えたときと、戻りパルスが同一の電圧を超えたときとの間の時間を計測する。その出力パルスは、数パーセント内の同一の強度となる。しかし、多くの表面の反射される光の量は非常に変化する。その結果、同一の距離で発生するが異なる強度を持つ２つのパルスに関する明白な相対時間は、異なる距離になることがある。最初にしきい値レベルと越える小さなパルス３８１０に関する測定時間は、同じしきい値レベルを越える大きなパルス３８３０に関する測定時間より遅くなるが、それは、それらのパルスがたとえ同一の距離で対象から戻るときでもそのようになる。したがって、最大受光器感度の距離にある高反射性の対象は、わずかに接近して現れることになる。これは、強度の関数のような明らかな「レンジウォーク」を作り出す。そのレンジウォークは、光の戻りの形状が常に同一で、その戻りのエネルギーが既知である場合には、修正することができる。可能性のあるＱスイッチ切換のマイクロチップレーザーによって発生されたパルスの非常に再現性のある形状は、それを可能にする。
タイミング回路の一部は各検出されたパルス内のエネルギーを予測する。修正の表が、その距離の予測を改善するために保持されている。２つの異なる回路が用いられていて、この目的のためにパルスエネルギーの測定を行う。第１のものはゲート制御された積分回路（インテグレータ）であり、そのゲートは、パルスの開始時には開かれ、終わりの時には閉じられる。その信号は比較器３９２０に供給され、それは、信号が選択されたレベルを越えた時にスイッチ３９３０を閉じ、その信号がそのレベルより低くなった時にはそのスイッチを閉じる。その信号は、また、遅延回路３９１０にも供給され、その遅延回路の出力は、スイッチ３９３０が閉じられたときにはそれを通じて進行し、そして、そのスイッチが閉じられた時間にわたって積分回路３９４０に供給される。その遅延は、比較器及びスイッチ内のタイムラグを補償するように選択される。パルスが完了したときには、積分回路の値がアナログ・デジタル変換器３９５０によってサンプルされる。第２のものは、パルスの幅まで定められた時定数を持つ積分回路４０１０からなり、その後には、ピーク検出器４０２０がり、それは、そのパルス幅よりかなり長い時定数を持つ。ピーク検出器の出力はそのパルスが検出された後にすぐにサンプルされる。
定期的に、タイミング回路が用いられて、タイミング回路に関連するオフセット及びスケール係数を較正するために用いられる単一モードのファイバー８３０によって遅延されている一連のパルスが測定される。さらに、それらのパルスの強度は、可変減衰器８２０によって広いレンジにわたって変えられる。ファイバーに結合された光の量を変えることによって、検出されたパルスのエネルギーは、１つの特定の時間遅延で、受光器のダイナミックレンジにわたって変えることができる。その強度及び測定された時間遅延の値は、各強度ごとに必要なレンジウォーク修正のマップを作り、その修正は次の測定値に供給される。その修正は、特に、レーザーパルの波形の際立った反復性の結果として、器具のダイナミックレンジにわたって１ｍｍの精度を提供することができる。その関数は、それらの表面から戻る光強度の関数として外部表面の測定済み距離を修正するために用いられる。
幾何学的較正
距離走査の後のＦＤＶの出力は、そのスキャナ内の座標系に関連する窮状の座標内の点から構成される。しかし、その生データは、ミラー角度及び時間間隔からなる。ＤＳＰは、スキャナの幾何図形（ミラー厚さ、光軸線、ミラーオフセット等）及びすべての適切な較正調整値を考慮することによって、走査点の球状座標を演算する。
レーザー制御
遅延予測
デジタル信号プロセッサは、パルスレーザーの作動を制御するために応答可能であるが、それは二次的にそのように機能することができるだけである。そのプロセッサは、ポンプダイオードを始動するためのタイミングの制御を持っており、それにより、受動ｑスイッチが飽和が生じた後に始動することができるようになる。しかし、ポンピングが開始されることとレーザーが始動することとの間にはさまざまな遅延が存在する。その遅延は結合温度の関数であり、それは次に周囲温度及びレーザー始動の最新の経緯の複雑な関数となる。その遅延は概略１００−３００の間の範囲にある。
幸運にも、第１に、レーザーが始動した正確な瞬間における走査ミラーの角度を知る必要がある。ほんの数回レーザーが出力した後は、その出力割合が瞬時に変わらなければ、ポンピング遅延は瞬時には変わらない。その結果、数マイクロセコンドの精度は、前の出力サイクルにおけるポンピング遅延と同一となるであろう次のポンピング遅延を予測することによって達成することができる。デジタル信号プロセッサは、ポンプが開始された時と、レーザーが実際に出力を出し、それによって中断が生じた時とに、内部カウンタを読むことによってポンピング遅延を計測する。中断待ち時間はマイクロセコンドより小さいので、それはポンプ遅延を測定することができる程度のタイミング精度となる。
レーザーの熱特性のより精巧なダイナミックモデルは、わずかに向上された走査パターンの正規なものとなるが、プロセッサの中断の時間解像度によっておそらく同等に制限されることになる。
出力制御
時間対走査軸線ｗ(t)に関する角度軌道、レーザーを出力するための所望の角度及び中断間隔Dtを仮定すると、レーザーの出力の決定は、ポンプダイオードが開始される時を演算することに等しい。
コンピュータ制御
ＦＤＶは、ユーザーが走査すべき領域を特定するためのグラフィカル制御を含む遠隔ホストコンピュータの制御の下で実行するように設計されている。その遠隔装置は、双方向のシリアルバイト流れによってＦＤＶを制御するものであり、それは、多数のメディアのいずれにおいても達成されている。つまり、イーサネット、ＥＰＰパラレルポート、シリアルポートである。ＦＤＶ内のプロセッサは、メッセージの復号及び必要な動作のスケジュール管理のタスクに割り当てられている。図１２は、ＦＤＶプロセッサのブロック図である。
ホスト通信インタフェース
ホスト装置はマスターとして作動し、ＦＤＶに命令を出すために完全に定義されたメッセージプロトコルを送信する。動作が完了した時には、ＦＤＶはデータ及びステータス情報によって応答する。要求されることがある動作の間には、
スキャナの指向
距離の測定
ボックスの距離走査
レーザーのｎ回の起動
ビデオ画像の入手がある。
スキャナ制御
図１３を参照すると、通常の動作においては、二重ミラー装置における各スキャナは、所望の位置を設定するために１６乃至１８ビットデジタル語を必要とし、それは正確なデジタル・アナログ変換器に供給されて、所望の位置に比例する電圧を生成する。しかし、その変換器の出力によって命令された位置と、スキャナの実際の位置との間にはいくらかの誤差が存在しており、それは位置エンコーダの出力によって反映される。正確な差の信号が発生され、その差は１２ビット精度まで測定される。これは、高価でない１２ビット変換器を用いるだけの、１８ビットの位置測定を行う経済的な方法を提供する。
市販されているガルバノスキャナはマイクロラジアンの反復可能性を持つが、特に温度に関しては、比較的不十分なスケール及びオフセット特性を持つ。較正モードが装置に組み込まれていて、２つの正確な角度における測定を行い、更に、スキャナのオフセット及びスケールドリフトを算出することができるような２つの測定データを用いることができる。
その目的のために２つの方法、つまり、光学的及び機械的手段が開発された。機械的方法においては、スキャナシャフトは、2つの機械的停止部の一つに静かにおかれており、さらに、スキャナ制御装置内の電流は特定の値に調整されており、それは既知の力を与えるものである。位置信号は、位置誤差がなくなるまで調整され、それは、較正された位置測定値を与える。光学的方法においては、２つの自動コリメータがスキャナミラーの背面に照準を定めており、それも磨かれていてミラー被覆されている。スキャナのミラーが正確にそれらのコリメータの１つと整列すると、分割フォト検出器から自動コリメータへの出力は平衡になる。スキャナを順にそれらの正確な角度の各々に配置することによって、スキャナエンコーダに関するオフセット及びスケールを計算することができる。
タイミング回路
タイミング回路の目的は、開始パルスと停止パルスとの間にピコセコンドの相対時間を提供する点にある。そのタイミング回路には２つのサブシステムが存在する。つまり、信号条件付け及びエネルギー積分回路（図１４に示された実施例の回路）と、時間間隔アナライザーとである。両方とも直接にＤＳＰと通信を行う。最初に、装置は市販のタイミング器具、Stanford Research SystemsのＳＲ６２０時間間隔アナライザーを用いて作られた。その器具へのインタフェースは、ＩＥＥＥ４８８インタフェースによるものである。望ましい実施例においては、Stanford Research SystemsのＳＲ６２０時間間隔アナライザーへの通信インタフェースはＩＥＥＥ４８８である。
別々に特許された補間技術を利用するカスタムの時間間隔測定回路が開発された。その回路は、一般的に＞１００mhzで作動するクロックを用いており、それは、停止パルスと開始パルスとの間で１０nsecの間隔の粗めのカウントを行うように用いられる。さらに、各１０nsecの粗めのカウントを１０００の小さな増分に分割して１０psecno解像度を与えるような補間回路が存在する。その装置は約５psecのジターを持つ。２０psec ＲＭＳ誤差より小さな者を伴う差動時間測定を行うことができる。その回路は専用のシリアルバスを用いてＤＰＳと通信を行い、パケットプロトコルを利用する。つまり、そのＤＰＳは、信号バイトを送ることによってその回路に準備を行わせる。タイミング回路がそのタスクと完了すると、それは、開始パルスと停止パルスとの間の時間遅延と、各パルスの強度との双方を表す一連のバイトを送る。
レーザー起動
ＤＳＰはレーザー制御のために３つのラインを持つ。つまり、第１はレーザーポンピングを開始し、第２はレーザーが起動したことを示し、さらに、第３は目標からの戻りパルスが検出されたことを示す。レーザーが起動すると、ＤＳＰはアナログパルスの振幅信号のサンプルを行う。これは一般的に１μsec内に起こる。
ビデオ
目標物捕捉のために、ユーザーのホストには、ユーザーが距離走査の予定の部分を選択することができるシーンのビデオ表示が提供される。多くの場合、それは周囲の光度で表されるシーンに相当することになる。
捕捉
ビデオを捕捉する１つの方法は、スキャナを用いて、単一の検知装置をレーザーが停止した状態でシーンを横切るように指向する。これにより、次の距離走査と非常に正確に空間的に整列する画像を捕捉することができる。しかし、画像捕捉は市販のカメラと比べると非常に遅いことがある。
第２のアプローチとしては、画像を捕捉するために標準的な市販のＣＣＤビデオカメラを用いることである。広角レンズを備える１つのＣＣＤカメラは、可能な限り小さなオフセットを持つレンジスキャナと整列される。５度の視野を持つ第２のカメラは、その光学軸がトランシーバと同軸となるように配置される。従って、かなり小さな視野は、そのスキャナによってアクセス可能となり、さらに、トランシーバと同一の解像度で走査される。これにより、小さいかまたは遠方の対象を目標にすることができる。
整列
広角レンズは、レンズの背面に置かれたＣＣＤによって捕捉された画像にフィッシュボール効果を生じさせる。ここで直線状のものが画像内では直線ではない。このゆがみは、レンズの中央からの距離とともに増加する。そのゆがみは、カメラが作る画像を、慎重に設計されかつ印刷された較正目標画像に向けられた時に比較することによって取り除くことができる。予想された画像と記録された画像との間の違いは、歪みを取り除くために捕捉された画像をほぼそらせるのに必要な情報を提供する。
圧縮
各ビデオ画像は移動の前に圧縮される。最近は、ＪＰＥＧ規格の画像圧縮を用いている。それは比較的高速で、通信用に合理的な小さな圧縮画像を作る。他の望ましい特徴は、アルゴリズムがブロックに基づいて作動し、それにより、インターリーブ画像捕捉、整列、圧縮及び並列送信を行うことができ、その結果かなり処理量が増加された点にある。
点ビデオ
狭い視野（例えば、約５°）の第２のカメラは、それが走査レーザービームと同軸となるように配置される。その視野は、ピクセル解像度がほぼライダー装置のvoxel解像度と同一となるように調整される。そのカメラは、レーザーが作動している間は作動することができる。それが行われると、小さなグループのピクセルは、レーザーによって照射され、それらのピクセルの重心はライダーによって測定されるであろう点に相当する。ビデオ画像が捕捉されると、それはライダー走査によって予測される表面上に位置づけすることができる。
コンピュータグラフィクス認識（ＣＧＰ）ソフトウエア
図１５を参照すると、ＣＧＰ４０はＣＧＰコンピュータ１５００で作動しＦＤＶ１０と通信を行うソフトウエア装置である。ＣＧＰ４０はラップトップ及びワークステーションを含む多くの異なる種類のコンピュータで作動する。ＣＧＰ４０は、カラーグラフィック表示ターミナルのような適当な表示装置１５１０と、キーボードのような適切なキャラクター入力装置１５２０と、マウスのような適切なポインティング装置１５３０とを持つコンピュータ１５００で作動する。そのソフトウエアは、表示装置上のウインドウに捕捉された３Ｄデータを対話式に表示するためにライブラリを提供するようないくつもの標準的な３Ｄグラフィクスを用いることができる。３Ｄビュー操作及びウインドウへのデータプロジェクションを含むＣＧＰ４０ユーザーインタフェースの一部は３Ｄライブラリーによって処理される。
ＣＧＰ４０は実時間３Ｄデータ捕捉及びフィールド内のモデル化を実行する。ＣＧＰ４０はハイレベルのＦＤＶ１０の制御を機能的に含んでおり、それは、目標及びデータ捕捉、走査点の表示及び視覚化、表面分割及び適合化、マニュアル３Ｄモデル構造、３Ｄ視覚化、パート及びモデルデータベースとの対話、及び別の処理のために標準的なデータ変換フォーマットのデータを他のＣＡＤ装置にエキスポートする性能を制御する。これから説明するように、ハードウエア及びソフトウエアの統合は、実体の三次元モデル化の全体のプロセスにおける生産性及び品質の重要な改良を行うことができる。
図１Ａを参照すると、データ捕捉及びモデル化プロセスは以下のステップに分かれる。つまり、ＦＤＶ１０の制御、点捕捉、分割、幾何学的適合、気化図形の操作によるモデル化、ワープをして又はワープをしないシーン登録、モデル注釈並びに幾何学的図形及び質問である。
図１６を参照すると、上記の操作は、少なくともグラフィック表示ウインドウ内で実行することができる。一方ののウインドウ１６１０は、ＦＤＶ１０によって走査される予定の領域を確定するために用いられるターゲットシーンのビデオ画像を表示し、他方のウインドウ１６２０は、走査点及び構成表面の幾何図形からなる３Ｄモデルの対話型２Ｄプロジェクションと、そのシーンに関する他の情報とを表示する。追加のウインドウを用いてデータの多数のビューを提供することができる。さらに、ＣＧＰ４０は、別のウインドウを提供してＦＤＶ１０のハードウエアを制御するとともに、装置のステータスパラメータに設定及び表示を行う。
走査制御
図１５を参照すると、統合されたハードウエア・ソフトウエア装置を用いる前に、ＦＤＶ１０が関心のある目的物２０の方向を向く。
走査制御は、スキャナが認識できるシーンのどの部分を走査すべきかを示すプロセスである。その認識できるシーンの異なる部分を異なる密度で走査することができる。それは、面、シリンダー及び球体のような簡単な幾何図形の物体は、かなり少ない数の走査点によって正確にモデル化できるからである。したがって、スキャナの前方にある領域は、１度の高解像度の走査というよりも、しばしば多重走査により捕捉される。高レベルの細部を持つ領域のみが高解像度の走査を必要とする。
図１７を参照すると、走査制御の１つの手段は、ＦＤＶ１０から捕捉されたシーンのビデオ画像１７１０を用いることである。マウスのようなポインティングデバイスを用いると、ビデオ画像上の長方形１７２０をドラッグするような多数の方法によって走査される領域を指示することができる。ＣＧＰ４０は、ＦＤＶ１０に指示を出して、走査密度を特定する際の援助となるようにユーザーが特定した目標領域の中央に存在するすべてのオブジェクトの距離を測定させる。それは、点の間の角度は、表面上の所望の密度とスキャナからの距離との両方によって決定されるからである。対話ボックスのような所望の走査パターンを特定する手段が提供されて、ユーザーが、点密度、点空間、又は垂直及び水平方向の各々における点の総数を含む走査パラメータを様々な方法で特定することができるようになる。
ＣＧＰ４０は次に領域及び走査解像度の情報をＦＤＶ１０のために一組のコマンドに変換する。それらのコマンドは、ＴＣＰ／ＩＰネットワーク接続のような通信手段を用いてＦＤＶ１０に伝達され、その捕捉されたデータも同一の手段を用いてＣＧＰコンピュータ１５００に戻される。
異なる密度での追加の走査を同一の方法で禁止することができ、新たな走査領域を特定するためにビデオ画像よりも前に走査したデータ点を用いることができる。走査点のビューが、それがスキャナの方向と正確に整列するように指向されると、走査領域を長方形のボックスをドラッグするような方法によって指定することができる。データがこの方法によってスキャナと整列すると、ほとんどの３Ｄ情報は見るのが困難であり、その結果、そのソフトウエアは、次の節で説明するような色彩で位置指定された各点において、戻りレーザー光の強度を持つ点を表示することができる。強度情報は、時には、データウインドウ内で対象を特定するのに十分なので、新たな走査領域を特定することができる。別の例としては、ユーザーは、ウインドウ内の関心のある領域の位置決めを補助するためにそのシーン内の幾つかのオブジェクトのモデル化及び／又は色着けを行うことができる。新たな走査領域を特定するためにデータウインドウを用いると、ビューがスキャナと整列するので、度のような視差誤差も排除される。
スキャン制御は、ポインティングデバイスを用いてレーザービーム及びハイライト点を実際のシーン内に移動することによっても達成することができる。レーザービームを移動させ、さらに、マウスボタンをクリックするようなユーザーの動作によって関心のある点を特定することによって所望の走査領域を描くためには多数の方法を用いることができる。方法には、レーザーを所望の走査領域の対角線上対向する位置にあるコーナーまで移動することによって境界ボックスを指定し、シーンの上、下、左及び右領域を指定し、走査領域の境界を特定する多角形を表す一列の点を指定し、走査領域のコーナーを指定し、さらに、所望の走査領域の広がりを描くためのダイアログボックスのような他の手段を用いるような操作が含まれる。
点捕捉
また、図１７を参照すると、ＦＤＶ１０によって戻されたデータは、点の座標とそれらの強度値とからなる。一つの望ましい実施例においては、走査は、戻りデータが三次元の点１７３０の整理されたグリッド内に存在するように実行される。スキャナから認識されると、それらの点はビットマップのように規則的な矩形グリッドとして現れる。しかし、各点は、三次元空間内の座標とその位置での反射レーザーパルスの強度とからなる。
各戻り点は、それがＦＤＶ１０によって伝達されたときに、データウインドウ１６２０内に表示される。ＣＧＰ４０によってユーザーはデータの３Ｄビューを対話的に変えることになるが、それは、そのデータが到着していてそのデータの空間的配置のよりよい考えが得られる間である。ＣＧＰにおける、データ内の異なる特徴の視覚化を助けることにより、各点は、その位置で反射されたレーザーパルスの強度から色彩による位置の特定を行うことができる。走査暗影１８１０を図１８に示しており、それは、馬の彫刻の表面を表す。図１８に示すように、すべてを単色の点で持つ代わりに、異なるレーザー戻り強度値を異なる色で指定することができ、図１９に示すように、多数の色着けされた走査フィールド１９１０を生成する。強度の色による位置の指定は、ユーザーにかなり特別な表面のフィードバックを提供し、それは、後述するように、目標を定めること及びモデル化の両方に有用である。
生成された点の整理されたグリッドは、走査フィールドと呼ばれる。多数の重複する可能性のある走査フィールドは、縮められて上述の方法で同時に表示される。ＣＧＰ４０内のデータ構造は、走査フィールドのリストを保持しており、それにより、各データ点は常に走査フィールドと関連する。その走査フィールドは通常多くの異なる対象の表面からのデータ点を含んでいるので、それれは次の章で説明するように小さなグループに分割する必要がある。
分割
分割は、同一の対象の表面から走査された点を一緒にグループ化するプロセスである。単一の対象からの点は、走査フィールドの小さな部分となってもよく、又は多数の走査フィールドを横切って発生してもよい。分割プロセスは以下に説明するようにマニュアルでよく、又は、後に自動分割の章で説明するように自動化されていてもよい。
図２０を参照すると、マニュアルによる分割プロセスの最初のステップは、関心のある対象上の走査点を含む１又は２以上の走査フィールド２０１０を選択することである。１又は２以上の走査フィールドを選択することは、キーボードのキーを一緒に用いることがあるポインティングデバイスを用いるような従来のどのような手段によっても実行することができる。走査フィールドを選択することは走査フィールド内のすべての点を選択することである。そのステップの結果得られた点のグループは、他の対象上の点を取り除くためにトリミングすることができる候補点のプールを形成する。そのプール内の各点は最初に選択するようにマーク付けされ、以下に説明する操作を用いて、選択されたものと選択されていないものとの間の点の状態を切り換えることができる。
図２１を参照すると、所望の対象の表面からの走査点２０１０は、１又は２以上の投げ縄操作を用いて、異なることがあるビューから切り取ることができる。ユーザーは必要に応じてビューの方向を操作して点のプールの中の所望の集団の明瞭なビューを得ることができる。ユーザーは次にポインティングデバイスを用いて多角形の投げ縄の領域２１１０を描くことができ、それにより、そのスクリーンを２つの領域、つまり、多角形の投げ縄の内部及び外部に分割する。以下の操作の機能を有する。つまり、選択された領域内のすべての点と選択されていないほかのすべての点にマークを付け、他の点に影響することなく選択された領域内のすべての点にマークを付け、他の点に影響することなく選択されていない領域内のすべての点にマークを付けることである。投げ縄操作は、選択をより正確に行うために必要に応じて何回でも繰り返すことができ、それにより、その投げ縄操作の間にシーンのビューが変わることがある。ユーザーは、新たな点の組を形成するために、最新の選択された点の組を切り取ることができる。その新しい点の組は、それが次の章で説明するフィット操作に加わることができるという点で走査フィールドのように振る舞う。図２２において、点の３つの新たなグループ２２１０、２２２０及び２２３０が、ここで説明するマニュアル分割の方法を用いて作られており、また、面の交差している位置の近くのいくつかの点は元の暗影から取り残されている。
幾何学的フィット
一つの望ましい実施例においては、ＣＧＰ４０は、走査された対象の実際の表面をシミュレートするために用いることのできる多くの幾何学的原図を含むことができる。その幾何学的原図は、三角形のメッシュ、平面、円筒、球体、円環体、ライン及び点のような多くの標準的な原図を含む。幾何学的フィッティングの最も簡略化されたフォームは、走査された対象の表面的な特徴を示すために走査点を結合するような三角形状のメッシュを用いることを含む。図１８の走査暗影１８１０は図２３に示すように描かれるようにメッシュ状２３１０にすることができる。走査データは規則的なグリッド内で捕捉されるので、隣り合う点を結合することによって三角形状のメッシュを作ることは簡単である。ユーザーは、また、深さ及び角度に不連続の差を設定して、特定されたしきい値より大きな値によって分離された隣り合う点をメッシュすることを防ぐことができる。このようにメッシュを外すことは、シュリンク包装の表面と呼ばれているように、より本物のように見える表面を提供する。それは、閉塞端部には人工的なメッシュ表面は発生しないからである。スムース化（ノイズ縮小化）及びメッシュの簡略化（ファインメッシュグリッドを必要としない滑らかな領域のメッシュ密度を減少させること）のような、広範な様々な既知のメッシュ操作を、合成メッシュに適用することができる。メッシュの頂点に強度のような情報に応じて色をつけることができる。
上記のように、ＣＧＰ４０は多くの標準的な幾何原図を含む。点をそのような対象にフィットさせる前に、点暗影は上記のように分割しなければならない。一旦分割すると、点の各グループは、幾何学的対象によってフィットすることのできる単一の表面を表すことができる。そのフィッティングは、フィットすべき形状の種類を知っているようなユーザーによって指導することもできる。例えば、部屋の隅を走査した後に、ユーザーには、壁上の点には平面を適合させることができ、パイプ上の点には筒を適合させることができることが明らかになるので、そのユーザーは特定の対象の適合を要求することができる。このプロセスを半自動で行ってどの形状が最も特定の点のグループに適合するのかを特定することもできる。
一組の点に平面を適合することは、多くの公知の解像度を持つ簡単な問題である。平面を表すためにＣＧＰ４０で用いられるパッチの広がりは、その平面内の点の凸状のカバーによって決定することができる。例えば、図２２に示す３つの点のグループ２２１０、２２２０及び２２３０は、入手できるいずれかのフィッティングアルゴリズムを用いて、それぞれ図２４に示す平面２４１０、２４２０及び２４３０に別々に適合することができる。
多くの標準的なアプローチをより複雑な形状をフィットさせるために利用することができる。一つの望ましい実施例においては、２つの段階を含む。つまり、開始点を得るパラメータ予測段階と最適化段階とである。ただし、そのパラメータは全体の誤差を最少化するために変更される。その誤差の総計は、適合される対象物の表面上の各走査点と最も近い点との間の距離の二乗の合計である。最適化段階は、対象物のパラメータによって特定されるその対象物と走査点によって与えられるデータとの間の誤差を除去するために従来の最適化方法を用いる。
円筒形適合装置は、図２５に示す点の暗影２５１０を図２６に示す円筒状物体２６１０に変換する。その円筒を含む、フィットされたすべての対象は、その対象に適合するように用いた元の点を引用する。ユーザーはいつでも最終的な円筒２６１０又は元の点２５１０又はそれらの双方ともを見るために選択することができる。マニュアル又は自動の分割方法を用いると、多くの円筒を表す図２７の走査暗影２７１０を、図２８に示す最も適合した筒２８１０に変換することができる。各円筒の直径及び軸が確立されると、マニュアルで又は自動で図２９の曲がり部２９１０を加えることができ、これによって、モデル化プロセスが完了する。
円筒は５つのパラメータによって描かれている。つまり、円筒の軸を描く正規化されたベクトル（２つの独立したパラメータ）、半径及び円筒軸の作用のラインを空間的に配置するために用いられる２つの対かのパラメータである。最終的な円筒の長さは、走査点をその円筒軸上に投影し、さらに、その投影の極値に注目することによって決定することができる。
円筒パラメータを推測するための２つの新規な方法は、一つの実施例に組み入れられる。円筒用に最初のパラメータを見つける第１の方法は、自動分割章において説明するように、適切な表面法線を見つけることである。すべての法線がユニット長さに設定されると、それらのすべては、原点からユニット球体の表面上の点までのベクトルとなると考えることができる。各垂直ベクトルを用いてユニット球体上の点のグループを累積すると、その最終的な点のグループを通じて平面を決めることができる。その最終的な平面の法線は、円筒軸とほぼ並行である。その円筒軸及び平面が前のステップから与えられると、走査点をその平面上に投射することができる。その投射された点は、その平面内の円によってよく描かれている。それは、その平面は円筒軸と直交しているからである。最も良く適合する円は、その平面に投射された点を用いて計算でき、それにより、その円筒の半径の予測を与える。その平面状の円の中心を３Ｄ点に変換することによって円筒軸上に点を与えることができる。
円筒パラメータを予測するための第２の方法は、一組の点を二次曲面に適合することである。それは陰関数表示の以下の式に示されている。
F(p)=０=c1p12+c2p22+c3p32+c4p1p2+c5p1p3+c6p2p3+c7p1+c8p2+c9p3+c10  (１)
ただし、ｐ＝｛ｐ，ｐ，ｐ｝は二次曲面上の点である。
次に、その式は陰関数表示なのでc10＝−１を得ることができ、さらに、他の９のパラメータを決定するためにすべてのデータ点を用いて最少二乗法適合を実行することができる。所定の組の点に関して最良の適合二次曲面を決定した後は、次のステップは、他の点の近くにある新たな表面（ｐs）上の点を実際に見つけることにある。それは、走査点（ｐc）の重心を見つけ、次に、ｐsを与えるために二次曲面上の最も接近する点を見つけることによって達成される。ｐsにおける表面の法線は、以下の式を用いて決定することができる。
Ｎp＝Ｄ1ps+Ｄ2  (２)
ただし
0004400894.tif 000003
２つの単位ベクトル（ユニットベクトル）ｕ1及びｕ2は、次に、それらは互いに及び他のＮpの両方と直交することがわかる。それらのベクトルは、考慮中の点の表面に関する基礎を形成し、その表面上の追加のベクトルは以下のように表すことができる。
ｖα＝ｕ1cosα＋ｕ2sinα，０≦α≦２π  (３)
基本単位ベクトルｖαは、以下の式を満たす回転αを決定することによってわかる。
ｖα・（Ｎp×Ｄ1ｖα）  （４）
その式に対し直交基本単位ベクトルｖ1及びｖ2を与える２つの解法がある。それらの２つの主方向における表面曲率κは次の式から与えられる。
0004400894.tif 000004
円筒表面においては、主たる曲率の１つはゼロ近くになり、円筒の半径は非ゼロ曲率の絶対値の逆数である。円筒の半径（ｒ）及び軸を決定するための方法を説明したので、その軸の位置のみを決定する必要がある。ユニット面法線は、
0004400894.tif 000005
のように計算することができる。点の重心は円筒の内部に存在するので、
0004400894.tif 000006
を保証することによって、法線の向きがその円筒内部を指し示すように、その法線の向きを調整することができる。その軸上の点は次にｐs＋ｒｎによって与えられる。それらの開始パラメータは、最少化プロセスにおいて用いられて、その円筒のためにもっとも適合するパラメータを発見することができる。
二次曲面公式を使用して曲率を推定する上記新規な方法は、さらに自動オブジェクトタイプを決定するための新規な方法に使用される。もしもフィットするポイントが平面で良く表されているなら、両方の曲率はほぼゼロとなろう。もしもフィットされているポイントが円筒面から得たものであれば、一つの曲率はほぼゼロであり、他方はゼロではない。もしもポイントが球から得たものであるなら、両方の曲率がゼロでなく、それらの大きさはほぼ等しい。オブジェクトタイプの自動検出を後述する自動セグメンテーションアルゴリズムを組み合わせることにより、通常のスキャンシーンにおいて生じる多くのオブジェクトを自動フィッティングする新規方法をＣＧＰ４０にもたせることが可能となる。
曲率推定の別の使用法は球面フィッティングである。これは中心点の位置および半径を近似する二次曲面アプローチを使用し、次いで４パラメーター最小化法（four-parameter minimization）を使って球モデルと測定したポイントとの間のエラーを低減させることにより達成される。（４個のパラメーターは中心点および半径である。）円筒形の軸線上の一ポイントを発見するための上述の新規方法は、球心を発見する好適な実施例においても使用される。
上述したセグメンテーション技術は前述した球の組合わせに基づく有用な種々のフィッティングツールを生成するのに使用することができる。たとえば、３個の平面の交わり（これは直角であってもなくてもより）からなるコーナー（隅）は、非常に普遍的なスキャン対象である。指定したポイントグループが図２０のポイント２０１０のような３個の交差平面を含むことが知れていれば、これらのポイントは自動的に後記技術方法を使用して、各々に別個の平面上に存在するポイントからなる３個のサブグループにセグメント化できる。次に、任意の利用可能な平面フィッティング アルゴリズムを使ってこれらの平面をき各グループ内のスキャンポイントにフィットできる。後述するもっと一般的な自動セグメンテーションアルゴリズムとは異なり、もしもコーナーオブジェクトが３個の平面から構成されることがわかれば、フィッティングアルゴリズムは円筒形、球あるいは他のオブジェクトをフィットする必要はなく、いずれが最もより良くフィットをするかを検査する必要が無く、平面のフィットのみが必要である。図３０を参照して、コーナーフィッティングツールは平面３０１０、３０２０、３０３０をフィットするのみならず、これら平面と交差してコーナーを完成する。図３０に示すように、線３０４０、４０５０、３０６０を平面対の交差部に導入することにより、またコーナーの位置を表す頂点３０７０を導入することにより、ユーザーはさらに有用な情報を得られる。この頂点は単一のスキャンポイントよりもはるかに正確である。なぜならば、各平面は多数のデータポイントを使ってフィットされ、頂点はこれら平面の交わりによって生成されるからである。交線および頂点を使ってコーナーを自動生成する上記の新規方法はＣＧＰ４０のツールとして使用することができる。
各オブジェクトは当該フィットの品質についての情報を格納する。その結果ユーザーはオブジェクトのクエリー（問合せ）を発し、平均値、標準偏差、および最悪のエラーを調べることができる。ＦＤＶ１０の精度が判れば、ＣＧＰあるいはユーザーは、フィットの際にエラーが生じたか否かを決定することができる。エラーは、誤ったタイプのプリミティブをフィットしたときに、あるいは所望の表面からは実際にスキャンされなかった無関係のポイントがデータセット内に残っているときに生じる。さらに、オブジェクトはその幾何学的パラメーターを格納するので、ユーザーは半径、長さ、その他の関心あるものの値を問い合わせることができる。
一般的オブジェクトフィッターの範疇に入るもの（これらはフィットすべきポイント以外にはどの初期情報にも近くないが）に加えて、当該シーン内のオブジェクトに関する予備知識を利用できるある範疇のフィッターがある。そのような予備知識が存在する領域は建設産業の領域である。この領域では、使用するパーツは標準的な寸法および設計仕様にしたがう。例えば、ある特定の製造業者から販売されるパイプの外形は４インチ、５インチ、６．５インチ、８インチおよび１０インチの５種類の異なったサイズで製造されているかも知れない。この情報は通常、これらパーツの重要な属性を記載した一覧表に載っている。円筒形フィッターはこれらの表の情報を利用してサーチすべき解答空間（solution space）を著しく減らすことができる。フィッターは、これらの直径の円筒形の一つに関する解答をサーチするだけでよい。そのような一覧表を使用するもう一つの方法は、フィッターが一般的な解答に遭遇して、オブジェクト表に記載されている事物とのマッチングを試み、最も近いパラメーター値をもつ事項を発見することである。例えば、7.8インチ直径の円筒によるパイプフィットは上記の例から、表の８インチエントリにマッチしよう。この場合、ユーザー（あるいはフィット操作者）は８インチ円筒をパイプに再フィッティングするか、あるいは７．８インチ円筒を受け入れるかの選択をする。さらに別の使用方法は、ユーザーが手操作で表からある特定のエントリ（記載事項）（あるいはエントリの集合）を選択し、当該フィットにそのパラメーターを使用することをフィッターに告げることである。これもまたフィット操作者の解答空間を低減する（これは所要時間を減らずことができる）。
モデリング
前のセクションで述べたように、幾何学的プリミティブのフィッティングは、普通、モデリングプロセスを完結しない。円筒の一端とか壁の一部とかのようにオブジェクト上面の一部のみがスキャンされる場合が多く、３Ｄモデルの完成には更なるオペレーションが必要である。モデリングは、いくつかのフィット済み幾何学的プリミティブを与えられた上で、３Ｄモデルの構築を完成させるプロセスである。
拡張、交差（相互的拡張）およびトリミングのような多くの普遍的ＣＡＤオペレーションがＣＧＰ４０で利用できる。たとえば、図３１の円筒３１１０は初め床面３１２０まで延びていない。図３２で、円筒３２２０は床面３１２０まで拡張されている。これら簡単なオペレーションにより、幾何学的フィッティングによって生成されるオブジェクトから出発してモデル諸部分を迅速に完成することが可能となる。例えば、コーナー付近のスキャンデータからフィットされた３個の平面パッチが与えられたとき、３個の平面を互いに拡張してコーナーの特徴を完成させることは容易である。
オブジェクトの拡張はいくつかの方法で達成することができる。一つの方法は、拡張すべき幾何学的オブジェクトを選択し、それらをその後に選択されたオブジェクトまで拡張することをオブジェクトに命令することである。拡張の性質は、拡張すべきオブジェクトの型（タイプ）と選択される第二のオブジェクトとの両方によって決定される。例えば、円筒は、第二オブジェクトに近い端部がその中心線に沿って第二オブジェクトの幾何学形態によって確定される無限平面と交差するまで延びる（平面状のパッチの場合は、無限平面はパッチ面であり、円筒の場合は無限平面は上記中心線を含むと共に可能な限り拡張円筒に直角となる面である。）
もう一つの方法は、オブジェクトハンドルを使用することである。オブジェクトハンドルはユーザーが掴むことができるノードである。これらのハンドルは適当にオブジェクトの定義（位置、方向、およびサイズ）に結合されており、ハンドルを移動させることにより、オブジェクトの定義がそれにしたがって変化する。再び述べるが、円筒を例に取ると、拡張すべき端部にあるハンドルを掴み、次にそのハンドルを所望の位置まで移動することにより（かつ円筒を拡張することにより）、上述した同じ拡張が達成できる。ハンドルの運動はそれが結合されているオブジェクト部分に依存する。円筒の中心線上のハンドルは中心線に沿ってのみ移動できるように束縛されているが、平面状パッチの境界に付けられたハンドルはそのパッチ面の内側のみで移動するように束縛されている。いくつかのオブジェクトの場合、ハンドルはこれを挿入し、除去することができ、当該オブジェクトの形状の定義を変更することができる。（例えば、平面状パッチ上のハンドルは、平面状パッチの境界上の頂点に１対１の対応をもっている）。他のハンドルにはオブジェクトに対して回転に関する制御を与えることができる。ハンドルによる制御は対話的かつ動的な更新を行う。したがってユーザーは再定義の中間結果を観ることができる。
併合と呼ばれる新規のオペレーションが開発されており、これによって単一オブジェクトの表面のいろいろの部分を結合してＣＧＰ４０内の単一オブジェクトを形成することができる。人が観たオブジェクトの景観は、しばしばその前にある他のオブジェクトにより不鮮明になることがある。例えば、ある部屋の後方の壁の景観は前方にある柱のため、二つの断片に分けることができる。その領域のスキャンはその特定のオブジェクト上のいろいろのグループのポイントを発生する。もしも手操作による方法（これは諸々のポイントが同一オブジェクトに属することをユーザーが知っている場合である）ではなく、後述する自動セグメンテーションを使用するなら、分離したポイントグループが形成されるだろう。次に各ポイントグループは別個のオブジェクトにフィットされる。その結果、同一表面の多重断片が生じる。柱により不明瞭化した壁の二つの平面状パッチのような、同一対象物の表面上にあることが知られているＣＧＰ４０内に二つのオブジェクトを単一のオブジェクトに併合することができる。各オブジェクトはそれを定義するデータポイントに対する参照を格納するので、併合リクエストを受け取ると、下層にある（underlying）データポイントすべてに新たな幾何学的フィットが行われる。これらのデータポイントは、最良の全体的フィットを達成するための幾何学的形態を構成する部分のデータポイントである。オブジェクトフィッティングの精度を増すこの新規方法は、本発明の好適な一実施例の併合オペレーションに使用される。併合した二つのプリミティブオブジェクトの特性は併合の結果に影響しない。下層のポイントの位置のみが考慮される。
手操作あるいは自動的方法を使って、ユーザーは図３３に示すピラミッド３３１０上のポイントのような、多数のオブジェクト表面から得たポイントの集団（cloud）３３２０を収集することができ、それらを図３４のピラミッド３４１０の平面状表面のような一組の幾何学的オブジェクト３４２０に変換することができる。図３４に示すモデル化したシーンはスキャンした元のオブジェクトの特徴を正確に表し、モデル化するシーン内の任意の特定の場所の間で行う測定を可能にする。
シーン登録
各スキャンポイントの初期位置は，ＦＤＶ１０の原点をその原点としその軸線がＦＤＶ１０に対して固定されているローカル座標システムで記述される。それゆえ、ＦＤＶ１０を移動させることなく取られたスキャンフィールドは（すべてのスキャンポイントが同一の座標システムを使用するという意味で）本来的な意味で登録されるしかしながら、もしもＦＤＶ１０がスキャニングオペレーションの間で移動されると、そのデータが共有の座標システムを使用するために必要な変換を行う余分の努力が必要となる。これは３個の平行移動と３個の回転パラメーターとを含めて６個のパラメーターを含んだデータセットの剛体変換であり、一旦変換が知れればデータに適用することは容易である。
いろいろのＦＤＶ１０の位置からスキャンフィールドを登録するのに、ある新規な登録プロセスを使用する。この新規な登録プロセスは、同一の特徴部分を表す２個の異なるシーンにおける一対のポイント、ライン、あるいは平面をユーザーが同定することを要求する。壁の背面および正面のような異なる特徴部分も、ユーザーがそれらの間のずれを知っているなら、使用することが可能である。平面およびラインは以下に述べるようにポイント対に変換することができるので、本プロセスは完全にポイント対に作用する。登録に使用したこれらのポイントは実際のスキャンポイントか、あるいは３個の平面の交点におけるコーナーのような構築点であっても良い。
一組のポイント対を与えられたとき、本登録プロセスは同一線上にない３対の使用可能ポイントのみを探す。これらの３個のポイント対を使って、一つのビューにおける座標システムを他のビューで使用する座標に変換するのに必要な変換を構築することができる。この変換はさらに、すべてが単一の座標システムを共有するようにスキャンポイントを変換するのに使用することができる。便宜のため、本プロセスは第一組のデータセットを固定したままの点とし、第一組の座標システムを使用するために第二組のデータを変換するものとする。
最初のステップは、第二組のデータセットに剛体変換を行い、ｘ，ｙ，ｚ座標を使って第一ポイント対を一致させることである。第二のステップは、両方のデータセットのポイント１と２とで形成されるラインが重なるまで、その第一ポイントの周りに第二データセットを回転することである。第三のステップは、前のステップで確立したラインの周りに、両方のデータセット内のポイント１、２、３で確定される平面が重なるまで第二データセットを回転させることである。
一旦初期推定ができると、これらすべてのポイント対およびエラー最小限化法を使って各ポイント対間の距離の平方の和を小さくすることができる。
上述したポイント登録法を使用するためには、ＣＧＰ４０はライン、平面、およびポイント対に対するオフセットを付き平面を変換する新規な方法を使用する。ゼロでない平面オフセットが存在するときは常に、第一シーンの対応点と完全に一致する位置まで、導入した新しいポイントが第二シーン内で移動される。平面およびラインをポイントで置換することにより、最小化のためのエラー関数を書くことが簡単になる。なぜならばこのときは角度および距離のエラーが同時に関与せず、ポイントエラーのみが関与するからである。
平面およびラインを置換するに際して、ユーザーが指定したオブジェクトに対して相対的な位置にあるポイントを導入するだけでよい。なぜならば二つのデータセットの原点が異なるからである。例えば、原点に最も近い位置にある平面内に新規なポイント対を導入しても、空間的に実際に一致するポイントにはならない。というのは、原点が任意であるからである。しかしながら、平面とラインの交点にあるポイント対を導入することは、二つのデータセット内において一致するポイントを与えることになる。平行線のようないくつかのオブジェクト対は新しいポイントを導入するのに使用すべきではないので、以下に述べる「ＡＴＯＬ」と呼ぶ角度許容限界を使用してかかる不適な対を無視する。ＡＴＯＬは初期値として１０度に設定されるが、もっと小さな値を、あるいは人工的なポイント対を必要に応じて生成するために他の値を、使用することができる。ポイント対は以下の順序で導入される。
ラインと平面との間の角度がＡＴＯＬより大きなすべての平面-ライン対に対して２個の新しいポイント対を導入する。第一の新しいポイントはラインと平面との交点に挿入され、第二ポイント対は第一ポイントからある固定距離（ここでは二つのビューにおけるラインの長さの最小値を選ぶことにする）にある作用線に沿って挿入される。
平面およびポイントのすべての対に対して、新しいポイント対を平面上に導入する。ただしこのとき、平面の法線が新しいポイントと指定したポイントを通過するようにする。
法線が少なくともＡＴＯＬにあるすべての平面対に対して、平面の交線に沿って新しいラインセグメント（線分）を生成し、そのラインセグメントの長さを、任意の平面がそのラインに沿って有する最小値に等しくする。この新しいラインセグメントは方向を何らもっていないが、長さおよび位置情報の両方をもっている。このステップの後、平面群はもはや不要である。
ラインおよびポイントのすべてについて、指定ポイントに最も近い位置にあるライン上に新しいポイントを導入する。
ＡＴＯＬより大きな角度に離隔されたラインの対すべてに対して、４個の新しいポイント対を導入する。新しいポイント対は、元の作用線に沿ったラインセグメントの端点であるが、二つのラインの最近接点の位置を中心とする。新しいラインポイント間の距離は、その作用線に沿って二つのデータセットから測った、ラインセグメントの長さの最小値に等しい。このステップの後、これらのラインはもはや不要である。
上述した平面およびラインの置換をした結果、元の平面およびラインに関する方向情報を保持する一組のポイント対が得られる。導入した補助的なポイント対の組は上述した登録プロセスに使用することができる。
二つのシーンの登録後、同一の物理的オブジェクトを表す二つの個々のビューから得られたプリミティブは、前述した併合技術を使って組み合わせることができる。特に、同じ表面を表す一致する平面状パッチは、組み合わせて一つの拡張した平面状パッチにすることができる。同様にして、一致する円筒表面単一の円筒に併合することができる。
データセットのワーピング
上述した登録プロセスはいずれのデータセット内のオブジェクトの相対位置も修正しない、剛体変換である。登録後、同定された大抵のポイント対、ライン対、あるいは平面対は依然として小さなエラーをもっている。というのは、最小化プロセスは全平均２乗誤差を最小化するに過ぎないからである。ここに示す新規な方法は、ユーザーが、シーンのボリュームを変形することにより同定済みの対を厳密にマッチさせることを可能にする。
任意の測定データについて、各スキャンポイントロケーションに関するある程度のエラーがある。一つのポイントロケーションに関するエラーの大きさは使用する測定技術によって変わるが、ある種のエラーは常に存在する。ここで考えているデータはオブジェクトの表面の特徴を記述するので、データエラーは表面の不規則性を示す。例えば、実際の平面状の表面の測定から得られた一組のポイントはすべてが一平面上にはないかも知れない。測定ポイントの組に最も良くフィットする平面の計算は、ポイントデータセットに内在するエラーのため、実際の平面ロケーションあるいは方向を与えないかも知れない。
平面などの復元した対象に含まれるエラーは復元したオブジェクト間の関係にも同じようなエラーを起こす。例えば、もしもデータが、相互に厳密に９０度をなす二つの平面から集められると、これらのデータから生成される最も良くフィットする平面は厳密に９０度離れていないかも知れない。同様に、現実には平行である円筒は、スキャンポイントからフィットした後には最も良くフィットさせた円筒が平行でないものとなるかも知れない。復元した対象におけるこれらの一貫性の欠如は測定誤差により生ずるものであり、ポイントが単一のスキャン位置から収集したものであっても、あるいはいろいろの異なる位置からスキャンしたものの合併であっても現れる。
相対システムを使っていくつかの異なる組のスキャンデータが登録されると、フィット不足の問題は実際上大きなものになる。もしも一連の順次的スキャンが収集され、また、前のスキャンで得られたいくつかの認識可能なデータポイントシーケンスに関して各スキャンが登録されると、各スキャンにおける絶対エラーは大きくなりうる。スキャンのシーケンスの終わりに、対象物のロケーションが厳密に知れているなら、それらが既知ロケーションにフィットするよう、スキャンデータポイントを調整しなければならない。２Ｄの閉じ込み問題および３Ｄベンチマークマッチング問題は両方とも、上述した問題と性質上類似している。閉じ込み調査（surveying closure）の応用例では、一連のロケーションを調査し、開始ロケーションに戻ってくるのであるが、累積的測定誤差があるために開始ロケーションおよび最終ロケーションが厳密に同じロケーションでない事態が見つかる。閉じ込みエラーは開始ロケーションと最終ロケーションとの間の距離であるが、これは良く知られている調査の技術を使って、修正後には第一ポイントと最終ポイントが会合するように、集めた他のデータポイントに分散させる。同様にして、既知ロケーションのベンチマーク調査を調査データセットに導入するとき、そのデータセットは既知ベンチマークロケーションを収容するように調節しなければならない。閉じ込み問題およびベンチマークマッチング問題は両方とも、ここに述べる方法によって解決することができる。なぜならば、それらは束縛点の変位で記述できるからである。
ここに記述する新規な方法は、当該データポイントを囲むある体積に固体力学の原理を適用することにより、測定した３Ｄデータセットに含まれるロケーションエラーを矯正し、エラーをポイントセットに分散させる。この方法は、３Ｄデータセットに課される広範囲な変位束縛条件（displacement constraints）を満足するための技術を与えると共に、測定誤差をデータセット全体に分散させる。これらのゴールを達成するため、データセットを変形するこのプロセスはワーピング（湾曲法）と呼ばれる。変位束縛条件は両方の制御ポイント（control points）およびタイ（結び）ポイント（tie points）を使って特定することができる。これらの制御ポイントの絶対座標は空間内で既知であり、移動しないポイントであり、またタイポイントは二つ以上のデータセットにおいて同じロケーションを表すが、絶対ロケーションは不明のポイントである。さらに複雑なオブジェクトが関与する束縛条件も記述できる。例えば二つのポイントを指定することによりラインセグメントを、また三つのポイントを指定することにより平面を記述できる。このようにして束縛条件のファミリー全体が指定でき、ポイント、ライン、および平面から成るグループに適用することができる。
すべての束縛条件はゼロあるいはゼロでないオフセット項を含む。ポイント間のゼロオフセットは、それらのポイントが同じ最終ロケーションを共有すべきであることを示すが、そのロケーションがどこであるかを処方しない。もしもこれらのポイントの一つが既知の絶対位置をもつ制御ポイントであったなら移動しないから、束縛条件を満足すよう、束縛を受ける他のポイントが同じロケーションまで移動するように仕向けられる。すべての場合に、最終ロケーションは固体力学の解法でつかわれるエネルギー最小化プロセスで生成される。二つのポイント間のゼロでないオフセットは、ワーピングプロセスを適用した後の当該ポイントがある距離だけ離れていることを表す。
もしも束縛条件の対象オブジェクトが（ポイントではなく）ラインあるいは平面であるなら、我々はオフセットに加えてオブジェクト間の角度を指定することができる。このタイプの束縛条件ファミリーを使って、一つ以上のデータセット内の任意数の対象間の関係を指定することができよう。本発明は単一の３Ｄデータセットあるいは複数の３Ｄデータセットのいずれが関与しようとも、また束縛条件が同一もしくは別異のデータセット間にあろうとも、うまく機能する。
束縛条件問題の解決は、前節で述べたようにデータセット各々を登録することにより始まる。その結果、すべてのデータが単一の座標系を共有する。次に固体力学理論が、変位束縛条件を満たすように各データセット内のポイントを囲む体積に適用される。ワーピング法が生成された一つ以上の体積に対して、これらの体積が与えられたデータセット内のすべてのポイントを囲むように作用する。これらの各体積は特定の物性をもった変位可能な材料で作られているとみなされる。弾性率が１でポッソン比がゼロの等方的材料が使用できる。固体力学の解法が、指定された束縛条件を満たす最小エネルギー変位のパターンを見つける。
我々は、これらの各体積のが可橈性材料で作られている、と描像することができる。もしもある体積を剛体運動をしないように固定し、内部のある点に対して新しいロケーションを処方したとすると、我々はその体積の変形を想像することができる。その場合、注目しているポイントのみならず体積の残りの部分もこの変形に関与する。実際には、束縛条件自体が複数の体積を一体的に固定するのに使うことができる。力学の原理を使って、我々は上記束縛条件を満たす最小エネルギー体積変形を決定することができる。これは、同じ束縛条件を受ける現実の変形可能なオブジェクトに実際に起きる現象を擬似的に表している。
一つの特定の実施例では本ワーピング法は、データポイントに課される一組の束縛条件を満たすため、注目するポイントを含むある体積を変形する固体力学の原理を使用する。束縛条件が満たされるのみならず、初期ロケーションエラーの効果が演算対象の体積全体に分散される。
これらのポイントを内包する体積に固体力学の原理を適用するのに有限要素法が使用される。体積は一組のポイントあるいは頂点とこれら頂点を結ぶ一組の要素とに離散化される。体積の離散化のため、４個のノードをもつ四面体が使われる。
このプロセスの最初のステップは、一つ以上のデータセットに適用される束縛条件の組を集めることである。この段階で我々はワーピングプロセスが満たさなければならない束縛条件を同定しなければならない。これらの束縛条件には立方体のコーナーのような、異なるデータセット（タイポイント）内の同一の物理的ロケーションを表すポイントの同定が含まれる。それらのデータセットは、ワーピングプロセスが完了したときは同じロケーションに現れるものである。タイポイントのいくつかは元のデータセット内でスキャンされたポイントではなくて他のポイントのグループから構築されたものかも知れない。例えば、もしもコーナーで交差する３平面を表す一連のポイントがあったとすると、これらのポイントに３個の平面をフィットすることができ、その結果得られるコーナーポイントを一つのタイポイントとして使うことができる。束縛条件はポイント、ライン、および平面のようなオブジェクトの対、および所望のオフセット、両者間の角度で指定することができる。束縛上意見に関与する二つのオブジェクトは単一のデータセットに含めることができ、あるいは異なるデータセット内に起こすことができる。単一のデータセット内で、我々はラインあるいは平面が平行に留まること、あるいは二つのポイント間の距離が指定した大きさであることを、指定することができる。複数のデータセット間に、我々は同じような束縛条件を書くことができ、あるいは二つのデータセット内に見られる対象が同じオブジェクトを表すことを指定できる。また、我々はいくつかのポイントの実際のロケーションを非常に正確に知っており（ベンチマーク）、データセット内の束縛条件ポイントが既知ロケーションにあることを知っている可能性がある。データセット内の別のポイントを固定するためこれらのベンチマークポイントを使うことにより、閉じ込み問題を解決することが可能となる。というのは、測定したデータポイントが所望の制御ポイントロケーションに厳密に移動し、データセット内のエラーが体積全体にわたって平滑化されるよう、データセットがワーピングされるからである。
ワーピングプロセスの第二のステップは、前節で述べたように、関与したデータセットすべてを登録することである。ワーピングプロセスにおける第三のステップは注目する領域を囲む体積を選択し、その体積を一組の新しいポイントで記述することである．ＦＤＶ１０でスキャンでききる領域は、ビュー体積と呼ばれ、ピラミッドの先端がスキャニング装置の原点に置いたときのピラミッド形状をしている。ピラミッド形状はワーピングを行う目的上、ビュー領域の範囲を指定するのに使用することができる。またピラミッドはデータポイントと同じ座標系を使って容易に５個の点で記述できる。これらの新しいポイントはデータセットの一部には成らないが、、ワーピングプロセスにおいて使用される。これらのポイントの凸閉包（convex hull）は新しい体積の表面を表し、すべてのデータポイントを内部に包含すべきである。このオペレーションは各データセット毎に別個に行われる。
第四ステップは、各データ体積をメッシュ化（meshing）することである。メッシュ化はまったく空隙を残さない、かつ重畳しない、有限の要素で体積を満たすことである。体積の境界上に確定されており、内部に課される束縛条件に含まれるポイントあるいは頂点の間を、有限要素がまたがっている。データセット内のポイントがすべてワーピングプロセスに含まれる必要はない。束縛条件の指定に仕様されるもののみ、および体積の境界を画定するもののみを含めればよい。初期のメッシュ内の要素は、それらの形状ゆえ、粗末なものであるかの知れない。例えば長い細長素材（sliver element）は、その形状ゆえに有限要素解析法では粗末な品質をのものになることが知られている。それゆえ、メッシュ化プロセスは実際には反復的に行うものである。メッシュ中に新しいポイントが挿入され、次に旧い要素が除去され、メッシュの品質が向上するように新しい要素が導入される。この反復プロセスは、メッシュの全体的品質に満足が行くまで続けられる。好適な一実施例では、４個のノードをもつ四面体要素が使用される。初期メッシュは開始時点の組のポイントに３Ｄデローネイ三角化法（3-D Delaunay triangulation）を適用して構築される。この反復プロセスは、要素品質測度（element quality mesure）を使って粗末な形状の要素を同定し、新しいポイントを導入してその領域を再メッシュ化する。このプロセスは、すべての要素が最小限品質規格を満たしたとき、終了する。好適な実施例はメッシュを改善する新しいポイントを導入するのに最長縁二等分法を使用するが、他の方法を使うこともできる。
第５のステップはステップ１で述べた束縛条件を処理してこれを線形束縛条件系にする。好適な実施例では、最終的束縛条件系は四面体要素の頂点におけるノード変位に関して線形である。束縛条件の所望の形は：
Ｃｕ＝ｑ  （６）
である。
行列Ｃは要素が定数の定数行列である。Ｃの行数は系の束縛条件の数に等しい。ベクトルｕは四面体要素の頂点の３Ｄ変位を表す。ベクトルｑは定数係数を含む。もしも束縛条件が斉次であるなら、ｑの各要素は０である。方程式（６）に与えられている束縛条件の特定の形は任意の線形多重ポイント（一以上のベクトルを含むもの）に対する束縛条件を許容する。
ステップ１で特定した束縛条件の上記の形への変換は、関与する束縛条件のタイプに依存する。２個の点を一体に結びつける場合であれば、束縛条件は
p1+u1=p2+u2  （７）
又は、ｕ1−ｕ2＝ｐ2−ｐ1  （８）
となろう。
これらの方程式で、p1およびp2は原点から注目している頂点に至るベクトルである。u1およびu2は同じ頂点のワーピング中の変位である。方程式（７）は、各頂点の最終ロケーションがワーピング期間中は初めのポイントに変位を加えたものに等しいが、他のポイントの最終のロケーションに等しくなることを要求している。方程式（８）はq=p2-p1と置いた方程式（６）の形であり、ノード変位のｘ、ｙ、ｚ成分で表した３個の線形束縛条件を与える。方程式（８）を方程式（６）の形に展開したときの３個の方程式にすると、次式が得られる。
0004400894.tif 000007
２個のポイント間の距離のような他の束縛条件はその性質用、非線形である。この非線形束縛条件は、システムについて成立している幾何学的形態を使用することができ、また線形多重ポイント束縛条件を生ずるための小さな変形仮定と同様に使用できる。例えば、２個のポイント間の所望の距離をある指定値ｘとするためには、最終ポイント間のベクトルV21を次式
ｖ21＝（ｐ2＋ｕ2）−（ｐ1＋ｕ1）  （10）
で決定し、次にベクトルの所望の長さを次のように指定すればよい。
‖ｖ21‖＝ｘ  （11）
上式はベクトルの内積を使って次のように書ける。
ｖ21・ｖ21＝ｘ2  （12）
方程式（１１）および（１２）はノードの変位ｕ1およびｕ2で表したとき、共に非線形である。この束縛条件を線形化するため、我々は元の作用線に沿って測った所望の長さを、所望のオフセットに等しいと置くことができる：
0004400894.tif 000008
v21・n21＝x  (14)
又は［(p2+u2)-(p1+u1)］・n21=x  （15）
u2・n21−u1・n21＝x−‖p2−p1‖  （16）
方程式（１６）の右辺の項はポイント間の所望の距離からポイント間の現在の距離を引いたものである。ｎ21のｘ、ｙ及びｚ成分は束縛条件である。方程式（１６）は単一の束縛条件として以下の適切な形に表すことができる：
0004400894.tif 000009
ステップ６で最終的な線形方程式系が組み立てられる。このステップには二つの部分がある。その第一は、各四面体要素に対して要素の剛度（stiffness）を組み立てることであり、その第二は束縛条件処理テクニックを選択して適用することである。要素の剛度の計算および組立は標準的有限要素法の手順に従う。方程式（６）の形の束縛条件を使うと、束縛条件処理方法が関わる。線形束縛条件退こうかを導入するにはラグランジの未定乗数法を使うことができるが他の任意の方法、例えばペナルティ法または変換法も同様に効果的に使うことができる。
ラグランジ未定乗数法を使って、我々は当該システムの各束縛条件に対して最終方程式系の中に新しい変数を導入する。このとき、束縛条件のないシステムに対する静的釣り合い方程式に修正する。それは次式で与えられる。
Ｋｕ＝ｒ  （18）
方程式（１８）で、Ｋはシステムの剛度行列であり、個々の要素剛度の寄与から組み立てられる。ｕはベクトルの変位であり、本問題の解である。ｒは外部から加えられた負荷を示すベクトルである。本発明のこの実施例では外部からの負荷はない。したがってｒはゼロのみを含むベクトルである。方程式（１８）はいかなる束縛条件の効果も含んでいないが、ラグランジ未定乗数法を使ってそれを含めることができ、その結果次の方程式系が得られる：
0004400894.tif 000010
方程式（１９）で、Ｋ，Ｃ，ｕ、ｒ、およびｑは前に定義した量である。ｕLは本方法を使って付加的に導入されるラグランジ未定乗数の変数を含むベクトルである。行列ＣTはＣの転置行列である。０はゼロ要素から成る行列である。方程式（１９）の解はＣおよびｑによって記述される線形束縛条件を満たす変位ｕを与える。これらの束縛条件は非線形束縛条件を線形化したものでよいこと、また非線形束縛条件箱の時点では解により満たされないかも知れないことに注目されたい。
ラグランジ未定乗数法の変わりにペナルティ法あるいは変換法を使ったなら、線形方程式系は方程式（１９）とは異なったものとなるであろう。しかし方程式の線形系の解は変位ベクトルｕに対して類似の値を与える。
ステップ７で、方程式（１０）が解かれ、ｕおよびｕLが得られる。大きな線形方程式系を解くための多数の方法がある。この好適な実施例ではプロフィル格納方式（profile storage scheme）の対称ソルバー（symmetric solver）を使用する。使用できる別のタイプのソルバーは本質的に同じ結果を与えるが、計算速度およびメモリの使用を最適化する方法が異なる。
この実施例では直接ソルバー（direct solver）を使用するが、逐次粗間ソルバー（iterative sparse solver）も同様に使用することができる。方程式（１９）に示す方程式系は粗間法に基づくので、適当なソルバーを選択することにより、顕著な速度の改善を達成できる。しかしながら、ワーピングプロセスの総体的結果はこの選択に影響されない。
ステップ８で、現在の変位が所望のレベルの精度を満たすか否かを検査する。もしも現在変形されている形状がステップ１で集めた束縛条件のいずれかに含まれるオフセットあるいは角度に違反するなら、新しい変形形状から出発してステップ５ないし７を反復しなければならない。形状の線形化は、各反復で変化するかも知れない。というのは、体積の幾何学的形状は累積的変形にしたがって変化するからである。すべての束縛条件が許容範囲内で満たされると、ステップ９に進むことができる。
ステップ９はステップ７で計算したノード変形ｕを使って体積内における、注目している任意のポイントの変形を決定する。注目している各ポイント毎に、我々は表面上あるいは内部のポイントを含む有限要素を見つけなければならない。もしもポイントがある要素の内部にあるなら、そのような要素がただ一つ存在する。もしもそのポイントがある要素の表面上あるいは縁上にあるなら、その点を含む可能性のある要素がいくつか存在する。これらの要素のどれを選択しても注目するポイントが移動するか否かを決定することができる。もしもその点が要素間で共有されているなら、ポイントの変位を発見するためにそれらのいずれの要素を使用しても同じ結果が得られる。一旦ある要素が同定されると、その要素の頂点の変位がｕから抽出され、その変位を使って内挿法により内部の任意の点の変位を決定する。本実施例ではこの手順として線形な有限要素形状関数（finite element shape functions）を使用しており、有限要素解析において普通に用いられるオペレーションである。
自動セグメンテーション
以下に述べる新規な自動セグメンテーションプロセスは前述した手操作モデリング プロセスに類似した逐次オペレーションを含む。あるポイント群（cloud of points）がセグメント化され、幾何学的プリミティブオブジェクトがポイント群にフィットされ、次いで拡張および挿入のようなモデリング オペレーションを使ってモデルを完成させる。この新規なプロセスにおいて、プロセス全体に対すると同様、これらの各ステップが自動化される。
普通に用いられているマシーンビジョン技術（machine vision technique）の修正版を使ってスキャンポイントを、プリミティブの幾何学的形状を表すグループに自動的に区分け（partition）することが可能である。グリッド化したスキャン フィールドが２次元ポイント配列の形で格納される。この配列は通常のビットマップに多くの点で類似している。スキャンフィールドには単なるカラー情報以上の情報が各ロケーションに格納されている点で、スキャンフィールドはビットマップとは異なる。各ポイントは空間におけるそのロケーションを格納しており、それからスキャナまでの距離および戻りレーザーパルスの強度を計算することができる。ポイントに格納されている３次元位置から計算される深度情報はここに述べる自動セグメンテーションアルゴリズムにとって極めて重要である。もっとも、通常はその他にもイメージスキャンオペレーションに、フィルタリング、格付け（rating）、識閾値処理（thresholding）および細線化（thinning）のような多くのオペレーションが使用されている。
自動セグメンテーションプロセスの最初のステージはグリッド内の各点における表面の法線を推定することである。これは多くのいろいろの技術を使用して達成することができる。本ソフトウェア使用している現実施例は当該ポイントを囲む３ｘ３グリッドにおいてそのポイントの最近傍ポイントに一つの平面をフィットする。こうして得られた平面の法線が中心点におけるハウジング線ととして採用される。グリッド内の各ポイントは同じように計算された法線を有する。ただし縁およびコーナーポイントは法線の計算では欠落した近傍ポイントを無視する。各点に格納された法線は３次元ベクトルであり、単位長さをもつように規格化される。
第二のステージで、グリッド上に標準的縁検出フィルタを被せることにより二つの等級付けイメージが生成される。第一格付けイメージはグリッドポイントの深さに縁検出フィルターを重ねることにより、閉じた縁で起きるような深度不連続点を同定するために生成される。種々の縁検出フィルターを使用することができるが、カラーまたは強度に演算を施すよりも、本フィルターは各グリッドポイントに格納されている深度情報に演算を行う。
第二格付けイメージは、法線に縁検出フィルターを被せることにより生成される。法線格付けイメージは実際には法線のｘ、ｙ、およびｚ座標とのコンボリューションから生成される３個のサブイメージである。その結果得られる３個の値は２乗の和の平方根を取ることにより組み合わせて一ポイント当たりのスカラー値を与える。第二格付けイメージは壁と床の間の縁で起きるような法線の不連続性の同定に使用される。再び述べるが、種々の縁検出フィルターを使用することができるが、使用される値はカラーあるいは強度ではなく普通の係数である。
一旦二つの格付けイメージが生成した後、それらを２進イメージに変換しなければならない。帰納的識閾値処理のような従来のマシーンビジョンアルゴリズムを使用してこのタスクを達成することができる。当該深度および法線格付けイメージ内の各ポイントは、深度および法線の勾配の推定値を含む。再帰的識閾値処理を使用して最高の勾配をもつ領域を孤立化することができる。その結果得られる２進イメージで、最高勾配領域にあるポイントが縁ポイントとしてマークされ、残りのポイントは縁でないポイントとしてマークされる。
上記再帰的しきい値処理により生成された二つの２進イメージのいずれかあるいは両方の中の縁ポイントとしてある点がマークされているなら、そのポイントを縁ポイントとしてマークすることにより、最終的な２進イメージが生成される。他のすべてのポイントが縁でないポイントとしてマークされる。このイメージは異なる表面上のポイントグループ間の境界を画するすべての縁ポイントを含む。
ポイント区分けプロセスの最後のステップは、接続されたコンポーネントアルゴリズムを使ってポイントを縁で区分けされたグループに集めることである。ポイントは、もしもそれらがグリッドにおいて鉛直にまたは水平に隣接するときのみ、接続されているとみなされる。対角的隣接は使用しない。非常に簡単なアルゴリズムを使ってイメージ内の、縁でないポイントからなる固有のグループを同定することができる。接続されているポイントからなる各グループは次いで初期ポイントセットから切断され、新しいポイントグループを形成する。このアルゴリズムの結果として、各々が単一の表面を表す複数のポイントグループにポイントセットをグループ化される。次節で述べるように新しい各ポイントグループは幾何学的プリミティブによりフィットすることができる。
一旦スキャンされたポイント群が異なる表面上に在るスキャンポイントグループに区分けされると、次のステップは所望の表面にオブジェクトをフィットすることである。このタスクを達成するのに種々の方法を使用することができる。本ソフトウェアの現実施例はオブジェクトフィッティングを二通りの方法で行うことができる。第一の方法は一連のオブジェクトを各ポイントグループにフィットし、測定したポイント間で、およびフィットしたオブジェクト表面間で、距離エラーが最小となるオブジェクトを選択する。第二の方法は前述した２次曲面フィットおよびその結果得られる主曲率を使用して、平面、円筒または球を特定のポイントグループにフィットすべきか否かを決定する。これらのアプローチ以外の、漸進遂行法（progressibe commitment）のような修正した方法もまた使用することができる。その場合、オブジェクトは、最も簡単なものから最も複雑なものまでを順次フィットされ、プロセスは特定のフィットに関わるエラーが許容レベルまで低下したときに停止する。
自動セグメンテーションプロセスの最後のステップは、スキャンポイント境界で停止せずに、可能な限り、完全なオブジェクトの交わりを生成すべくプリミティブオブジェクトを拡張する。元のデータのグリッド性と上述したポイント区分けアルゴリズムから得られる縁情報とを使って、オブジェクトを拡張し、交差させることができる。表面交差（これは上述した表面法線の不連続性である）から得られるすべての縁に対して、我々は縁のいずれの側にもオブジェクトを拡張して交差を形成することができる。
モデルの注釈
語義豊かな３Ｄモデルを構成するため、上記幾何学的モデルの個別のパーツに、材料参照番号あるいはパーツ番号のような付加的な、おそらくは非幾何学的な、情報で注釈を付けることができる。この情報はオブジェクト属性を表示する特別のウインドウを介して手操作で入力することができる。
ユーザーは当該幾何学的モデルの個別パーツをクリックすることにより他のウインドウからそのような追加情報を回復することができる。同様に、ユーザーはいくつかの選択条件を満足するすべてのパーツをハイライト化することをリクエストすることができる。
自動モデルの注釈にも新規な方法が使用できる。この方法は、任意に与えられたオブジェクトに関する関連情報を含むバーコードをスキャンするのにＦＤＶ１０を使用する。標準的バーコード読み取り・復号技術を使用して、そのバーコードでスキャンされるオブジェクトに関連する光学的情報が有用なデジタル情報に変換される。捕捉された情報は上述したように手操作で表示することができる。
幾何学的形態の表示および問い合わせ
本モデルは、モデル作成を委ねられたデータウインドウ１６１０を介して行われるアクセスを含めて種々の方法でアクセスできる。モデルのビューを操作するのに多数の標準的グラフィックインターフェース技術を使用することができる。好適な一実施例では、水晶玉インターフェースが使用される。この指示デバイスを使ってビューの任意のオブジェクトが選択できる。次いで、オブジェクトに追加された他の注釈に加えてその幾何学的属性が表示される。データセットの横断（データセットにまたがるデータの取り扱い）はいろいろのレイヤーにオブジェクトを置き、次に注目するレイヤーのみを表示することにより、簡単化することができる。このようにして作成したオブジェクトの数を減らすことはプログラムの対話的性能を増大する。個々のオブジェクトの幾何学的プロパティについて問合せをすることに加えて、オブジェクト間の距離および角度を測定するためのいくつかの標準的ツールを採用することができる。等高線図（contour）の発生、２Ｄ断面化（section cutting）、自動寸法記入（dimensioning）のようなオペレーションのために、さらに標準的な技術を使用することができる。
その結果得られるモデルはさらに編集および設計を行うための多数のＣＡＤプログラム中から選んだ任意のものにエキスポート（送り出し）することができる。好適な実施例では、ＣＧＰ４０がいくつかの市販のＣＡＤプログラムと互換性のあるフォーマットのＣＡＤファイルを生成し、次に発生させたデータファイルをそのＣＡＤプログラムにロードさせ、ＣＡＤプログラムを起動することができる。
以下の文書は本仕様の重要な部分である。
モジュラー分解
提案されているＣＧＰ仕様の要約
Cyraxソフトウェアの仕様
製品概要
ビュースライド コレクション
序論および概論
モジュールの分解
ユーザー インターフェース モジュール
「ユーザーインタフェースモジュール」は、ユーザーがシステムの機能と直接に交わす対話を処理するコードをすべて包含している。このソフトウエアの機能は、当該機能に対するユーザー インタフェースとは別に遂行される。これによって、ＡＰＩ（アプリケーションインターフェース）遂行の可能性が拡がるとともに、確実にユーザーインタフェースの特定の型式にアプリケーションが拘束されなくなる。
このモジュールは以下のモジュールを含む：
-ウィンドウ管理
-メニュー、ツールバー、およびシーンビューア（scene viewer）の生成
-イベント派遣
-ユーザーインタフェースの外観（カラー、アイコンの配置等）
「ユーザーインタフェースモジュール」は、オブジェクトデータベースのディスプレイを管理する「モデルビューモジュール」（model viewing module）と密接に対話する。この「ユーザーインタフェースモジュール」は、シーングラフ（scene graphs）の表示、選択（picking）および管理を行わない。この機能は「モデルビューモジュール」内に包含される。
このモジュールはまた、「有限状態マシン（Finite State Machine）」モジュールに大きく依存する。有限状態マシンモジュールは、ユーザーインタフェースが変化したときの状態とフィードバックとを制御すると共に、任意に特定した時刻においてシステムのいずれの機能がユーザーに利用可能であるかを決定するための基本的ツールとを提供する。
モデルビューモジュール
「モデルビューモジュール」は、オブジェクトデータベースの表示のみならずオブジェクトシーンへのフィードバックおよび補助情報の表示に関与するすべての機能を包含している。ほとんどの基本的機能はインベンター（Inventor、考案者）により提供されるが、この強固なモジュールを包含していることによってインベンターへの依存性を防止している。
空間データベース（spatial database）を使って高速にオブジェクトを選択する（ピッキング）機能を遂行するため、シーン内のオブジェクトのピッキングは別のモジュールによって取り扱うべきである。（その別のモジュールは、これを簡略に遂行する実施例ではこのモジュールのピッキング機能を呼出す）。
このモジュールは次のような項目から成る：
-幾何学的オブジェクトからの視覚的オブジェクトノード（visual object node）構築
-シーンレンダリング
-レンダリングオプションの設定（照明、シェーディング、テクスチャ等）
-視点の変更
-ハイライト／フィードバック オペレーション
「モデルビューモジュール」は「ユーザーインタフェースモジュール」と密接な対話を行い、対話可能なビュー（景観）を与える。インベンタービューワによって与えられる対話的ビュー機能があるため、対話的ビュー操作（通常は「ユーザーインタフェースモジュール」の一部をなす部分）をシーン管理機能から分離することは困難であり、また好ましくない。「ユーザーインタフェースモジュール」は「モデルビューモジュール」が与える機能に依存するが、それはツールや選択したオブジェクト等に対するオペランドを指示するためのシーンへのフィードバックを提供するためである。
「モデルビューモジュール」は、それが含んでいるデータベースオブジェクトおよび幾何学的オブジェクトに強く結合されている。幾何学的オブジェクトはそのデータベース内に別に格納される。当該シーンにとって、当該オブジェクトデータベースがユーザーの観ているシーンと確実に一貫性を保つよう、注意を払うことが必要である。この分離によって、データベースの部分集合のビュー（景観）、オブジェクトをハイライト化してツールへのフィードバックを与えること、およびデータベース内での空間的階層構造を使用することが直感的にできるようになる。
有限状態マシーンモジュール
「有限状態マシーン（Finite State Machine、FSM）」モジュールは、“状態の集合、それらの状態で行われるアクション、許される状態間の遷移、イベントと遷移との間の対応を特定するための拡張システム”という概念を含んでいる。ユーザーインターフェースモジュールは、任意時刻になされる選択に対していずれのツールおよびオブジェクトが利用可能であるかを決定するため、ＦＳＭを頻繁に使用する。
有限状態のマシーンモジュールは次のような事項から成る：
-イベントの取り扱い。
-アクセス不能のツールをマークする（灰色にする）こと。
-エラーがあったときは適切な「状態」を設定すること。
-ツール遂行機能を呼び出すこと。
-オペランドの指示を処理すること。
「有限状態マシーンモジュール」は難しい。というのは、ユーザーインタフェースの状態を、それに拡張性があるにも拘わらず正確に特定する必要があるからである。したがって、一つのツールが生成されたときには存在しなくなっているかも知れないもう一つのツールのメニュー事項は、前記一つのツールが選択されたときにグレースケール化しなければならないことがある。
データベースモジュール
データベースモジュールは、当該アプリケーションによって生成されたデータの格納と読出しを含む。データベースモジュールは、データがディスク上に格納されていようとメモリに格納されていようと、そのデータへの迅速なアクセスを提供すべきである。このモジュールは、複数のクライアントが同じデータベース上で動作しうるクライアント／サーバーモジュールを動作させることができるように設計すべきである。
何らかの形態のキャッシュが必要であるのみならず（データベースに対しディスクサポートがあるものと仮定して）、あるオペレーションで使用されるオブジェクトを検査する方式が必要であるように思われる。このデータベースは、一層能率的なオペレーションを実現するために空間的階層構造（spatial hierarchy）をもたせることができる一般的構造を提供するべきである。構造的階層構造および具体化（instancing）機能も用意すべきである。
このデータベースモジュールは次のような事項から成る：
-データベースへの幾何学的オブジェクトおよびイメージの追加。
-データベースからの幾何学的オブジェクトおよびイメージの取出し。
-ディスクへの格納とキャッシュ動作。
-編集オペレーションのための、データベースオブジェクトの出し入れの検査。
データベースモジュールは、システムのほとんどの部分と密接に連結される。幾何学的オブジェクトにオペレーションを行うモジュールはすべて、このデータベースモジュールをインターフェースとする。
入力／出力（Ｉ／Ｏ）モジュール
Ｉ／Ｏモジュールは、幾何学的データベースのランタイム状態から非作動状態への遷移、およびその逆の遷移を包含する。Ｉ／Ｏモジュールはまた、幾何学的データベースをいろいろのサードパーティー製ＣＡＤフォーマット（例えばＤＸＦなど）へ翻訳すると共に、そのようなフォーマットから内部的幾何学的データベースを構築する。
このＩ／Ｏモジュールは次のような事項から成る：
-「データベースの保存／ロード...」
-「...という名称で保存する」
-「...からのインポート（取り込み）」
Ｉ／Ｏモジュールは、データベースモジュールおよび幾何学的オブジェクトモジュールと密接に連結される。
幾何学的オブジェクトモジュール
幾何学的オブジェクトモジュールは、システムによってサポートされた様々な幾何学的プリミティブ（primitives、基本的要素）を包含する。このモジュールは各プリミティブに対するサブモジュールを含み、ツールモジュール内の様々なツールを介してアクセス可能な基本的機能を提供する。これらのプリミティブは、オブジェクトのかなり小さな有限の集合となるように意図されている。加えて、プリミティブオブジェクトの集合である一つのグループオブジェクトを用意する。一つのプリミティブを、対象とする各オブジェクト（パイピングエルボー、ラダー等）ごとに一つのプリミティブを用意することは望ましくない。
幾何学的オブジェクトモジュールは、幾何学的オブジェクトを継続的に格納するとともにオブジェクト間の関係を与えるデータベースモジュールと密接な対話をする。（「依存モジュール」の項を参照されたい。）幾何学的オブジェクトモジュールはまた「モデルビューモジュール」とも密接に対話する。モデルビューモジュールは幾何学的オブジェクトを格納するとともに視覚表現を並列的に表示する。幾何学的オブジェクトに対するシステムの機能のほとんどはツールモジュール内のツールに包含され、その結果、たとえば二つの平面から一つの線を発生させるためのコンストラクタ（constructor）をラインオブジェクトに追加する代わりに、「二つの平面からラインを作る」ツールが二つの平面を与えられるとラインコンストラクタの呼出しを行う。これは、既存のプリミティブオブジェクトを変更する代わりに新しいツールを追加することによって拡張性をサポートする形式のモデルとなっている。
幾何学的オブジェクトモジュールは次のような事項から成る：
-ファセット（facet）、ポイント（point）、エッジ（edge）、ライン（line）、およびシリンダー（cylinder）構造体。
-オブジェクトを表示するための「モデルビューモジュール」の呼び出し。
-オブジェクトに加える位置および方向、色等の変更。
-領域指定ボックス（bounding box）のようなオブジェクトの幾何学的形状（geometry）についてのクエリー（query、問合せ）。
依存モジュール（Dependency Module）
依存モジュールは、幾何学的データベースの発生とその履歴を扱う。オブジェクトは他のオブジェクトから発生する。システムはこの発生プロセスを記録するので、ある特定のデータの祖先に変更または追加が行われると、自動的に発生プロセスを反復できる。
このモジュールは、データベースモジュールと密接に対話し、そのデータをデータベース内に格納する。上記依存情報は幾何学的モジュールの一部であり、継続的に格納されなければならない。この依存情報を確実に包含することが望ましい。そうすれば幾何学的プリミティブが自ら自分の系図に関する情報を維持する必要はまったくなくなる。
依存モジュールは次のような事項から成る：
-幾何学的オブジェクトを生成するのに必要なオペレーションおよびオペランドの記録。
-変更を受けたオブジェクトの子孫すべての再生
アンドゥ モジュール
アンドゥ モジュール（Undo Module、オペレーションの結果を元に戻すモジュール）は、幾何学的データベースを使ったユーザーのランタイム履歴を包含する。アンドゥモジュールは、ユーザーが実行したオペレーションを逆方向に元に戻すのに必要である一連のアクションを記録する。ツールモジュール内の各アンドゥ可能なツールは、これを呼び出すと、実行時に当該ツールのアクションを逆にするオペランドを与える。
アンドゥモジュールは次の機能を与える：
-「アンドゥ」を呼び出すこと、およびアンドゥオペランドを格納すること。
-リクエストがあったときにこれラン「アンドゥ」呼び出しを適用し、「再実行」スタックを生成すること。
アンドゥ可能な各ツールがアンドゥモジュールへの適切な呼出しを提供しなければならないので、アンドゥモジュールはツールモジュールと密接に対話する。アンドゥモジュールは、.データベースモジュールと密接に対話する際、そのデータをデータベースモジュール内に格納しない。なぜならば、アンドゥモジュールは幾何学的モデルに必要とされる情報を記録するものではなく、ユーザーとのセッションを記録するものだからである。
ツールマネージャモジュール
「ツールマネージャー」モジュールは、ユーザーが利用しうる拡張可能な機能を与える手段を包含する。このツールモジュールは、システムに拡張性をもたせる点で重要な役割を果たすものである。システムに新しい機能を追加することは新しいツールを追加することと同じである。
いろいろのツールは、呼び出しを行うデフォルト方法、引数の選択方法、ユーザーインタフェースの拡張、ヘルプシステムの拡張、およびツール機能の遂行手段を与えることが望ましい。ツール類は、ユーザーへの適切なフィードバックを与えることを「ユーザーインタフェースモジュール」および「モデルビューモジュール」に指示しなければならない。また、ツールはユーザーが行った放棄手続きや内部エラーを上手に処理しなければならない。（「エラーモジュール」の項を参照されたい。）
「ツールマネージャー」モジュールは次のような事項から成る：
-アプリケーションにツールを登録すること。
-ユーザーインタフェースによってリクエストされたツールを呼び出すこと。
-どのようにツールが呼び出されるかを再マッピングすること。
「ツールマネージャー」モジュールは、「ユーザーインタフェースモジュール」および「有限状態マシーンモジュール」と密接に対話するが、「ツールキットモジュール」とも同様に対話する。「ツールキットモジュール」は「ツールマネージャー」が管理する実際のツールを提供する。「有限状態マシーンモジュール」は、「ユーザーインタフェースモジュール」がツールとしてどの様に振る舞うべきかを、「ツールマネージャー」が「ユーザーインタフェースモジュール」に指示することを可能にする。
ツールキットモジュール
「ツールキットモジュール」は、拡張可能なツールオブジェクトの集合であって、その各々を「ツールマネージャーモジュール」に与えて管理を受けさせることができる。ツール類は、ユーザーへに提供されるシステムの機能を包含する。各ツールは、呼び出しを行うデフォルト方法、引数の選択方法、与えられられたツールをユーザーに特化するためのフィードバックを可能にするユーザーインターフェースの機能拡張（ＦＳＭモジュールを介して提供される）、ヘルプシステムの機能拡張、および当該ツールの機能の遂行手段（データベースおよび幾何学的オブジェクトモジュールの呼出し、幾何学的形状の生成、破壊および編集を含む）を提供する。
ツールキットは、設計上、他の箇所には述べられていないすべてのシステム機能から成る。
エラーモジュール
エラーモジュールは、システムの一般的なエラー処理機構を包含する。このモジュールは、システム全体で使われるもので、エラーハンドラーの提供、（「ユーザーインタフェースモジュール」への呼出しを介して）ユーザーに対するエラーの報告、コード内への主張（assertions）の追加、上記主張が拒否されたときのエラー信号の発生を可能にする。このモジュールのコーディングパラダイム（coding paradigm）には何らかの基本的構造体を追加する必要があるかもしれない。
エラーモジュールは次のような事項から成る：
-エラーハンドラー
-主張
-エラー信号の発生
-エラー報告
エラーモジュールはシステムの全モジュールと対話しなければならないので、プログラマーに対してできるだけ邪魔にならない最少限の範囲で存在するようにこれを遂行しなければならない。
ヘルプモジュール
ヘルプモジュールは拡張可能な、文脈を判断しうる（文脈感受性の）オンラインマニュアルを包含する。ヘルプシステムはヘルプ記事呼出し型式をもつ一般的マニュアルと、略式の文意を示すヘルプ情報（たとえば、「どうすればいいの?」）との両方を与える。各ツールは、ヘルプシステムを拡張して当該有限状態マシーン内の機能にリンクすることにより、文脈感受性を実現する。
ヘルプモジュールは次のような事項から成る：
-ヘルプページの表示とナビゲーション
-ヘルプ情報の索引化およびサーチの実行
-画面に表示する対話型ヘルプメッセージ
ヘルプモジュールは、「ユーザーインタフェースモジュール」との対話と同様、「ツールキットモジュール」および「ツールマネージャーモジュール」と密接に対話する。
データ収集モジュール
データ収集モジュールは、物理的ワールド（physical world）からのデータ収集を包含する。スキャナーやカメラのようなデータ収集オブジェクトは、このモジュールに属するオブジェクトである。データ収集モジュールは、この種のハードウェアからシステムにデータを返すためのデータ収集ハードウェアないし機構に対して作用することができるコマンド集を提供する。拡張可能なデータ収集システムの場合、データ収集ハードウェアは、そのハードウェアにパラメーターを設定するための、あるいはそのハードウェアにデータ収集タスクを行わせるための、ユーザーインターフェース拡張機能を提供しなければならないだろう。
データ収集モジュールは次のような事項から成る：
-カメラおよびスキャナーとの通信
-当該デバイスへの命令を発生すると共にデータを受信するためのユーザーインターフェース。
-データベースにデータを追加するためのシステム機能の呼出し
データ収集モジュールは、「データベースモジュール」および「ユーザーインタフェースモジュール」と密接に対話する。
登録モジュール
登録モジュールは、二つの幾何学的データベースを登録し結合するプロセスを包含する。登録モジュールは、二つの幾何学的データベースを選択する方法、データベース間の対応を特定する方法、および二つの別個の幾何学的データベースを併合した幾何学的データベースを構築する方法を含む。
この登録モジュールは、「データベースモジュール」および「ユーザーインタフェースモジュール」と密接に対話する。
レイヤーモジュール
レイヤーモジュールは、幾何学的データベース内の命名されたオブジェクトの組と、その組のオブジェクトの表示およびオブジェクトに作用するオペレーションを可能にするツール集とを包含する。現在、このモジュールの内容は明確に確定していない。
レイヤーモジュールは「データベースモジュール」および「モデルビューモジュール」と密接に対話できることが望ましい。
抽象データ型モジュール
抽象データ型（Abstract data types）モジュールはアプリケーション特有のデータ型から分離できる。汎用の抽象データ型（general purpose abstract data types）を集めたものを包含する。
抽象データ型モジュールは次のような事項から成る：
-スタック
-キュー（Queues）
-単一リンクおよび二重リンクしたもののリスト
-ハッシュ表（Hash table）
-ヒープ（Heap）
抽象データ型モジュールは他のほとんどのモジュールで使われよう。
ドラフト
ＣＧＰ仕様（案）の概要
スマートエレメントの能力
1．幾何学的形状は初めはポイント群（cloud of points）として描かれる；その後でメッシュ（網目）として、ライブラリーまたはカタログからコピーした詳細なモデルとして、あるいは対話を通して生成された簡単なモデルとして、描かれる。
２．この幾何学的形状は色、強度、テクスチャ（風合い）を使って、または個々の当該エェメント表面に追加されるビデオ情報を使って、強調することができる。
３．各エレメントには一つ以上の表示（representation）があり得る。まず、いろいろのレベルの簡略化あるいは抽象化した幾何学的プロキシ（ｐｒｏｘｉｅｓ）がいくつかあり得る。これらの簡略化あるいは抽象化はレンダリングをより効率よく行うとともに生成されるビューが錯綜しないようにするために選択できる。さらに、床配置図、立面図、あるいは配管図面のような略線図的レンダリングを行うためのシンボリック表示（symbolic representation、象徴的記号を用いた表示）がある。ある種のシミュレーションに適したスマートモデルもあり得る。
4．エレメントには分類目的のためのタグまたは「レイヤー」情報を与えることができる。工場や精製所のモデルを構築するときは、ユーザーは以前に定義した階層メニューからタグを選ぶことができる。例えば、第一レベルで選択するものとしては次のようなものがあろう：
★支持構造体--メンテナンス通路--パイプシステム--その他のもの。「パイプシステム」の範疇の第二レベルのタブとして、次のようなものがあろう。
★水蒸気--水--ガス--オイル--アルコール。
5．テキストウィンドウから各エレメントに任意のテキスト情報を追加することができる。その中にモデルの構築に関するカタログやノートから得られる要約情報を含めることができる。
6．エレメントは外部データベースに収容されている他の情報、たとえばバルブあるいはポンプの型、その等級、製造者、メンテナンススケジュールなどの情報、にリンクすることができる。外部データベースにあるこの情報はハイパーリンクデータベースの形をもつかもしれない。
この情報は、当該データベースを観るビューアーの内容に合わせて観たりブラウズすることができる。
7．ある種の明確な接続情報をもっていることが有益かもしれない。パイプどうしあるいは電気配線どうしの論理的な接続は、ＣＧＰの当初の設計条項には存在しないかもしれず、また後に、内在するいくつかのエレメントの幾何学的形状の近似的一致（near-coincidences）から抽出できるかもしれないが、そのような近接情報は最初に発見されたときに保存しておくと有利である。例えば、接続したメッシュをポンプ、パイプおよびバルブなどのいくつかのエレメントに分解したとき、当初のメッシュの切断線は、これらの切断線を共有する部品間の明確な接触部情報を確立するのに使用することができよう。この情報は後で、接続したパイプエレメントの配置の発見、抽出を非常に効率化するであろう。
システム全体の機能性
管理ツール
１．「OS」レベルでみると、本システムはスキャン管理およびビデオ情報の収集を制御する能力を提供する。スキャンする必要があるエリアを指示するもっと選択性に富んだ方法を与えるユーザーインタフェースは後で与えることができよう。その一つのオプションは「太いブラシ（thick-brush）」パラダイムで、この場合、ユーザーがタイルモデルに含めるべき特徴の概略を与える。次いで本システムが出動し、それに対応する特徴をワールド中に発見し、選択されているエッヂ、パイプあるいはＩビームに対する適当なスキャン領域を自動的に選択する。
2．やはりＯＳレベルで、本システムはいくつかのウィンドウを同時に開くことができる効率的マルチタスク能力を提供する。その結果、スキャンプロセスあるいはモデリングオペレーションを実行しながら、一つ以上のカタログまたはデータベースの内容を観ることができるようになる。
3．スキャンしたポイントの集合および任意のビデオ映像の集合に対するデータ管理手段（data management facilities）を設けるとともに、これらの集合にラベルを付けてアーカイブ化するためのファイル化手段を与える。
モデリングツール
４．「純粋な幾何学的形状」のレベルでは、基本的ツールがスキャンしたポイントのサブセット（小集合）の選択を可能にし、手操作による分割（manual segmentation）を可能にする。スキャンしたポイントにメッシュを当てはめる（fit）ことができ、水平線（すなわち深度座標に突然の劇的変化が見られるところ）となる可能性のある位置でメッシュを発見法的に分離することができる。必要であればこれらのメッシュは簡単化することができる。これらのメッシュのうちの選択した部分に、あるいはもとのスキャンポイントのサブセットに、平面多角形をフィットできる。サーベイポイント（survey points、調査点）を設定することができる；それらのポイント間にラインを引くことができる；多角形間にあるいはメッシュの諸部分間に、破断線（break-line）を設定することができる。
5．「離散的エレメント」のレベルでは、一体的な一塊りにして「エレメント」と命名し後に更なる情報を付加することができるような純粋な幾何学的パーツ（部品）を、諸ツールによって収集することができる。メッシュのいくつかのセクション（部分）は、カタログやライブラリーから得られるモデルによって、あるいは象徴的記号を用いた幾何学的プロキシ（symbolic geometrical proxy）で置換することができよう。そのようなモデルの裏側を追加する工夫をしなければならないかも知れない。はみ出したポイントはこれを除去し、モデルを全体的にすっきりさせ、いくつかの一貫性テストにかけなければならないかもしれない。
6．これらのエレメントには色、強度、風合い、風合いマップ情報を与えることができる。これらのオブジェクトに他の属性を割り当てることができ、また種々のリンクを設定することができる。
７．いろいろのオブジェクトのいろいろの集合を、対話を通して選択し、発見法的にグループ化することができる。
8．ビューの統合はいろいろのカメラ位置から得られたビュー間で行うことができる：
・ビュー対ごとの整合（Pairwise view alignment）。これは、「登録」を利用する本システムの特徴、すなわち二つのメッシュの重畳部分間の相互距離を最小化することにより重畳部分の登録を試みる最適化プロセス、に基づいている。
・データ併合。これは離散的エレメントの位置パラメータの重み付き平均をとることにより、あるいは二つの重畳したメッシュセクションを繋ぎ合わせる（zippering）ことにより行うデータ併合である。
・グローバル閉じ込み（global closure）の設定。これは前に設定した景観対の登録に閉じ込みエラー（closure error）を小ぎれいに分布させることにより行う。これは注意深い検討をしなければならない困難な問題である。
視覚化
９．データ収集期間あるいはモデリングプロセス期間における任意時刻に、“水晶占いの玉／手中に収めたモデルで先を見通す”パラダイム（“crystal-ball／model-in-hand”paradigm）を使って、または“通行”（“walk-through”）モードを使って、既存の幾何学的データを対話的に観ることができる。後刻、我々はこれに適当な空間的データ構造および管理機構を追加し、当該モデルが非常に大きくても（１００万個以上の多角形でも）対話できる速さで通行できるものにする。
10．次のようないろいろのデータレンダリングモードを与える：
ポイント群--ワイヤフレーム--隠れたラインを削除した後の、陰影はないが輪郭がある可視面の表示--一様な陰影面（flat-shaded facets）--グーロード-平滑-陰影付きメッシュ（Gouraud-smooth-shaded-meshes）。
11．床面配置図および立面図のような略線図およびシンボリック表示を用意する。これらの表示には、結果をより効率的かつ効果的なものにするため、種々のコンポーネントに使える２次元プロキシを使用できる。これらの表示は管を中心線で示す表示やスチール構造体を象徴的記号を用いたモーメントフレームグリッド（moment frame grids）などであるかも知れない。また、それらの表示は「管−ＩＳＯ」図面であるかもしれないし、ＭＩＤプロセス図である可能性も高い。
データベースクエリー（データベースへの問合せ）
12．いつでもモデルから幾何学的情報を抽出することができる。切断面を生成することができ、また、二つのポイント間の距離あるいは平面間の角度を抽出することができる。
13．ある特定の方法（例えばダブルクリックすること）で離散的エレメントを選択することにより、それらのエレメントに関する属性情報をデータベースから取って来ることができる。もしもこの情報が大きく、ハイパーリンクされた文書フォーマットの形で組織化されているなら、これに対応するデータベースブラウザが開かれ、対応するデータベースブラウザが開かれ、このオブジェトに対するルートページが提示される。
他のシステムとのデータ交換
14．ＣＹＲＡＸ ＣＧＰ内で生成されたデータは、「.crx」ファイルとしてアスキーテキストフォーマットでエキスポート（送り出し）することができる。.crxフォーマットは、ＣＹＲＡＸモデル内に完備してあるすべての情報を符号化することができるべきである。これは、訓練の行き届いたユーザーが特別の解析（例えばある特定の型のエレメントをすべて数えること）を行うためにＣＹＲＡＸモデルをサーチすることができる外部的プログラムを作ることを可能し、あるいは他のいかなるデータベースシステムにも頼らずに上記モデルにグローバル修正を施すこと（例えば、ある特定の型のI-ビームをすべて交換すること）ができるようにするべきである。
15．我々は、AutoCADとかMicroStationのようなよく知られた既存のデータベースのためのコンバーターをいくつか提供しよう。かかるコンバータは、これらのデータベース中に.crxデータストリームに含まれる情報を適切に挿入するものである。その逆に、我々はＣＹＲＡＸ ＣＧＰにとって重要な幾何学的情報を抽出し、それを我々自身のモデリング環境中に取り入れるためのコンバータを、いくつか用意しよう。
16．我々は、任意の離散的モデルエレメントに関わるあらゆる追加情報を格納できるような整った完全な製品モデルデータベースをはじめから与えることは計画していない；我々は、自分で作ったデータ格納手段を使用するようなユーザーをＣＹＲＡＸユーザーとして期待している。しかしながら我々は、OSレベルで開かれる別のウィンドウを介して上記のデータベースにアクセスできる手段を提供する。こうすると、これらの外部データベースの中で、モデル部分の幾何学的表示と重要であると思われる当該データベース内の任意の他の事項との間に、ＣＹＲＡＸでないデータ事項間のリンクを直接設定できる。
ユーザーインターフェースパラダイム
17．我々は、MicroStationおよびAutoCADで確立されている対話の様式を（合理的であると思われる範囲で）エミュレートする、すばらしいウィンドウ-ベースのユーザーインタフェースを提供することを計画している。これは、アイコン-パレット、プルダウンメニューおよびキーボードショートカットを使用することを意味する。
18．グラフィック編集の領域では、我々は精度と速度を組み合わせるためのユーザーが親しみやすい「スナップ-ドラッギング」方式を提供する。
19．いくつかのアプリケーションの領域では、我々は行動的発見法（behavioral heuristics）を実践するための「オブジェクト関連づけ（“Object Associations”）」機能を開発する。この機能は、ユーザーが特定の目的を達成するのにユーザーがクリックしなければならないクリック数、あるいは任意のモデリングオペレーションにおいて明示的に制御しなければならない自由度の数を最小限に低減する。我々が期待しているのは、スマートな製品モデルの表示に高い象徴度（symbolic levels）をもたせることは、いかにして複雑な情報を含んだ内容も簡単なものにすることができるかを示す魅力的な課題となる、と言う点である。
0004400894.tif 000011
0004400894.tif 000012
0004400894.tif 000013
0004400894.tif 000014
製品の概観
Ｃｙｒａテクノロジー社のフィールドデジタルビジョン（ＦＤＶ）ユニットは、当該分野における携帯可能で迅速かつ精確なレーザーレンジスキャン技術を提供する。このＦＤＶは標的に向けると、ＦＤＶが３次元カメラのようにレンジのイメージ（以下、レンジイメージという）を生成する。レンジイメージは、イメージの各ピクセルがカラー２次元ポイントでではなくて空間点である点を除けば、デジタル写真イメージと同様である。ＦＤＶは当該オブジェクトから数千個のポイントを集めることによりユーザーがオブジェクトについての３次元データを迅速に収集することを可能にする。
そのようなデータはモデリング、デザイン、およびドキュメンテーションを多重的に行う業務の出発点をなすものである。本コンピューターグラフィック認識（Computer Graphics Perception，ＣＧＰ）ソフトウェアキットは、レンジイメージの集合を３次元インテリジェントモデルに変換するのに必要な機能を提供する。これらのモデルはＦＤＶがレンジイメージを発生する際に調査員（surveyors）が生成でき、あるいはオフィスで集めたデータからＣＡＤオペレーターが生成できる。種々の３次元モデリング従事者の間には広範囲のモデリングタスク、必要な事項、およびパラダイムが使用されているので、ＣＧＰは標準的なＣＡＤツール、設備管理ソフトウェアおよびインテリジェントモデリング環境と容易に統合できる一般的フレームワークをサポートするように設計されている。
ＣＧＰの機能はレンジイメージから出発して完全な注釈付き知的モデルにユーザーを導いてくれる。得られたモデルの構造、詳細、および内容は、ユーザーの完全な制御の下に置かれており、ユーザーはマルチレイヤー構成されたインテリジェント補助ドキュメンテーションモデル（intelligent facility documentation models）に対しその視覚化モデルを１０分間で迅速に生成することができる。利用可能な種々の形態のモデリングによって、視覚化を助けるためにのみ意図された「コンテクスト」構造体からなる低解像度の自動発生圧縮モデル（automatically generated shrink wrap models）と、着目中のきわめて詳細な注釈付きサブモデルとの共存を可能にするための統合を、容易かつ一貫して行うことができる。
フレームワーク
ＣＧＰは、一つのデータベースを中心として構築される（図１）。データベースに格納されているデータは、生のレンジスキャンイメージ、ＦＤＶによって生成されたビデオイメージ、ＣＧＰモデルリングプロセスにより生成された幾何学的エンティティー（entities、対象物）、カタログから取り込んだ幾何学的エンティティーとそれに関連するプロダクト情報、および設備メンテナンス情報のような注釈データを含む多様なソースから得たものである。データベース内のデータはそのデータの内容がそのＣＧＰシステムにとって意味が深いものであるか否かに応じて「内部的」データまたは「外部的」データのいずれかに分類される。幾何学的形状、スキャンポイントおよび幾何学的注釈のような内部的データは、モデリングに対する広範囲なユーザー集団のニーズを満たすのに必要な汎用データとしてＣＧＰが直接に使用する。データベース内に格納されている外部データは、一般的なデータベースクエリー（database queries、データベースへの問合せ）において、または外部アプリケーションに特化したソフトウエアとの関係においてのみ、意味をもつものである。外部データの例は、保守点検した化学工場のポンプが使われたことを示すデータとか、ある特定の部品製造業者とか、あるいは建築上のサブシステムのデザイナーのホームページへのポインターなどがある。内部データは外部データのエレメントを参照することができるが、ＣＧＰはこのデータを理解し、操作し、あるいは提示する手段を全くもっていないので、それを使用するためには外部クエリーまたは外部パッケージに頼らなければならない。この概念のもっと完全な説明は「インテリジェントモデリング」の項に記載する。
0004400894.tif 000015
レンジデータを三次元モデルに変換するプロセスは、通常、現実性取得（reality acquisition）と呼称されるが、これは、図１に示すデータベースの左側に現れる。データベースの右側には二つの型のタスクがあることがわかる。その一つはユーザーコミュニティ（それは唯一人の場合から化学工場の各部である場合までありうる）に対するデータプレゼンテーションに関するもの、もう一つは他のソースとの間の幾何学的データの取り込みと読出しに関するものである。これらのタスクはＦＤＶを使用するために特化されたものではなく、ユーザーは幾何学的形状の作成および操作をしなくてよい。
現実性取得プロセスはスキャニングとモデリングという二つのプロセスに分かれる。ＣＧＰは、ビデオイメージとレンジスキャンデータを収集するために、ＦＤＶスキャナーを操作するのに必要なすべての制御手段を提供する。これらの両方ともデータベースの形でアーカイブ化される。集めるデータの量、データの解像度、およびスキャンすべき精確な領域の制御は、「スキャン制御」ツールを介してユーザーが行える。
所望のモデルの型およびモデリングしているシーンの内容に応じてレンジスキャンデータを幾何学的モデルに発展させるため、3つのツールキットがＣＧＰにより提供される。各ツールキットは特定のモデル型用に最適化されており、したがってモデリングタスクのいろいろの部分に対していろいろのツールキットを使用することが期待される。「ビジュアルマジック」ツールキットは、汎用の複雑なオブジェクトやシーンのモデルを構築するための迅速なメッシュ発生機能を与える。「プレハブラボ（Prefab Lab）」はレンジデータおよびメッシュデータをプレハブ化されたパーツで置換する機構を与える。これらパーツのモデルは外部のカタログから入力され、あるいはＣＧＰを使って生成されるオブジェクトの具体例（instantiations）として与えられる。「構造ショップ（Structure Shop）」は、ポイント、線および面プリミティブとこれらプリミティブに作用するいろいろのユークリッドオペレーションとを与える。ユークリッドオペレーションは建築構造体のような基本的な幾何学的構造体の構築に有用である。
「オブジェクト型（Object Types）」に関する節で詳細に述べるように、三つのツールキット間に機能互換性（interoperability）を与えてあるため、本システムのユーザーは与えられたタスクに対して適切であるように思えるツールキットをどれか選択してから、いろいろのツールキットを用いた結果を統合し、一貫した単一のモデルにすることができる。
「調査（Inquiry）およびプレゼンテーション」システムは、当該データベースに対する視覚的フロントエンドであって、これによってユーザーはデータベース内にある外部データを閲覧、照合、拡大することが可能となる。ユーザーは、生成されたモデルおよびサブシステムをいろいろの点に移動したときの視点から観ると、データベースの諸部分を視覚化したり、あるいは基本的構造を示す線図を生成することができる。メンテナンス計画、サブシステム名、および他のリファレンスの参照などの外部的情報は、ＣＧＰデータベース内のオブジェクトと関連づけることができる。データベースが表現する現実世界のシステムが実在する間、ユーザー集団はこのデータを問合せ（query）、取り出し、更新することができる。
「データ交換」システムは、既存のＣＡＤシステムにＣＧＰを連結することができる。この結合は、様々なＣＡＤフォーマットからのデータ変換ルーチンおよび様々のフォーマットへのデータ変換の形で実現される。ＦＤＶとＣＧＰを使って生成されていない販売者のパーツカタログをシステム中に取り込んで「プレハブラボ」で使用することができる。再設計しなければならないパーツは、ＣＧＰデータベースからAutoCADへ、あるいは再作業しなければならない他のＣＡＤパッケージへ、エキスポートすることができ、次いでＣＧＰデータベース中にインポートし直すことができる。
図1に示す様々なシステムおよびツールキットは、ユーザーの遠近法的視点から観た単一のコヒーレントシステム（coherent system、一貫性のあるシステム体系）に密接に統合される。ユーザーは、視覚的なウィンドウ-アイコン-マウス-アンド-ポインタ環境で作業し、単にいろいろのメニューをプルダウンするか、または、いろいろのツールバーにアクセスすることによって、モジュールからモジュールを渡り歩く。大抵の作業はキーボード入力を必要とせず、多くのＣＡＤシステムで広く使われている神秘的コマンドライン引数の入力を必要としない。その代わりとしてユーザーは、小さな、しかし強力なツールセットから命令を選択することにより、およびこれらの命令を作用させたいオブジェクトをクリックすることにより、幾何学的形状をモデリングする。視覚的対話が本システムのフィールド有用性の鍵になっており、したがってＣＧＰ開発上の焦点である。
本書の概要
本書の残りは、システムについての高度なＣＧＰ仕様をユーザー向け機能ガイドの形にまとめたものである。その記載形式は簡潔ながら十分に説明を尽くしているとはいえ、必要事項の完全な仕様（すなわち性能の詳細、エラーの取り扱い、本書執筆の時点で未だ時期尚早であったその他の詳細の説明）と取り違えてはならない。同様に、ユーザーがオペレーションを行うのに何をするかという表現方法で（例えば、「ユーザーはポイントセットをクリックしてから、当該ポイントの組から面を生成するためには平面ツールをクリックする」というように）多くの機能を記述するが、これがある特定のユーザーインターフェースの仕様であると勘違いしてはならない。むしろここで行う説明は、ある種のユーザーインタフェースを通して利用可能な一つのオペレーション（上の場合は“ポイントセットから面へ”というオペレーション）を明快に述べる簡単な一方法であるに過ぎない。ユーザーが利用可能な機能にアクセスする最良の方法を決定するよりも先に、ユーザー層の調査、ユーザー-インタフェースのプロトタイプ化、および究極的にはユーザーインタフェース仕様をどうするかを決定することになろう。
本書は、図1のシステムフレームワークに基づく複数の節に分節する。各サブシステムおよびツールキットは、それが与える機能およびそれが受け取りもしくは生成するデータ型を通して記述する。初代のシステムの機能範囲を超える機能拡張性をどこに追加するかは本書の至るところで示す。これらの説明は、初代のシステムの構造を明確化し、初代システムの中に構築しなければならない拡張可能性を理解するためのものであり、次の3年間に開発される完全なシステムの未来像を示すものである。
スキャン制御
ＦＤＶとの対話はＣＧＰスキャン制御機能を使って行われる。ＦＤＶは、ビデオデータおよびレンジデータ（range data）の両方を捕捉することができ、捕捉したデータをＣＧＰに提示することができる。ＣＧＰはスキャンすべきものの位置および解像度に関する情報をＦＤＶに与える責任がある。ＦＤＶは、ビデオに基礎をおく新規なターゲティング（targetting、目標物の捕捉）の方法を使用するが、これは大きな距離にある小さなオブジェクトを精確に捕捉することができる方法である。ＣＧＰはこの方法へのアクセスを提供する。「スキャン制御」機構は視覚的な対話機能とポイント-アンド-クリックオペレーションパラダイムとを強力にサポートする、これは全機能を装備した完全なシステム実用モデルの下地をなすものである。
ビデオキャプチャー
ビデオキャプチャーツールボタンを押すことによってＦＤＶの標準ビデオカメラから得られるシーンのＲＧＢイメージがＣＧＰ中に転送される。ユーザーのリクエストによってビデオイメージを命名し、注釈を付け、データベース内に格納することができる。ビデオイメージはこれを一組のレンジスキャンに関連づけることができる（下記の「レンジ-ビデオの関連づけ」の項を参照せよ）。
ズームキャプチャー
「ズームキャプチャー」ツールは、あるシーンのＲＧＢイメージがターゲッティングウィンドウ内に存在するときにユーザーが利用できるツールである。ズームジャプチャツールツールをクリックしてから目標とするウィンドウ内のイメージ上のポイントをクリックすると、指示ポイントの方向にとった穴ズームイメージ（bore sighted image、穴から観えるイメージ）をＦＤＶに捕捉させ表示させることができる。この穴ビデオイメージを命名し、注釈を付け、データベース内に格納することができ、また標準のビデオイメージにできると同様に、一組の色合いスキャンデータに関連づけることができる。「アンズーム」ツールは、ユーザーが標準ビューへ戻ることを可能にするツールである。
ビデオイメージブラウザ
ビデオイメージブラウザは、ユーザーがビデオイメージのサムネイル（thumbnails）を次々と選ぶことによりデータベース内の一つのイメージをサーチすることを可能にする。
ビデオイメージに関連したレンジスキャンはすべて、ハイライト強調すなわち選択することができ、あるいはユーザーがモデルビューアのビューポイント（視点）をビデオイメージが得られた位置に設定することができる。
ビデオイメージブラウザは究極的に、スマートモデリングシステム用のクエリーインターフェースが完備したとき、そのパーツをなすものである。「このイメージに関連したレンジスキャンのすべてを見つけよ。」とか「1995年12月12日に撮られたビデオイメージのすべてを見つけよ。」と言うようなクエリーは、汎用視覚データベースのクエリーユニットの一部となるであろう。上に列挙した特別の目的をもつクエリーは、この方向における出発点を与える。
スキャニング
ビデオイメージ（標準であるとズームであるとにかかわらず）がターゲティングウィンドウ内に存在するときはいつでも、ユーザーはスキャンツールを利用することができる。ユーザーは、ターゲティングウィンドウ内のビデオイメージ上に軸線整合（axis aligned）したボックスをドラッグすることによって、一つのスキャンデータを指示する。指示された空間領域から、ＦＤＶがレンジスキャン（range scan）データを生成する。
レンジスキャンとは、軸線整合したほぼ長方形の、深度情報に関するグリッドである。ＦＤＶで生じるミラー（鏡）のポジショニング（位置決め）において僅かなエラーがあると、グリッドは厳密な長方形にならない。レンジスキャンは、ＸおよびＹ方向にスキャンした多数のポイントを示すX解像度およびY解像度をもつ。X、Y解像度は、固定したある二つのポイント間のポイント数または距離を使ってユーザーが設定することができる。
レンジスキャンの各グリッドポイントは、３次元デカルト座標点と、当該座標点におけるレーザー応答強度測定値に関連づけられる。３次元デカルト座標とレーザー強度値とを結合することによってスキャンポイントが定義される。定義により、レンジスキャンとは行および列によって順序づけられたスキャンポイントの配列である。レンジスキャンはまた、スキャナーが実際にスキャンポイントを得ることができなかったところに立てられたフラッグを含むことができる。
レンジスキャンは作業データベース（working database）に自動的に挿入される。レンジスキャンは、これを命名し、注釈を付けることができる。
レンジ-ビデオイメージの関連づけ
通常、レンジスキャンは自動的に、そのスキャンのターゲティングに使われたビデオイメージに関連づけられる。デフォルトでは、レンジスキャンが撮られると、関連するビデオイメージ（標準かズームのいずれか）が（既に格納されていなければ）データベース内に格納され、ビデオイメージとレンジスキャンとの間の関連が作成される。この関連は、スキャンした領域のピクチャーにアクセスするため、あるいは所定の位置から撮られたスキャンを孤立させるために、使用することができる。
実時間スキャン表示
ＦＤＶによって得られたスキャンポイントは、スキャン中でも任意のアクティブデータワールド内で観ることができる（「モデルディスプレイ」の項を参照）。これらのポイントは、スキャン完了時まで、表示以外の任意のオペレーションで利用可能である。
スキャンのキャンセル
ＦＤＶがレンジスキャンを生成している期間中いつでも、スキャンキャンセルツールが利用可能である。この特徴的機能はスキャンポイントの収集を終了する。この時点までに撮られた不完全なレンジスキャンはデータベースに挿入される。
「視覚的マジック」
「視覚的マジック（Visual Magic、VM）」ツールキットは、ユーザーに最小限の対話を通して一つのシーンについて、スキャンポイントを三角形メッシュのモデルに変換するための迅速な視覚化ツールを提供する。VMツールキットのオペレーションで注目すべき点は、任意のオブジェクトのモデリングを行うことができる極めて一般的な機能を提供することである。以下に述べる「プレハブ ラボ」および「構造ショップ」とは異なり、VMツールキットは三角形メッシュの観念を超える観念を何ももっていない。この事実により、単一の汎用データ型に対して実行すべく用意された種々の強力なオペレーションが実行できるようになる。セクション「---」で述べたように、ＣＧＰにおける任意の幾何学的表面は、これを三角形メッシュに変換することができるとともに、これに「視覚的魔法」ツールを使ったオペレーションを適用することができる。
レンジスキャンをグリッドメッシュへ
「レンジスキャンをグリッドメッシュへ」ツールは、ＦＤＶを使ってモデルを生成するもっとも簡潔な方法を提供する。レンジスキャンが得られたときにユーザーはそのスキャンを選択して「レンジスキャンをグリッドメッシュへ」ツールをクリックし、そのスキャンから三角形メッシュを生成することができる。そうして得られるメッシュは、当該スキャンの長方形グリッド化方法（rectangular gridding）に基づいて三角化されてある。グリッドメッシュは、レンジスキャンから直接に生成されなかった非グリッドメッシュと区別される。一つのグリッドメッシュは、スキャナーの位置情報とそのポイントの行および列とを維持する。無効のポイントはメッシュに含められない。また、ユーザーが指定したパラメーター値を超えるメッシュおよび三角形も除外される。レンジスキャンはデータベース内でメッシュと置換される。メッシュはワイヤ-フレームやゴーランド陰影（Gourand shaded）を含めた多様な形態で観ることができ、また、隠れた線描きとして観ることができる（「モデルディスプレイ」の項を参照）。
グリッドメッシュの単純化
グリッド化したメッシュは、実質的に平面である領域で、三角形を除去することによって簡単化することができる。ユーザーはグリッド化したメッシュを選択してこのツールをクリックすることができ、その結果、メッシュに導入すべき最大限のエラーに見合う任意の適当な数（ユーザーが指定したパラメーター値）の三角形を除去することができる。元のグリッドメッシュはデータベースの中で、この簡単化されたグリッドメッシュにより置換される。
グリッドメッシュスムージング
各ポイントのレンジ深度（range depth）を近隣のポイントとの間で平均化することにより、グリッドメッシュ全体あるいはグリッドメッシュ内のいくつかの領域を平滑化（スムージング）することができる。平均化に使う型（ガウス型、単純平均化など）および近隣メッシュのサイズはユーザーが指定する。このツールを選択する前にメッシュ領域を多角形に選択することによって、スムージングを特定領域に限定することができる。
元のメッシュは、データベース内の平滑化されたメッシュで置換される。このツールを繰り返し能動させることにより、当該メッシュまたは領域にスムージングを反復実行することができる。
メッシュの整列
「メッシュ整列（Mesh Alignment）」ツール（たとえば「フリーハンド回転、「フリーハンド平行移動」、「移動して貼り付け」）を使って、手操作でおおよそ整列した二つのメッシュ（グリッド化したものでもグリッド化してないものよい）をより正確に整列させることができる。指定した最初のメッシュはアンカーメッシュで、移動しない。二番目のメッシュは、当該二つのメッシュが重畳する領域でそれら二つのメッシュをよりよく整列することができるように調節される。元のメッシュは、第二メッシュのグローバル変換マトリクスを変更したうえで、データベース内に維持される。通常、このステップは「メッシュジッパリング（mesh Zippering、メッシュ縫い合わせ）」ステップに先だって行うものであるが、「構造ショップ」または「プレハブラボ」を使って別異の、ただし重畳する、視点から生成された二つのシーンの登録（両者のワールド空間における相対位置の決定）に使用することができる。後者の場合、メッシュでない幾何学的プリミティブは上記の整列オペレーションを行うため、一時的にメッシュに変換される（「オブジェクト多形態化」の項を参照）。
メッシュジッパリング
二つのメッシュ（グリッド化したものおよびグリッド化してないもの）はメッシュ  ジッパリングツール」を使って単一のメッシュに併合することができる。その結果生ずるメッシュは常にグリッド化されていないメッシュ（以下、非グリッドメッシュという）である。メッシュジッパリングとは、二つの重畳した領域間の距離がユーザー指定の距離未満であるときは常に重畳領域を縫い合わせることをいう。通常、このオペレーションの前にメッシュ整列が行われる。二つの元のメッシュは、接合した非グリッドメッシュで置換される。
メッシュによるメッシュ切断
「メッシュによるメッシュ切断」ツールによってメッシュは別のメッシュで切断することができる。両方のメッシュはグリッドメッシュでも非グリッドメッシュでもよい。選択した第一のメッシュは切断されるメッシュ（被切断メッシュ）である。第二のメッシュは、切断を行うメッシュ（切断メッシュ）であって、オペレーションにより変化しない。二つのメッシュの交線が計算され、その交線に沿って被切断メッシュが分割される。切断メッシュとの滑らかな交線を与えるため、必要に応じて被切断メッシュに追加ポイントが挿入される。被切断メッシュはデータベース内で、被切断メッシュが細分化されて種々のコンポーネントを表現するある数の非グリッドメッシュにより置換される。通常、このオペレーション後に、切断されたいくつかのコンポーネントを削除するオペレーションが続く。それによって、たとえば壁その他のより複雑なオブジェクトと捻れた角度をなすあるパイプを表すメッシュの交線を、明確化することができる。このオペレーションを「オブジェクト多形態化」機能（下記事項を参照）と組合せれば極めて強力である。
メッシュ／メッシュ相互切断
このオペレーションは、上記の「メッシュによるメッシュ切断」と同じであるが、ただし両方のメッシュが相互に他を切断すること、および両方がそれらの非グリッドメッシュで置換される点が異なる。したがってあるメッシュ化した平面がメッシュ化したシリンダーの軸線と垂直に交差するシリンダー（図２）にこのオペレーションを実行すると、四つの別個のコンポーネントが生じる。
0004400894.tif 000016
メッシュ重畳部のトリム（刈り込み）
二つのメッシュが重畳するとき、一方のメッシュはそのままに残し他方のメッシュをトリムして前者メッシュに継ぎ目なく接合させることが好ましいことがある。「メッシュ重畳部のトリム」ツールは、このオペレーションを行うものである。このツールは、重畳が始まる領域でトリムメッシュを（ユーザー指定の距離の範囲内で）切断し、トリムしたメッシュ重畳部分を捨て、必要に応じて継ぎ目なしの接合を形成して静的メッシュに仕上げるための頂点を追加する。入力する二つのメッシュはグリッドメッシュでも非グリッドメッシュのいずれでもよい。静的メッシュは不変のままデータベース内に残る。トリムしたメッシュは一つ以上のコンポーネントメッシュに分割される。これらのコンポーネントメッシュは常に非グリッドメッシュである。「オブジェクト多形態化」機能（下記）と組み合わせたときの本ツールは、シーン内のいろいろのパーツの視覚的連続性を維持しつつ、メッシュのパーツをプレハブオブジェクト（下記の「プレハブ ラボ」で得られる）で置換することを可能にする。
非グリッドメッシュの単純化／最適化
非グリッドメッシュのメッシュ単純化は、計算機を利用する高価なタスクで、多数の主要な研究所で研究されている。ＣＧＰは、将来この分野の研究努力で得られるいくつかの機能を提供するであろう。
プレハブ ラボ
「プレハブラボ（Prefab Lab，ＰＬ）」ツールキットは予め構築されているサブモデルを、一つのスキャンシーンに統合する機能を与える。これらのサブモデルはＰＬツールキット内で生成することも、外部のカタログかＣＡＤプログラムから取り込み、あるいは他のツールキットを使って生成されたパーツから構築することもできる。
グループ化したオブジェクトおよびプロトタイプの概念
「プレハブラボ」は、インテリジェントモデルを構築し使用するにあたって重要な役割を果たす二つの概念をサポートする。二つの概念とは、グループ化したオブジェクトとプロトタイプ（以下、グループオブジェクトおよびグループプロトタイプという）である。グループオブジェクトとは、単なる幾何学的プリミティブの集合または単一のエンティティとして機能する他のグループオブジェクトである。これは概念上、ほとんどの線描きプログラムにおけるオブジェクトのグループ化と等価である。グループオブジェクトは同一の座標空間に存在し、変形しないオブジェクトとして機能する。当該グループに対して実行されるオペレーションは、そのグループの中のすべてのオブジェクトに実行される。
プロトタイプとは、ある幾何学的シーン外部に存在するオブジェクトの範疇であって、当該シーンの中で当該オブジェクトを具体化するためものである。プロトタイプは単一の幾何学的プリミティブから、あるいはグループオブジェクトのいずれかから形成することができる。プロトタイプは本質的に、当該プロトタイプのすべての具体例に関する一般的な情報を格納する「メタオブジェクト」である。プロトタイプの具体例はパーツと呼ばれる。次の一例が明確な理解の助けとなろう。
台所のモデルを作っているある人が、ある椅子の３次元メッシュモデルを構築するとする。「視覚的マジック」ツールキットを使って、彼は椅子の各脚およびシートのメッシュを別個に生成する。4本の各脚をスキャンするのを避けるため、彼は1本の脚のモデルを生成し、そのコピーツールおよびペーストツールを使って４回、シーン中にそのオブジェクトを配置する。この時点で、彼は椅子の脚の色を青色に変更することを決心するとする。もしも彼が1本の脚の色を変更すれば、脚のすべてが色を変更するであろうか?それは、脚がパーツであるか否かにより決まる。すなわち、脚がプロトタイプ（この場合、色のような情報を四つの脚が共有している）であるか、あるいは単にあるオブジェクトのコピー（この場合、脚の間に何の関係も格納されていない）であるかに依ってきまる。データベース内に格納されるプロトタイプはシーン中のどこでも具体化することができない。プロトタイプは、アクティブなデータベースを超えて存在することができる。しかし、オブジェクトは一つのシーン中のエンティティとして完全に自己完結している。シーンからオブジェクトを取り除くと、そのオブジェクトはデータベースからも取り除かれる。
グループ化／グループ化解除
「グループ化」ツールは、１つ以上のオブジェクトまたは一組のパーツをとりあげ、一つの新しいグループ化したオブジェクトを生成する。このグループ化したオブジェクトは上記の入力オブジェクトからなる、階層構造をもつ集合である。グループ化したオブジェクトは幾何学的プリミティブ、パーツその他のグループ化したオブジェクトから生成することができ、一つのグループ化したオブジェクトを形成することのできるこれらエンティティは、データベース内で新しいグループ化したオブジェクトで置換することができる。「グループ化解除」ツールは、データベースからグループ化したオブジェクトを取り除きそれをそのコンポーネントからなる具体例で置換する。
カット／コピー／ペースト
「カット」ツールは、ユーザーが後のペーストオペレーションを行うために、シーンから１つ以上のオブジェクトを削除することを可能にする。当該エンティティは、アクティブなデータベースから除去され、コピー／カットバッファに格納される。コピーツールは、元のオブジェクトあるいはパーツがアクティブデータベースから除去されない点を除き、カットツールと同じである。コピー／カットバッファは、カットあるいはコピーされた最終エンティティのみを格納する単一レベルバッファである。
ペーストツールはコピー／カットバッファ内のエンティティをアクティブデータベース中に置く。もしもコピー／カットバッファ内のエンティティがパーツであると、アクティブデータベース内に新しいパーツが生成される。もしもコピー／カットバッファ内のエンティティがオブジェクトであると、その複製がアクティブデータベース中にコピーされる。
エンティティを一つのデータベースから別のデータベースにカットしペーストすることができるよう、一つのセッション期間中、すべてのデータベースにまたがる単一のコピー／カットバッファが用意される。コピー／カットバッファは本質的に、ビュー、編集、所望のオペレーションができる一つのオブジェクトデータベースである。
「フリーハンド移動」
「フリーハンド移動」ツールを使って対話的にエンティティを移動することができる。選択したエンティティの周りに移動マニピュレーターが生成され、そのエンティティを対話的に移動するができる。新しい位置はデータベースに反映される。
「フリーハンド回転」
エンティティは「フリーハンド回転」ツールを使って対話的に回転させることができる。選択したエンティティの周りに回転マニピュレーターが生成され、そのエンティティを対話的に回転することができる。新しい向きはデータベースに反映される。
「移動して付着」
「移動して付着」ツールを使って、一つのエンティティを他のエンティティに対する適当な方向に向けるように運動させることができる。ユーザーは、3つまでのポイントを運動させるべきオブジェクト上に選択するとともに、固定したオブジェクト上に対応する付着ポイントを選択する。このインタフェースは、これらの付着ポイントを、相互矛盾しないように強制的に運動させる（すなわち、すべての付着が達成されるように、運動可能なオブジェクトを位置させる方法を用意する）。付着ポイントの対応を同定すると、付着を実行すべく運動エンティティが再配置され、再指向され、更新した位置がデータベースに反映される。この付着は一時的なものであり、オペレーションが完了したときは消滅することに注意されたい。一旦付着したオブジェクトを結合しておくために、ユーザーは「グループ化」ツールを使うべきである。
「ペースト貼り付け」
「ペースト貼り付け」ツールは上記の貼り付けツールと同じであるが、これはユーザーがカット／コピーバッファからオブジェクトをアクティブデータベースワールド中に貼り付けることを許容するものである。
「フリーハンドスケーリング」
「フリーハンドスケーリング」ツールを使って、エンティティを対話的にスケーリング（scaling、縮尺設定）することができる。選択したエンティティの周囲にスケーリングマニピュレータが生成され、エンティティを対話的にスケーリング実行を可能にする。新しいスケーリングはデータベースに反映される。エンティティのローカル座標システムのX、Y、およびZ方向にスケーリングすることができる。エンティティがオブジェクトである場合、初期設定ウィンドウを介してスケーリング束縛条件（一様スケーリング、一様X方向スケーリングおよび一様Y方向スケーリング等）を特定することができる。パーツの具体例に対してはスケーリングの初期設定は当該パーツに委任される。
「スケーリングして付着」
「スケーリングして付着（Scale to Attach）」ツールは、要求された付着（Attachment）を行うために束縛条件の下でオブジェクトをスケーリングする点を除き、「移動して付着」ツールと類似である。オブジェクトの新しいスケーリングはデータベースに反映される。
「プロトタイプへのオブジェクト」
「プロトタイプ」ツールは一つのオブジェクトまたはプリミティブから一つのプロトタイプを生成し、そのプロトタイプをデータベース内に格納する。元のオブジェクトないしプリミティブはデータベースから取り出されて新たに生成されたプロトタイプの具体例で置換される。そのプロトタイプは、たとえアクティブデバイスからそれに関連するすべてのパーツが除去されても、明示の「パーツ削除」命令が出されない限り、データベースに存在し続ける。プロトタイプには名前と注釈が付けられる。
「プロトタイプブラウザ／パーツの具体例化」
「プロトタイプブラウザ」は、データベース内のすべてのプロトタイプをサーチする機能を提供する。プロトタイプはブラウザ中に表示され、ブラウザからアクティブなデータワールド中にドラッグすることができる。アクティブデータワールド内のオブジェクトに付着されているプロトタイプからパーツを生成するのに「移動して付着」と「スケーリングして付着」とを使うことができる。プロトタイプブラウザから生成される新しいパーツは、関連の配置情報とともにアクティブデータベースに格納される。
「パーツをオブジェクトに」
「パーツをオブジェクトに」ツールは、パーツをオブジェクトに変換し、プロトタイプから得られるすべての情報を、そのオブジェクトとは関連をもたないオブジェクト中にコピーする。これは、ユーザーが自分のニーズをほぼ満たすパーツを選択し、そのパーツをユーザーが編集するにあたり、同じプロトタイプから生成された他のオブジェクトには影響を与えずに、編集することを可能にする。
「多形態化機能」
「多形態化機能（polymorphism）」は、ある型の引数を必要とする一つのツールを適切に作用させるよう、一つの型のオブジェクトを他の型のオブジェクトに自動変換するための機能である。もしも別の型のオブジェクトに変換すべきオブジェクトが当該オペレーションによって変更されないものであるなら、多形態化機能はユーザーにとっては暫定的なものであり、目には見えない。もしも変換されるオブジェクトが当該オペレーションによって変更されるものであるなら、多形態化機能は永久的なものであり、ユーザーにはそのオペレーションをキャンセルする機会が与えられる。
多形態化機能の主要例は当該システム内の各オブジェクトまたはパーツを三角形メッシュ形状をとらせる機能である。グループ化したオブジェクトは、それらのコンポーネントを三角形メッシュに変換することにより形成される三角形メッシュの合併（union）をとることにより、三角形メッシュに変換することができる。したがって、各オブジェクトを三角形メッシュに多形態化できる機能をシステムに課すことは、システム内の各プリミティブの幾何学的形状を三角形メッシュ形状にする機能を課すことと本質的に同じである。
多形態化により永久的に三角形メッシュ形状にされているグループ化されたオブジェクトは、それらの階層的構造を維持するが、それはオブジェクトの集合としてではなくメッシュの集合としてである。注釈、名前、およびその他の外部データベース情報は、その階層中に維持される。
プレハブプリミティブ
本システムは、具体例として表し、移動させ、スケーリング設定し、表示し、メッシュ変換することができる一組の幾何学的プリミティブを与える。これらのプリミティブは、それらから他の幾何学形状、例えば立方体形状、円筒形状、円錐形状、プリズム形状、円盤形状等を組み立てることができる基本的な幾何学形状である。プリミチィブに特有のオペレーションはまったく用意しないので、システムにプリミティブを追加するには、幾何学的形状を捕捉する基本的なパラメータ指定方法、表示ジェネレータ、メッシュへの変換、およびシステムに包含するデータベース表示を用意することに他ならない。ディスプレイ発生ルーチンとメッシュ変換ルーチンは、複雑性を表す引数（complexity argument）として０と１の間の一浮動点小数を使う。これは、与えるべき詳細の程度（例えば円筒形状を近似するために使う平面数）を決めるときの補助とするためである。この引数はシステムのユーザーがいつでも設定することができる。
「プレハブプリミティブ」は、本来的に単純であるので、引き伸ばした立方体などの他のプレハブプリミティブのグループとして構築しうるＩビーム（I beam）のようなオブジェクトを表示するのには「プレハブプリミティブ」使用しない。
パラメーター化したプロトタイプ
パラメーターの特定によって定義できる一般的なパーツ（以下、パラメータ化したパーツという）であってユーザーがそのパラメーターを設定することができるものを提供することは、長年の目標である。スケーリングに束縛条件を設けるという考え方は、一般的なパラメータ化したプロトタイプを用意するという考え方を簡単にしたものである。パラメータ化したプロトタイプがあれば、ユーザーはこれを使って例えば溝の幅、一組の孔の間の間隔、あるいはスツールの脚の数を設定することができる。こうすればプロトタイプの小さなカタログでより大きなニーズに応えることができるであろうが、しかしプロトタイプを記述するのに著しく複雑な機能が必要となるであろう。
「構造ショップ」
「構造ショップ」機能は、大きな、主として平面的構造体や支持構造体（例えばビルディング）を生成するための付加機能、およびポイントおよびラインのサーベイ（調査）を行うための基本的機能を与える。「構造ショップ」機能は、ポイント、ライン、および平面オブジェクトを、ユーザーにとって利用可能なパレットに付加し、これらオブジェクトを操作するための簡単な対話機能を提供する。
「スキャンポイント抽出」
ユーザーは、「スキャンポイント抽出」ツールを使ってレンジスキャンからポイントを切り取ることができる。ユーザーは、レンジスキャンを選択してから、彼が抽出したいと望むポイント周辺にループをトレースするか、あるいはこれらのポイントの周囲に多角形を描く。選択したレンジスキャンは、抽出ラインを描いた領域の内側のポイントおよび外側のポイントを別個に含む二つのレンジスキャンで置換される。レンジスキャン名は固有の識別子で捕捉され（例えばRS35はRS35_1とRS35_2に分かれる）、新しい各コンポーネントスキャンに注釈がコピーされる。
「ポイントから平面を」
平面オブジェクトは平面内において境界で仕切られた一組の多角形である。その多重輪郭をなす境界線（multi-contoured boundary）は、エッヂと頂点とから成り、これらは必要に応じて隣接する平面間で共有することができる。「ポイントツールから平面を」ツールは、一組のポイントを与えると、それに最もよく適合する平面を計算するものである。そのポイントの組はレンジスキャンあるいはメッシュのいずれかから得たものでよい。（このことは、多形態化ツールがあるので、これらのポイントが任意の幾何学的オブジェクトまたはパーツから得られることを意味する）。平面の境界は、最も適合する平面中にこれらのポイントを投影することにより、かつ凸状殻（convex hull）を計算することにより、生成される。ユーザーが設定した初期設定に応じて、上記のポイントが導かれた元のオブジェクトがデータベースから削除され、あるいは損なわれずに残る。新しい平面オブジェクトはデータベースに挿入される。
「ポイントからコーナーを」
「ポイントツールからコーナーを」ツールは、一組のポイントから3つの平面オブジェクトを生成する。このポイントの組は、レンジスキャンまたはメッシュのどちらか一方から得ることができる。3つの平面が一つの頂点とその頂点から延びる三つのエッヂを共有する。その共有頂点と一対の共有エッヂを除いて、各平面オブジェクトは、その平面に投影したとき、そのポイントに属する凸状殻によって境界を画される。ユーザーが設定した初期設定に応じて、上記のポイントが導かれた元のオブジェクトがデータベースから削除され、あるいは損なわれずに残る。3つの新しい平面オブジェクトはデータベースに入れられる。
「穴追加／領域追加」
このツールを使って平面オブジェクトに穴（holes）および追加的輪郭（contours）を加えることができる。いずれの場合もユーザーは、当該平面オブジェクトを、これを一部分として含むように無限平面上に一つの輪郭を描く。「穴追加」ツールの場合、その結果生じる輪郭が、与えられた平面オブジェクトから減算され、その結果、必要に応じて頂点が追加され、または削除される。
「領域追加」の場合は、新しい輪郭と既存の多角形との合併（union）がとられ、必要に応じて頂点が追加され、または削除される。
「対話的頂点移動」
ユーザーは、マウスで多角形の頂点をドラッグすることができる。これらの頂点はオブジェクトによって特定される平面内に在るように束縛される。また、ユーザーは、頂点を正確に配置することができるようにするため、一つまたは二つのスナッピング平面（snapping plane、正しいポイントの付近のポイントを指定すると正しいポイントが選ばれるようにする平面）を同定することができる。一つのスナッピング平面を追加することによって、その平面のすべての頂点の周りにスナッピング領域が生成されるとともに、その平面の至るところで弱い（より小さい）スナッピング領域を生成する。ユーザーは、容易にマウスで頂点をドラッグすることができ、その結果、その頂点が他の平面に整合し、あるいは別の平面内にある頂点に付着することができる。二つのスナッピング平面を指示すれば、指示した二つの平面の各々に対して上述したすべてのスナッピング領域が生成される。しかしながら、それに加えて3つの平面（すなわち指示された二つの平面と、ドラッグされた頂点を含む平面）の交点の周りに極めて大きいスナッピング領域が生成される。もしもユーザーがある頂点を別の頂点へスナップすると、その頂点は共有頂点となる。
二つの平面が共有する頂点は、二つの平面によって共有されるライン内でのみドラッグすることができる。３つ以上の平面によって共有される頂点をドラッグすることはできない。
頂点は、同じ平面内にある他の輪郭とも相互作用する。スナッピングはこれらの他の輪郭に属するすべてのエッヂ頂点で起こる。穴のないある領域（以下、閉塞領域という）を囲む輪郭を移動すると、その輪郭は領域や穴を表す他の輪郭と交差するかもしれない。そのような輪郭の頂点を動かした結果は、その多角形内にある閉塞した領域の合併である。同様に、穴を画する輪郭の頂点を動かすと、その輪郭の閉塞した領域が、その平面内にある他のすべての閉塞した多角形から減算される。
その頂点の新しい位置はデータベースに反映され、この頂点を終点として使用するエッヂもまた更新される。
非共有頂点
「非共有頂点」ツールをクリックして共有頂点を選択すると、共有されていた頂点は、独立に移動・相互分離できる頂点の独立なコピーポイントに変わる。元の共有頂点は上記のコピーで置換され、データベースから削除される。
「頂点挿入／削除」
頂点はこのツールで挿入し、削除することができる。頂点は挿入ポイント位置をクリックすることにより挿入される。頂点はその頂点を指示することによって削除される。共有頂点は、それが参画する平面オブジェクトのすべてから削除される。そのような変更はすべてデータベースに反映される。
「平面併合」ツール
ユーザーは、二つの平面オブジェクトを「平面併合（Merge Plane）」ツールで併合することができる。このオペレーションは、二つのオブジェクトがほぼ同一平面上にあることを調べ、もしそれらが同一平面状にないと、処理を進める前にユーザーに警告する。平面の併合は、データベースで指示された二つのオブジェクトを単一の新しい平面で置換する。その単一のオブジェクトとは、二つの元のオブジェクトを発生したポイント全体に最もよく適合（fit）する平面である。元の平面オブジェクト上の頂点は新しい平面に投影される。ただしこのとき、投影は頂点の共有に課された束縛条件を維持しつつ行われる。新しいオブジェクトの境界は、併合された平面オブジェクトのすべての境界の合併である。
「ポイントを自由ポイントに」ツール
「ポイントを自由ポイントに」ツールは、スキャンポイント、メッシュポイント、または頂点のどれかから、自由不動ポイント（free standing point）を発生する。自由ポイント（free point）とは、任意の表面の外に存在する、特に注目する頂点である。自由ポイントは、表面を構成しないデータオブジェクト（non-surface data object）であり、したがってメッシュに変更することができない。自由不動ポイントは、ＦＤＶを使って基本的な（属性たるラインその他の）サーベイを行えるように意図されている。自由ポイントは、名前を付け、注釈を付けることができ、データベースに格納される。
「自由ライン作成」
「自由ライン作成」ツールは、二つの自由不動ポイントから一本の自由不動ライン（free standing line）を生成する。この自由ラインはあらゆる面の外に存在し、それゆえメッシュに変換することができない。自由ラインは、ＦＤＶを使って（プローパティライン等の）基本的サーベイを行うためのものである。自由ラインは、これに名前を付け、注釈を付け、データベースに格納される。
「調査とプレゼンテーション」
「調査とプレゼンテーション」ツールキットは、データベースに格納されている非幾何学的データを修正する機能のみならず、クエリーを発し、データを表示するための機能を提供する。このツールキットはシステムの他の様々なツールキットとの密接な統合を提供する一方、キットを独立なシステムに分離する。これはＦＤＶユニットかモデル再構築ツールのどちらか一方は使わないだろうが様々なＣｙｒａツールで生成した情報へのアクセスを望むユーザーに対し配給することになろう。
「ビューデータワールド」
データワールドの各幾何学的内容は、そのデータワールドの３次元的表示を表示する対話的な視覚的ブラウザを使って観ることができる。各幾何学的オブジェクトあるいはパーツは、データベースの部分集合である一つのデータワールドに属する。任意の数のビューを独立に開いて使用することができる。
同じデータワールドに属する複数のビューを使って、（「スキャンポイントの抽出」ツールなどとは異なり）特定の視点を含まないオペレーションを実行することができる。これは一つのビューにおいていくつかのオペランドを指示すると共に、任意の数の他のビューにおいて他のオペランドを指示することにより行われる。
「対話的ビューオペレーション」
ユーザーはデータワールドビューをズーム拡大し、回転し、パン移動（カメラの左右の移動）をすることができる。これらのオペレーションは、プラットホームが対話の速度でフレームを生成することができる能力をモデルのサイズおよび複雑度および必要なフレーム率が超過しない限りにおいて、対話的なものにすることができる。
「対話的飛行」
ユーザーはフライスルーパラダイム（fly through paradigm）を使ってモデルを通過するナビゲーションを行うことができる。このパラダイムではユーザーが、シーンを観る想像上の目の動き（速さ、方向、および向き）を制御する。このフライスルーは、プラットホームが対話的な速度でフレームを生成することができる能力をモデルのサイズおよび複雑度および必要なフレーム率が超過しない限りにおいて、対話的なものにすることができる。
これまで、極めて複雑なモデルに高いフレーム率を許するためにこのプロセスを最適化する重要な研究が行われている。今後のＣＧＰにそのような研究の成果を組み入れることが我々の希望である。
「ビューの命名と保存／ロード」
ユーザーは、現在のビューに名前と注釈をつけてデータベースに保存することができる。名前を付けられたビューは任意のデータワールドビューウィンドウにロードすることができるので、保存した視点でウィンドウの視点を置換することができる。
「名前を付けたビューの削除」
名前の付いけたビューはユーザーのリクエストによってデータベースから削除することができる。
「標準ビュー」
ユーザー-が指定する原点およびユーザー-が指定する距離に相対的な６個の標準的ビュー（左側面、右側面、正面、背面、頂部面および底面）が任意のデータワールドビューで直ちに利用可能である。
直交図的（Orthographic）／透視図的（perspective）トグル
一つのデータワールドは正射影法または遠近法による投影図を使って観ることができる。様々なツールキットすべてから得られるオペレーションは、どちらの投影法を使用したかには関係なく、正しく機能する。
「データワールドの統合」
ユーザーは、二つのデータワールド内の対応するポイント対を指定することにより、１つのデータワールドを第二のデータワールドに併合することができる。ユーザーは、少なくとも3つの縮退してないポイントの組を与えなければならない。それらのポイント対から、可能な限り（最小二乗法の意味で）密接な対応が満たされるように第二ポイントデータワールを再配置する変換が計算される。第二データワールドはデータベースから除去され、計算した変換を受けた当該データワールド内の全データが第一データワールド中にコピーされる。
「距離」
距離ツールを使って、ユーザー-が指定する当該モデル内の二つのロケーション間の距離を計算し、表示することができる。
（この節の残りの部分は漠然としており未完成である。私はこの節を終了しなければならないが、この節の終わるに当たって「インテリジェント」モデルへ向けて大きな地歩を獲得する非常に一般的な方法を述べる。）
ビューの引数
各オブジェクト、パーツ、またはプリミティブは任意数の命名されたビジュアル表示を与えることができる。ユーザーはオブジェクトの「表示属性（“representation attribute”）」を設定することにより、これらの名前を付けたビジュアル表示のいずれをオブジェクト、パーツ、またはプリミティブあるいはシーン全体に使用するかを指定することができる。各オブジェクトには、そのオブジェクトに命名したビジュアル表示が存在しないときに、あるいは命名されているビジュアル表示がまったく与えられてないときに使用するデフォルトの表示が与えられている。命名されたビジュアル表示は、ワイヤフレームや領域指定ボックス（bounding box）のようなシステムに付与されている描画スタイル（drawing style）であり、そうでなければ当該モデルを低解像度にして表した別のモデルか、または当該オブジェクト（例えば複雑なバルブを表す二つの円錐）のシンボリック表示のような別のモデルに対するポインタである。
普通、プリミティブは、少なくとも次の表示---ワイヤフレーム、隠れたライン、領域指定ボックス、および不可視のもの---の属性値を与えるが、正規のデフォルト値としてそのうちの「表面」をマークする。
また、属性／値の対をオブジェクトのビジュアル表示の一部として与えることにより、色とか反射率のような表面のプロパティパラメーターもビジュアル表示を介して与えられる。一階層内のエンティティは、そのエンティティ内にその属性に対する値が何ら指定されていないときは、それに最も密接な祖先（ancestors）の値を使用する。そのエンティティあるいはその祖先によって何の値も指定されていない場合、（色とかライン幅のような）オブジェクトを線描きするのに必要な各属性が、対応するデフォルトで与えられなければならない。ＣＧＰの最初のリリースに含まれるすべてのプリミティブによってサポートされるであろうと考えられるものの属性は、周囲の色（ambient color）、拡散色（diffuse color）、正反射色（specular color）、光る色（emmisive color）、輝き（shininess）、透明さ（transparency）、ショーの名（show name）、およびショーの注釈（showannotation）である。さらに、いくつかのプリミティブが「ショーの寸法（“show dimension”）」属性をサポートすることになろう。レンジスキャンは、「強度擬似着色属性を使用（“use intensity pseudocoloring attribute”）」ツールをサポートすることになろう。
「命名したビジュアル表示の生成／ロード／保存／削除」
ユーザーは、当該データベースを使った他のパラメーターの組以外の別のパラメーターを使ったデータベースを自分で観るため、命名した新たなビジュアル表示を生成することができる。このビジュアル表示は、名前を与えられてデータベースに格納される。ユーザーが新しいビジュアル表示を生成するとき、データワールド内の各オブジェクトに対する現在の属性値がすべて、上記の命名したビジュアル表示に関連づけられる。この名前を付けられたビジュアル表示を使ったときの、ユーザーによってなされたデータワールドへの変更（オブジェクトの表示属性のワイヤフレームへの変更、あるいはその色の青への変更など）は、現在ロードされているビジュアル表示の属性／値の対だけに影響を与える。したがって、配管技術者なら、一つのセッションではすべての管が円筒として表示されるデータワールドのビジュアル表示を発生させ、別のセッションでは管は中心線として表示される第二のビジュアル表示を発生させるかも知れない。もちろんこれは管オブジェクトが、命名された表示属性を中心線に与えることを前提にしている。
このパラダイムは、各ビューアーごとに別個のデータベースのコピーを用意することなくいろいろのユーザーが同じデータベース上で多数のビューを同時に観ることを可能にすることに注意されたい。
「生成／削除／ビュー／編集／注釈」
注釈とは、オブジェクト、プリミティブ、パーツ、またはプロトタイプと関連づけられる印字データフィールド（typed date field）である。注釈は、アプリケーションに特化したデータをＣＧＰデータベースに含めることを可能にする。このデータは、いずれのデータ型のISO標準でもよい（これらが何であるか、思い出さないでよいが、約半ダースほどあり、各データベースによりサポートされている。）各注釈は、名前で参照される。
プロトタイプに関連づけられた注釈はそのプロトタイプで生成された各パーツに適用される。ただしパーツによってその注釈の値が明示的にオーバーライドされとときは別である。
各エンティティは最少限、名前およびタイプに関する注釈を有する。クエリーによる選択ユーザーは、データワールド内のすべてのエンティティの注釈に関するSQLクエリーを使って一組のエンティティを選択することができる。そのようなクエリーは、直接にデータベースに手渡される。SQLサポートの程度は選択したデータベースに基づいて決まる。
クエリーによって返されるエンティティは、選択されたものとしてマークを付けられ、多重オペレーションに作用することを可能にするすべてのツールに対する引数として使用することができる。ユーザーにとってはＣＧＰによりデータベース内に格納されているデータもまた、当該ＣＧＰデータベース構造に対する読取り専用フロントエンドを介してアクセス可能である。
「データ交換」
「データ交換」ツールキットは、ＣＧＰを他のＣＡＤパッケージおよびベンダー提供のカタログとシームレス統合を行うのに必要な機能を提供する。このツールキットは究極的には、市場の需要に対応する多様な型式のファイルをインポートし、エキスポートすることになろう。
インポート／エキスポートＣＲＸ
エキスポート機能は、選択したオブジェクト、データワールド、あるいはＣＲＸ（Ｃｙｒａ社が所有するデータフォーマット）のデータベースを表す単一のバイナリーデータファイルを生成する。インポート機能はこのデータフォーマットの読み取りを可能にする。
インポート／エキスポートＤＸＦ
このエキスポート機能は、選択したビデオイメージオブジェクト、データワールド、あるいはこの汎用ＣＡＤ標準フォーマットのデータベースを表すＤＸＦデータファイルを生成する。ＤＸＦ表示は次のように限定される：インポートＤＸＦファイルは、ＤＸＦファイル内に格納されているエンティティまたはエンティティの組をＣＧＰ中にロードする。このＤＸＦファイルのＣＧＰ版は以下のように制限される。
インポート／エキスポートＲＧＢ
「エキスポートＲＧＢ」機能は、選択したビデオのイメージからＲＧＢビデオイメージファイルを生成する。「インポートＲＧＢ」機能はＲＧＢビデオイメージファイルからビデオイメージオブジェクトをＣＧＰ内に生成する。
インポート／エキスポートインベンター
「エキスポートインベンター（Export Inventor）」機能は、選択したオブジェクト、データワールド、またはデータベースを表すインベンターファイルを、インベンターファイルフォーマットで生成する。その結果得られるモデルは、標準のインベンタービューアーを使って観るとＣＧＰで観るモデルと同じである。インポート機能は、インベンターファイルに格納してあるエンティティまたはエンティティの組をＣＧＰ中にロードする。このインベンターファイルのＣＧＰ版は次のように制限されよう。
「エキスポートポストスクリプト」
「エキスポートポストスクリプト」機能は、選択したデータワールド内に表されたビューであるポストスクリプトファイルを生成しまたはプリンターへ直接に送って印刷する。
一般的な対話およびシステム情報
ツールキットとの対話は、視覚的対話を重視する観点からマウスとキーボードを介して行われる。ユーザーインタフェースは、アイコンを使ったツールパレット、ファンクションキーショートカット、メニュー、およびウィンドウをもつことが望まれる。機能の大部分はマウスだけを使ってアクセス可能となろう。本システムのユーザーインタフェースは、与えられたプラットホームにおける標準のインタフェースおよび対話パラダイムに適合するであろう。
プラットホーム
ＣＧＰは、ラップトップボックスに装備したWindows NTを走らせる100MHzペンティアムプロセッサ上で動作するだろう。本システムは、５１２キロバイトのキャッシュを備えた最小限４８メガバイトＲＡＭを提供する。プラットホームは８００×６００ドット、２５６色のディスプレイおよび少なくとも１ＧＢのディスクスペースをもつことが望ましい。システムは、ＰＣＩＭＣＩＡ方式のイーサネットを介してハードウェアと通信する。ＣＧＰの第一ポートは、グラフィックス集中環境で使うように意図されたオフィスモデルを与えるため、シリコングラフィックスプラットホームに適するものであることが望まれる。
ヘルプシステム
ＣＧＰは、与えられたプラットホーム上のアプリケーションに供する標準インタフェースに対応するフォーマットの形で、文脈判断可能なヘルプを提供する対話的ヘルプシステムを提供する。ユーザーがアクセスできるすべての機能はヘルプシステム内に文書化される。
「アンドゥ」
ＣＧＰは、一つのセッション期間中に行われた任意の数のオペレーションを、（メモリおよびディスク・スペースのようなシステムの機能の限界まで）何度でもユーザーがアンドゥできるようにする。
ドキュメンテーション
少なくとも使用現場において調査者が使うことができるフィールドガイドを含む形で、本システムの文書資料のハードウェアコピーを提供する。
0004400894.tif 000017
0004400894.tif 000018
0004400894.tif 000019
0004400894.tif 000020
0004400894.tif 000021
0004400894.tif 000022
0004400894.tif 000023
0004400894.tif 000024
概観
Ｃｙｒａ
Ｃｙｒａテクノロジー社、およびレーザー方式でデータを取得し認識しモデル構築するユニークなＣｙｒａテクノロジー社の技術に関するこの概要秘密文書は、Ｃｙｒａ社の潜在能力を一層よく理解し評価する戦略上のパートナー、投資者、および、協力者を援助するために用意したものである。
Ｃｙｒａテクノロジー社は1993年に設立されたカリフォルニアの会社で、建築／工学／建設の分野（Architecture／Engineering／Construction、AEC）および製造業者のための革新的な高度技術によるコンピューター-ベースの製品を研究、開発、販売している。
Ｃｙｒａ社は現在、レーザーを利用する一連の空間撮像（spatial imaging）および合成景観システム（synthetic vision systems）を開発しており、これらは広範囲な市場で需要がある三次元データの取得、認識およびモデル構築を行うためのものである。最初の製品である「Ｃｙｒａｘ」は、視野に入る任意のものの三次元（３Ｄ）コンピューターモデルを自動的に生成することができるグラフィックコンピューターを併せ備えた携帯用レーザー-レーダースキャナーである。これは、ハイブリッド型のカメラ／サーベイ用器具として、丘の景色からビルディング、はては航空機にいたる任意のものの３Ｄ  ＣＡＤ（Computer Aided Design）モデルを生成することができる。５０メートル以上のレンジにおいてミリメートル単位の精度をもつ技術を備えたＣｙｒａｘは、製造業、娯楽産業、マルチメディア分野で大きなマーケットをもつ３Ｄ空間データの需要に対してと同様に、建築／工学／建設の産業分野の需要に応えようとするものである。
空間情報のニーズ
データの取得
我々の環境に関する正確な情報は近代生活にとって極めて重要である。恐竜キャラクタを製作するビデオゲームデザイナーから帯状鉱脈の地図を作成する地質学者、超高層ビルの「完成時の模様」を準備している建設会社、あるいは複雑な機体のパーツの正確な三次元測定を必要とする航空機設計者に至るまで、近代生活は我々を取り囲む空間的環境に関する正確なデータに対し変わらぬ需要がある。
全世界の建設、利用設備、輸送、および製造業は毎年10億ドルを超える投資をしているが、業務の大部分を高速かつ精確な空間データに依存している。これらの産業は少なくともその収入の１パーセントの10分の１をデータ取得に費やしている。
その需要は毎年10億ドルを超える！  トータルステーション（近代的測量士のツール、すなわち望遠鏡／角度メーター／距離計を統合した装置）による調査業務の国内売り上げだけでも毎年52億ドルを越える。
データ-ベースの配置
我々の周囲にあるオブジェクトの位置を知る必要性に加えて、オブジェクトを正確に配置しまたは設置することには膨大な需要がある。フェンスを立てるとき、建築の土台を注入するとき、通路を建設するとき、あるいは複雑な機械を組み立てるとき、建造物の制作者はパーツを正確に位置決めする必要がある。「質（を守ること）が最初の仕事である」という国民的スローガンがあり、また会社の利益差分が厳しい現状にあって、手計算の方法はもはや採用することができない。
ベンダー達は現在あまり目を向けていないが、データ-ベースに基づく位置決めの市場は急速に成長している。我々の社会は消費商品を益々柔軟にカスタム化する方向に向かっているのであるから、データ-ベースに基づく位置決めシステムの需要は爆発的に増すであろう。
従来の方法
データ取得---ポイントおよびライン
従来、社会ではデータを取得するのに面倒な手法に頼っていた。ＡＥＣの分野では測量士がデータを集めるのに、現場で光学的トランシット、水準器、スチールテープ、および錘線を使うのに長時間を費やした。他方、製造用機械技術者および設計技術者はキャリパーや精密器具を使うことが情報収集の主な方法であった。
これらの道具と方法は高い精度にまで精密化され、近年では部分的に自動化されてさえいる。しかしながら、こうした方法は遅速で骨が折れ、かつエラーを含みがちな二次元データ収集手段に依存している。現場であるいは作業台上で測定したポイントやラインから得たデータが設計表またはＣＡＤシステムに戻されて、長時間をかけてまとめられ、パーツの等高線マップサイトの線描きあるいは三次元モデルが構築されている。消費する時間に加えて、現行のデータ処方法は人的エラーを受ける。
位置決め
正確な位置決めはいつでも一つの挑戦に値する達成目標であった。これまで大抵の民間業務および建設業務はトータルステーション（望遠鏡／角度メーター／距離計を統合した近代的測量士のツール）を使って測量士のチームが一ポイントづつ逐一「杭打ち」するものである。このような方法にもいくらかの進歩がある（例えば、新しいトータルステーションは可視光線で人を正確にポイントへ案内することができる）。しかしこのプロセスは依然として遅く、骨が折れ、オペレーターがエラーを起こし易い。
同様に製造業では製品が益々複雑になり、製造条件が今まで以上に要求されるようになっており、パーツの正確な位置決めが常に、かついっそう挑戦に値する達成目標となっている。
多数のベンチャー企業家たちが機械的視察デバイス（machine vision devices）を開発しようと試みているが、そのようなシステムは大抵、根本的な制約を受けており、また単一の用途に向けて設計されている。組立ライン上でしばしばロボットがオブジェクトを位置決めするようにプログラムを組むことができる。ただし、それはオブジェクトがロボットの手の届く範囲内にある場合に限られる。しかしながら、航空機や船体のような大きな組立体では制作者は扱い難い機械的３次元アーム（通常はスキャニングに使用される）、あるいはドリル孔の事前マークや手作業の填め合わせおよび組立前の整合を助ける調査装置などの、最適とは言えない解決法に頼らざるを得ないのが現状である。
「空間的」便宜
自動的データ取得
オートデスクコーポレーション（Autodesk Corporation）その他の企業の市場における驚異的な成功に見られるように、この十年間のＣＡＤの爆発的流行から、機械に直ちに利用できる形態の正確な３Ｄデータに対する需要が高まっている。ほとんどすべての技術者およびデザイナーがＴ型定規と鉛筆でポイントとラインを描く製図板からコンピューターの光輝く蛍光画面に映ってしまった今、空間的データに対する需要が急増した。ソフトウエアを使ってラインに組立て、やがては３次元表示に組み立てる数百個のポイントを手作業で調査もしくは測定する現在のプロセスは、技術者およびデザイナーがＣＡＤプログラムで使用しているが、非効率かつ経済的負担となる。
現場にある３次元的オブジェクトをすべて収集するシステムは精度を改善することができるとともに、現在はコストまたは技術的な制約のために収集できないデータを提供することができ、さらに、現在のデータ取得プロセスにおけるいくつかのステップを排除することができる。
データ取得の便宜さを得るという主要目的に加えて、データ取得には今後成長する多数の可能性がある。市場調査インタビューのなかで言及された多くの事項のうちのいくつかの興味ある話題として、遠隔３次元偵察／視察、機械の視察／認識、（航空写真測量に代わる）航空データ収集、および水中視察（underwater vision）がある。
自動位置決め
将来は、ボーイング社などの工場で導入されている３Ｄ設計と共に、完全な３次元的設計が浸透するにつれ、建物から自動車部品に至るオブジェクトをデザイナーのコンピューター画面から直接精確に位置決めする能力が標準になるであろう。Ｃｙｒａ社は、かかる空間的位置決め問題に向けた、比較的簡単かつ低コストのデータ取得技術への拡張を目指して研究している。
A．序論
ＡＥＣ産業分野で正確な空間情報に対する需要およびそれを与えるツールの不在に刺激されて、Ｃｙｒａテクノロジー社はＣｙｒａｘという携帯可能な三次元データ取得ツールを開発している。多くの点でカメラと類似している現在開発中の装置は、カメラの前面に拡がる視界を構成する「ポイント」ワールドに対して三次元座標を捕捉する能力を与える。Ｃｙｒａｘはカメラのスピードと大きなデータ取得性を正確な３次元空間データの捕捉機能に結合する。Ｃｙｒａｘの設計仕様は、50メートルまでの距離でミリメートル単位（モデルの一つは1ミリメートルまで、別のモデルでは６ミリメートルまでの精度）の現場測定ができる高精度高速デジタル装置を目標としている。Ｃｙｒａｘのソフトウエアは、小さい携帯用コンピューターで走るものであり、ハードウェアと結合して高度のポイント処理およびハードウェアとの相性の良いインターフェースを与える。
Ｃｙｒａｘ-アーチストの概念
ＡＥＣ分野の専門家達が有益なデバイスを得られるデバイスに必要な設計条件から出発して、実現の可能性がある技術の評価が行われた。Ｃｙｒａｘの予備的仕様は既存のいかなるデータ取得方法の限界をも越えているが、Ｃｙｒａ社はレーザー技術、特にレーザーレーダーに、照準を当てて努力している。大学、政府の研究所、並びにＣｙｒａ社チームによる集中的な研究により、上記設計仕様を満たすに必要な根幹技術のコンポーネントの生成および組み立てが行われている。
Ｃｙｒａｘ
Ｃｙｒａｘソフトウェアは、レーザーレーダーおよびピコ秒レベルの超高速電子工学を使って白昼下に毎秒数千個の三次元座標を捕捉するように設計された。
Ｃｙｒａｘソフトウエアはハードウェアと同様に高度である。その革新的でユーザー・フレンドリーなコードにより、オペレーターはスキャンプロセスに向かうことができ、その結果生じたポイント群から意味のあるデータを生成することができる。ソフトウエアチームは現在、オブジェクトの自動認識および自動生成に残る限界を無くす方向に努力しており、高速かつ容易な表面生成ツールおよびオブジェクト生成ツールと同様、これまでに半自動化した３Ｄオブジェクト分割ルーチンを開発した。
B．レーザーレーダー
発見から３０年も経っているにもかかわらず、「ライダー（’lidar’）」すなわちレーザーレーダーは防衛産業外では限定的な用途しかなかった。しかしより簡単で低コストのマイクロチップレーザーが開発されたこともあり、また政府防衛研究を産業へ解放する政策が執られるにいたったこともあって、近年は状況が変わった。１９８６年の第一回レーザーレーダー年次会議でライダー技術は真実、それ自体の地歩を得た。
従来のレーダーと同様に、ライダーは光パルスの戻り時間の正確な測定、あるいは光パルスの位相シフトの精確な測定に基づいている。レーザーから出たコヒーレント光ビームを非常に鋭く収束させ、かつこれを「照準可能な」ビームにして使用することにより、ターゲッティングに顕著な利点が得られる。しかしながら最近になるまで、レーザーレーダーは技術的に制約があった。第一に、ターゲット上に反射器を配置せずに測定できるほど十分に鋭い高エネルギーパルスを安全に提供できるレーザーがほとんどなかった。第二に、「光速」測定システムに必要なピコ秒単位で応答できる電子機器がないため、収束された高出力レーザー放射ビームのタイムオブフライト（time of flight）などを測定する高速かつ高精度の電子工学装置の精度が欠如していた。その結果、レーザー式のレンジ決定用トータルステーションのようなシステムはタイミング電子装置のエラーを平均するため、数百回、ときには数千回もの測定を行わなければならなかった。
先進的国立研究所において近年開発された極めて鋭い高エネルギーパルスを出すことができるマイクロチップによって、レーザーレーダーシステムが得られる可能性が新たに開かれた。Ｃｙｒａテクノロジー社は迅速に対応し、Ｃｙｒａ社のマーケットに対しこの特許レーザーの世界的独占権を取得した。
C．Ｃｙｒａｘシステム
Ｃｙｒａｘは、次の3つの主要なコンポーネントからなる。
・電子レーザースキャナー、すなわち
「フィールド デジタル ビジョン」マシーン．
・ＦＤＶ制御、ターゲティング兼イメージ「組立」ソフトウエア、すなわち
「コンピューターグラフィック認識（Computer Graphic Perception）」モジュール．
・既存のサードパーティーＣＡＤに対する通信ソフト。
開発戦略
【310】
Ｃｙｒａｘは、Ｃｙｒａ社の副社長ジェリー・ディムデイル博士の指揮の下で国際的エキスパートチームによって開発されている。マサチューセッツ工科大学リンカーン研究所はＣｙｒａ社が供給する資金により、ＦＤＶの一部であるライダートランシーバ（送信器および受信器）を開発した。スキャンシステムおよび電子装置を含むＦＤＶの残りの装置はＣｙｒａ社およびいくつかのコンサルタントとベンダーによって開発された。開発されたコンピューターグラフィックソフトウェアは、カルフォルニア大学バークレー校の研究者達の援助を受けてＣｙｒａ社で行われている。開発を進めるにあたり、すべての段階でＣｙｒａ社のマーケティングチームと、本技術の進化を導く上で協力しかつ援助をするよう内密に説明を受けて開発期間中に参加した重要な産業界の代表者達とが密接な協力を保っている。
ＦＤＶ
携帯可能な「フィールドデジタルビジョン（Field Digital Vision、ＦＤＶ）」システムは、次の3つの主要な要素を持っている：
ライダートランシーバ
レーザー
検出器
光学装置
タイミング電子装置
電気機械のスキャナー
ドライブモーター
照準鏡
エンコーダ
制御電子装置
内部コンピュータおよび＆電子装置
埋込みデジタル信号プロセッサ
補助的電子装置および電源管理装置
バッテリー電力供給源
ＣＧＰは、システムの「頭脳」である。これは現在の技術に立脚したグラフィックソフトウエアからなる複雑な構成をもつものであって、レーザースキャナそれ自体がそうであるように、多くの技術的限界を取り除くものである。それが提供する直観的なグラフィックインタフェースにより、ユーザーはエリアおよびその前方にあるワールドの「ビデオ」ビュー上でスキャンすべきものの詳細に照準を合わせることができる。ＦＤＶがシーンのうちの選択した部分をスキャンするに伴い、ＣＧＰがポイントを、深度に応じた陰影を付けた第二の三次元ビューの形で表示する。
本ＣＧＰの有力さを明瞭に示しているのは、ポイントを表示するこの第二のウィンドウである。オブジェクトを構築するためのアルゴリズムにより、ユーザーは数回のマウスクリックにより「ポイント群（clound of points）」をＣＡＤで読み取り可能な平面、円筒、表面に変えることができる。正確さが必要であることがわかっているので、ソフトウエアはプロセスの全期間中、スキャンしたすべてのデータポイントを保持する（したがって、後に加えられるかもしれない任意の追加データを、最適フィットアルゴリズムが利用できる）。従来のサーベイおよびスキャニング装置とは異なって、このデータの組立ては極めて迅速に、かつ現場で行うことができる。これは、明らかな利点である：データは現場で容易に点検することができ、明白な誤りを除去することができる。（従来はそれをしようにも余りにも頻繁でできなかった。）モデルを組み立てるとさらに詳細なデータが必要であるエリアが明白となるので、そのときは容易に更なるデータを追加することができる。
ただ一つの位置から全体のオブジェクトを捕捉することができない状況に備えて、Ｃｙｒａ社は複数のスキャンの組を一つの大きな単体にまとめる「ＺＩＰ」ソフトウェアを設計した。
このＣＧＰはオープンアーキテクチャーを基礎としており、最も将来性が高くかつ将来の修正が容易なように書かれている。
開発は、オブジェクト指向の米国規格協会C++言語と業界標準のＯｐｅｎＧＬその他のグラフィック環境を併せて使用し、「シリコングラフィックス」社ワークステーション上で行った。Ｃｙｒａｘは携帯可能な現場操作用のシステムなので、Ｃｙｒａ社はＣＧＰを一般的な軽量のインテル-ベースのラップトップ上で実行できるようにした。Ｃｙｒａ社は、マイクロソフトＷｉｎｄｏｗｓＮＴの下で、ＣＧＰがインテル４８６ラップトップ上で首尾よく走ることを実証した。
現在、本システムにいくつかのコンピューターハードウェアオプションを提供する計画がある。（予備的価格計画については付録Ｌを参照されたい。）これらの計画は、ハイブリッド型のペン入力式ＩＢＭペンティアムＴｈｉｎｋＰａｄから、多数のグラフィックアクセラレーターボード（ＯＫＩアメリカトライアングル社のＷｉｎｄｏｗｓＮＴ用ＯｐｅｎＧＬアクセラレーターなど）の一つを装着する拡張スロット付きの、ペンティアムまたはパワーＰＣを使用する従来通りのラップトップにおよんでいる。究極の機能が必要であって固定電源へのアクセスを有するユーザーにはＳＧＩワークステーションを提供することができる。
ＣＡＤリンク
‘すでにある車輪を再度工夫する’代わりに、従来のモデリング、編集その他のデータ操作の需要に対しては、Ｃｙｒａｘは既存のＣＡＤソフトウェアに融合する。購買者が自己所有のＣＡＤシステムを使用し続けることができるようにすることにより（ほとんどのＣｙｒａｘユーザーはすでに何らかのＣＡＤパッケージを所有しているであろうからから）、ソフトウエアのコストおよびサポートコストが抑制され、ソフトウェア間の互換性が保証される。業界標準の３Ｄ ＤＸＦファイルフォーマットのサポートを通して、ＣＧＰはほとんど現存するすべてのＣＡＤプログラムとリンクすることができる。他の３Ｄデータフォーマットへのサポートは、その特徴を強化して提供することが有益である特殊な産業分野（たとえば自動車業界など）のために追加することを考慮している。特定のパッケージと一層密接な統合を望む人々には、ＣＧＰのオープンアーキテクチャーによって、プログラム可能なＣＡＤシステムと結合することは比較的容易である。---インテグラフ社（Intergraph）のソフトウエアＲｏａｄＷｏｒｋｓ内でＣＧＰを実行するデモンストレーションが１９９４年の夏に行なわれた。
D．競争会社の技術の概観
目標となる3つのマーケット分野間に違いがあるにもかかわらず、土台をなす技術は広範囲に共通している。３Ｄデータ取得技術には二つの基本的なカテゴリがある。それらは接触方式（プローブやテープなどを使うもの）と非接触方式（レーザーや写真測量法など）である。接触方式のシステムでは、大きさを測定すべきポイントに可動測定デバイス（通常、針先の付いた杖、あるいは杭に反射鏡を付けたもの）を観測点にもってゆく。他方、非接触方式のシステムでは、物理的に離隔されたオブジェクト上のポイントの空間的位置を（しばしば光の反射を使って）遠隔的に測定する。
0004400894.tif 000025
それぞれの技術は利点と不利点とをもっている。プローブは他のものよりも正確であるが、通常、遅くて煩わしい（というのは、プロープはデータを遂一ポイント毎に集めるからである。）非接触方式は、他のものより速い。（これらの方法は測定すべき各ポイントまで移動する必要も接触する必要もないからである。）
上記の表に示すように、（そして使用されるシステムの多様さが示すように）Ｃｙｒａ社の画期的解決法が現れる前は、どれも他の技術を凌駕するほどの性能をもっていなかった。
徹底的な世界的規模の調査によって、機械的アームからＧＰＳ受信器およびレーザースキャナに至るまで様々な形態の３Ｄデータ取得システムを販売するベンダーが７０社以上見つかった。「トータルステーション」技術および「ＧＰＳトータルステーション」技術を除いて、これらの大多数は高価な限定的機能のシステムを少量販売する小規模かつ資金力の乏しい企業である。ベンダーおよびその製品の写真付き解説とともに企業の競業状況が付録Ｂに掲載してある。
データ収集システムに関する多くの競争相手のうち、ただ２社（メンシ社（ＭＥＮＳＩ）およびエス・エム・エックス社（ＳＭＸ））のみが大きな距離（５０ないし１００メートル）での３Ｄデータを収集できる能力をもっている。これらのレーザーベースシステムはＣｙｒａに類似するように見えるが、これらには各々重大な制約がある。ＳＭＸ社のチェサピーク（Chesapeake）レーザー干渉計システムは、価格が１０万ドル以上であり、測定すべき各ポイントにプローブを配置する必要がある。その利点は、高い精度にある。メンシ社のソイシック（Soisic）レーザーは三角測量を使うが、１秒あたり１００ポイントの収集に限られ、極端に携帯性に欠ける（大きくて重く、かつＡＣ電源を必要とする）。また価格がほぼ２６万ドルである。どちらのシステムも、Ｃｙｒａｘのソフトウエアの高度さを備えているとは思われない。
【図１】
0004400894.tif 000026
【図２】
0004400894.tif 000027
【図１Ａ】
0004400894.tif 000028
【図３Ａ】
0004400894.tif 000029
【図３】
0004400894.tif 000030
【図４】
0004400894.tif 000031
【図５】
0004400894.tif 000032
【図６】
0004400894.tif 000033
【図７Ａ】
0004400894.tif 000034
【図８Ａ】
0004400894.tif 000035
【図７】
0004400894.tif 000036
【図８】
0004400894.tif 000037
【図６Ａ】
0004400894.tif 000038
【図９】
0004400894.tif 000039
【図１０】
0004400894.tif 000040
【図１１Ａ】
0004400894.tif 000041
【図１１Ｂ】
0004400894.tif 000042
【図１２】
0004400894.tif 000043
【図１３】
0004400894.tif 000044
【図１４】
0004400894.tif 000045
【図１５】
0004400894.tif 000046
【図１６】
0004400894.tif 000047
【図１７】
0004400894.tif 000048
【図１８】
0004400894.tif 000049
【図１９】
0004400894.tif 000050
【図２０】
0004400894.tif 000051
【図２１】
0004400894.tif 000052
【図２２】
0004400894.tif 000053
【図２３】
0004400894.tif 000054
【図２４】
0004400894.tif 000055
【図２５】
0004400894.tif 000056
【図２６】
0004400894.tif 000057
【図２７】
0004400894.tif 000058
【図２８】
0004400894.tif 000059
【図２９】
0004400894.tif 000060
【図３０】
0004400894.tif 000061
【図３１】
0004400894.tif 000062
【図３２】
0004400894.tif 000063
【図３３】
0004400894.tif 000064
【図３４】
0004400894.tif 000065
【図３５】
0004400894.tif 000066
【図３６】
0004400894.tif 000067
【図３７】
0004400894.tif 000068
【図３８】
0004400894.tif 000069
【図３９】
0004400894.tif 000070
【図４０】
0004400894.tif 000071