JPH11132724A - 3次元形状データ処理装置 - Google Patents
3次元形状データ処理装置Info
- Publication number
- JPH11132724A JPH11132724A JP9301636A JP30163697A JPH11132724A JP H11132724 A JPH11132724 A JP H11132724A JP 9301636 A JP9301636 A JP 9301636A JP 30163697 A JP30163697 A JP 30163697A JP H11132724 A JPH11132724 A JP H11132724A
- Authority
- JP
- Japan
- Prior art keywords
- points
- point
- path
- length
- dimensional model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
(57)【要約】
【課題】 3次元形状表面の4点以上を通る経路の経路
長を測定できるようにすることを目的とする。 【解決手段】 通過点受付手段が受け付ける測定対象表
面上の経路を通るN個(N>3)の点を、組分け手段に
より他の組と2点を共有する3点ずつの組に分け、算出
手段で前記組を構成する3点を通る平面と測定対象表面
との交線上において当該3点を始点、通過点、終点とし
て各点間の経路の長さを算出し、距離推定手段で各組で
共有する前記2点間の実際の距離を、前記算出手段によ
り組ごとに算出される当該2点間の複数の経路の長さか
ら推定し、総経路長算出手段が前記算出手段により算出
された経路の長さと、前記距離推定手段により推定され
た経路の長さとを用いてN点を通る経路長を算出するよ
うにする。
長を測定できるようにすることを目的とする。 【解決手段】 通過点受付手段が受け付ける測定対象表
面上の経路を通るN個(N>3)の点を、組分け手段に
より他の組と2点を共有する3点ずつの組に分け、算出
手段で前記組を構成する3点を通る平面と測定対象表面
との交線上において当該3点を始点、通過点、終点とし
て各点間の経路の長さを算出し、距離推定手段で各組で
共有する前記2点間の実際の距離を、前記算出手段によ
り組ごとに算出される当該2点間の複数の経路の長さか
ら推定し、総経路長算出手段が前記算出手段により算出
された経路の長さと、前記距離推定手段により推定され
た経路の長さとを用いてN点を通る経路長を算出するよ
うにする。
Description
【0001】
【発明の属する技術分野】本発明は、計測対象の3次元
形状データを用いて測定対象の物理的な性質を解析する
3次元形状データ処理装置に関し、特に、計測対象表面
の複数点を通る経路長を求めるものに関する。
形状データを用いて測定対象の物理的な性質を解析する
3次元形状データ処理装置に関し、特に、計測対象表面
の複数点を通る経路長を求めるものに関する。
【0002】
【従来の技術】近年の3次元データ計測技術の進歩とと
もに、3次元データ計測機器によって測定された3次元
データを解析することで、計測対象物体の表面に沿った
経路長を測定する需要が高まっている。具体的には、人
間に優しい物づくりに対する社会的要請の高まりによ
り、人体を直接計測して得られた形状モデルデータに基
づいてオーダーメイドの衣服や靴や眼鏡等の服飾品を設
計することが行われ始めている。このような形状モデル
データに基づくオーダーメードによる設計を行う場合、
人体の特徴的な箇所を複数点指定し、その複数点を通る
経路の長さを参考として設計が行われる。この設計の
際、服飾品が人体に密着することを鑑みて特徴点間の単
純な直線距離の総和ではなく、人体の表面上を通る経路
長を求めることが望ましい。
もに、3次元データ計測機器によって測定された3次元
データを解析することで、計測対象物体の表面に沿った
経路長を測定する需要が高まっている。具体的には、人
間に優しい物づくりに対する社会的要請の高まりによ
り、人体を直接計測して得られた形状モデルデータに基
づいてオーダーメイドの衣服や靴や眼鏡等の服飾品を設
計することが行われ始めている。このような形状モデル
データに基づくオーダーメードによる設計を行う場合、
人体の特徴的な箇所を複数点指定し、その複数点を通る
経路の長さを参考として設計が行われる。この設計の
際、服飾品が人体に密着することを鑑みて特徴点間の単
純な直線距離の総和ではなく、人体の表面上を通る経路
長を求めることが望ましい。
【0003】このような要求を満たすため、特願平8−
157042号において形状モデルデータ表面上の始
点、終点、通過点の3点を指定し、当該3点を通る平面
と形状モデル表面との交線上を3点を通る経路が存在す
ると見なして、当該3点を通る経路の長さを算出する技
術を提案している。
157042号において形状モデルデータ表面上の始
点、終点、通過点の3点を指定し、当該3点を通る平面
と形状モデル表面との交線上を3点を通る経路が存在す
ると見なして、当該3点を通る経路の長さを算出する技
術を提案している。
【0004】
【発明が解決しようとする課題】しかしながら、3次元
形状表面上の経路は一平面上に存在しない場合もある。
即ち、形状モデルデータ表面に4点以上の点が指定され
た場合には、これを通る経路は通常は一平面上には存在
しないので上記技術では経路長を計算することができな
い。
形状表面上の経路は一平面上に存在しない場合もある。
即ち、形状モデルデータ表面に4点以上の点が指定され
た場合には、これを通る経路は通常は一平面上には存在
しないので上記技術では経路長を計算することができな
い。
【0005】本発明はかかる課題を解決し、3次元形状
表面の4点以上を通る経路の長さを算出できる3次元形
状データ処理装置を提供することを目的とする。
表面の4点以上を通る経路の長さを算出できる3次元形
状データ処理装置を提供することを目的とする。
【0006】
【課題を解決するための手段】上記目的を達成するため
本発明は、3次元形状をもつ測定対象の表面を通る経路
の長さを測定する3次元データ処理装置において、測定
対象表面上の経路を通るN個(N>3)の点の入力を受
け付ける通過点受付手段と、受付られたN個の点を、他
の組と2点を共有する3点ずつの組に分ける組分け手段
とを設けている。そして、前記組を構成する3点を通る
平面と測定対象表面との交線上において当該3点を始
点、通過点、終点として各点間の経路の長さを算出する
算出手段と、各組で共有する前記2点間の実際の距離
を、前記算出手段により組ごとに算出される当該2点間
の複数の経路の長さから推定する距離推定手段とを設
け、さらに、前記算出手段により算出された経路の長さ
と、前記距離推定手段により推定された経路の長さとを
用いてN個の点を通る経路長を算出する総経路長算出手
段とを設けてなるものである。
本発明は、3次元形状をもつ測定対象の表面を通る経路
の長さを測定する3次元データ処理装置において、測定
対象表面上の経路を通るN個(N>3)の点の入力を受
け付ける通過点受付手段と、受付られたN個の点を、他
の組と2点を共有する3点ずつの組に分ける組分け手段
とを設けている。そして、前記組を構成する3点を通る
平面と測定対象表面との交線上において当該3点を始
点、通過点、終点として各点間の経路の長さを算出する
算出手段と、各組で共有する前記2点間の実際の距離
を、前記算出手段により組ごとに算出される当該2点間
の複数の経路の長さから推定する距離推定手段とを設
け、さらに、前記算出手段により算出された経路の長さ
と、前記距離推定手段により推定された経路の長さとを
用いてN個の点を通る経路長を算出する総経路長算出手
段とを設けてなるものである。
【0007】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照しながら説明する。 (1)システム構成 図1に本実施の形態に係る3次元形状データ処理装置の
内部構成を示す機能ブロック図を図1に示す。図に示す
ように本3次元形状データ処理装置は光学的測定部1、
測定対象モデル化部2、ディスク装置3、ディスプレイ
4、マウス5、キーボード6、GUIシステム7、メイン
モジュール8、及びメジャーリングモジュール9から構
成される。
て図面を参照しながら説明する。 (1)システム構成 図1に本実施の形態に係る3次元形状データ処理装置の
内部構成を示す機能ブロック図を図1に示す。図に示す
ように本3次元形状データ処理装置は光学的測定部1、
測定対象モデル化部2、ディスク装置3、ディスプレイ
4、マウス5、キーボード6、GUIシステム7、メイン
モジュール8、及びメジャーリングモジュール9から構
成される。
【0008】光学的測定部1は例えば特開平7−174
536に記載されたレンジファインダーのような装置で
あり、レーザ測定機器を有し測定対象を光学的に読み取
る。測定対象モデル化部2は光学的に読み取られた測定
対象を立体モデル化する。立体モデルと測定対象との関
係を図2(a)(b)に示す。図2(a)は測定対象の
一例である人体の一部を示す。この測定対象表面上の複
数点が光学的測定部1によってレーザー照射され、各点
の空間座標上の位置が読み取られていく。このように読
み取られた位置データを用いて、測定対象モデル化部2
は図2(b)に示すように測定対象を立体モデル化す
る。立体モデル(3次元形状モデル)とは測定対象を多
面体近似で表現したポリゴンメッシュデータによるモデ
ルであり、何千個、何万個の平面から構成される。
536に記載されたレンジファインダーのような装置で
あり、レーザ測定機器を有し測定対象を光学的に読み取
る。測定対象モデル化部2は光学的に読み取られた測定
対象を立体モデル化する。立体モデルと測定対象との関
係を図2(a)(b)に示す。図2(a)は測定対象の
一例である人体の一部を示す。この測定対象表面上の複
数点が光学的測定部1によってレーザー照射され、各点
の空間座標上の位置が読み取られていく。このように読
み取られた位置データを用いて、測定対象モデル化部2
は図2(b)に示すように測定対象を立体モデル化す
る。立体モデル(3次元形状モデル)とは測定対象を多
面体近似で表現したポリゴンメッシュデータによるモデ
ルであり、何千個、何万個の平面から構成される。
【0009】図2(c)に示すy201内の円は、図2
(b)の立体モデルの円y200に囲まれる部分を拡大
して表している。立体モデルを構成する個々の平面はポ
リゴンメッシュと称され三角形或は四角形の形状を有す
る。なお、図2(c)のy201内には立体モデルデー
タが生成されていない箇所が存在する。これは光学的測
定部の反射光の読み取り不良によって生じた欠損部であ
る。
(b)の立体モデルの円y200に囲まれる部分を拡大
して表している。立体モデルを構成する個々の平面はポ
リゴンメッシュと称され三角形或は四角形の形状を有す
る。なお、図2(c)のy201内には立体モデルデー
タが生成されていない箇所が存在する。これは光学的測
定部の反射光の読み取り不良によって生じた欠損部であ
る。
【0010】立体モデルのデータ構造を図3に示す。立
体モデルを表すデータは全頂点数・全ポリゴンメッシュ
数の組みと、ポリゴンメッシュリストと、頂点リストと
からなる。頂点リストは、各頂点に付された識別子と、
各頂点の3次元座標を示すリストである。また、ポリゴ
ンメッシュリストは、各ポリゴンメッシュに付された識
別子と、各ポリゴンメッシュを構成する頂点の数と、当
該ポリゴンメッシュを構成する各頂点の識別子とを示す
リストである。
体モデルを表すデータは全頂点数・全ポリゴンメッシュ
数の組みと、ポリゴンメッシュリストと、頂点リストと
からなる。頂点リストは、各頂点に付された識別子と、
各頂点の3次元座標を示すリストである。また、ポリゴ
ンメッシュリストは、各ポリゴンメッシュに付された識
別子と、各ポリゴンメッシュを構成する頂点の数と、当
該ポリゴンメッシュを構成する各頂点の識別子とを示す
リストである。
【0011】ポリゴンメッシュリストにおける各ポリゴ
ンメッシュを構成する頂点の識別子の配置順序は当該立
体モデルを表側から見た時に左回りになるような順序で
あり、これにより各ポリゴンメッシュの表裏の識別、お
よび、立体モデルの内部・外部の識別ができるようにな
っている。ディスク装置3には、立体モデルデータを収
録したデータファイルが多数蓄積される。
ンメッシュを構成する頂点の識別子の配置順序は当該立
体モデルを表側から見た時に左回りになるような順序で
あり、これにより各ポリゴンメッシュの表裏の識別、お
よび、立体モデルの内部・外部の識別ができるようにな
っている。ディスク装置3には、立体モデルデータを収
録したデータファイルが多数蓄積される。
【0012】ディスプレイ4は20インチ以上の広々と
した表示面を有し、ここに何枚ものウィンドウを配する
ことができる。ディスプレイ4におけるウィンドウには
『ビューワー(VIEWER)』、『キャンバス(CANVAS)』、
『パネル』といった三つの種別がある。ビューワーとは
3次元データ表示用のウィンドウであり、キャンバスと
は二次元データ表示用のウィンドウであり、パネルとは
各種操作用ボタンや計測値を表示するためのウインドウ
である。
した表示面を有し、ここに何枚ものウィンドウを配する
ことができる。ディスプレイ4におけるウィンドウには
『ビューワー(VIEWER)』、『キャンバス(CANVAS)』、
『パネル』といった三つの種別がある。ビューワーとは
3次元データ表示用のウィンドウであり、キャンバスと
は二次元データ表示用のウィンドウであり、パネルとは
各種操作用ボタンや計測値を表示するためのウインドウ
である。
【0013】なお、ビューワーの表示には、レンダリン
グ処理によりその表面に陰影を付すことができ、テクス
チャマッピング処理により模様・柄を張り付けることも
できる。また、ビューワーの表示にはウィンドウの他に
も、液晶シャッターを具備したゴーグルタイプの3次元
ディスプレイやリアルタイムホログラフィー等を用いる
ことも可能である。
グ処理によりその表面に陰影を付すことができ、テクス
チャマッピング処理により模様・柄を張り付けることも
できる。また、ビューワーの表示にはウィンドウの他に
も、液晶シャッターを具備したゴーグルタイプの3次元
ディスプレイやリアルタイムホログラフィー等を用いる
ことも可能である。
【0014】ディスプレイ4の表示例を図4に示す。本
図においてディスプレイ4の表示面には、3つのビュー
ワーy2201〜y2203と、4つのキャンバスy22
04〜y2207と、2つのパネル70、90が配置さ
れている。ビューワーy2201には立体モデルデータ
の斜視像が表示され、ビューワーy2202には側面像
が表示され、ビューワーy2203は立体モデルデータ
の上面像が表示されている。キャンバスy2204〜y
2206には、立体モデルデータを切断した断面像が表
示される。このようにキャンバスを複数配しているの
は、例えば、立体モデルの首周り、腰周り、胸周り等立
体モデルの複数の断面を個別に表示させるためである。
パネルには立体モデルの断面積情報や、距離情報を表示
したり、使用者の指示を入力するためのメジャーリング
処理操作パネルや、曲面モード時の特徴量の表示や使用
者の指示を入力するための曲面モード処理用パネル等が
ある。
図においてディスプレイ4の表示面には、3つのビュー
ワーy2201〜y2203と、4つのキャンバスy22
04〜y2207と、2つのパネル70、90が配置さ
れている。ビューワーy2201には立体モデルデータ
の斜視像が表示され、ビューワーy2202には側面像
が表示され、ビューワーy2203は立体モデルデータ
の上面像が表示されている。キャンバスy2204〜y
2206には、立体モデルデータを切断した断面像が表
示される。このようにキャンバスを複数配しているの
は、例えば、立体モデルの首周り、腰周り、胸周り等立
体モデルの複数の断面を個別に表示させるためである。
パネルには立体モデルの断面積情報や、距離情報を表示
したり、使用者の指示を入力するためのメジャーリング
処理操作パネルや、曲面モード時の特徴量の表示や使用
者の指示を入力するための曲面モード処理用パネル等が
ある。
【0015】ビューワーにおける座標系と、キャンバス
における座標系との対応関係を図5に示す。図5(b)
においてビューワー系の座標は立体モデルデータの左下
を原点としている。これに対してキャンバスにおける座
標系は基準平面と呼ぶ仮想的な平面体の中心を原点と
し、この平面上に設定されるX軸、Y軸を基準とする座
標系を形成する。この基準平面は使用者が立体モデルの
どの部分を計測し、修復するか等を指定するためにもち
いる仮想的な平面体であり、ビューワーにおいて立体モ
デルと共に表示される。なお、基準平面の表側にあるポ
リゴンメッシュはZ座標において正の座標値をとり、裏
側にあるポリゴンメッシュはZ座標において負の座標値
をとるようにしてある。
における座標系との対応関係を図5に示す。図5(b)
においてビューワー系の座標は立体モデルデータの左下
を原点としている。これに対してキャンバスにおける座
標系は基準平面と呼ぶ仮想的な平面体の中心を原点と
し、この平面上に設定されるX軸、Y軸を基準とする座
標系を形成する。この基準平面は使用者が立体モデルの
どの部分を計測し、修復するか等を指定するためにもち
いる仮想的な平面体であり、ビューワーにおいて立体モ
デルと共に表示される。なお、基準平面の表側にあるポ
リゴンメッシュはZ座標において正の座標値をとり、裏
側にあるポリゴンメッシュはZ座標において負の座標値
をとるようにしてある。
【0016】基準平面について図6、図7を参照しなが
ら説明する。図6(a)に示すように基準平面の中心位
置には、キャンバス座標系のX軸Y軸Z軸が直交してい
る。直交点がキャンバス座標系における原点となる。こ
れらのX軸Y軸Z軸は基準平面と共に表示され、また、
各軸は区別が容易なように異なる色に設定され、さら
に、その正の部分と負の部分でも異なる色となるように
してある。
ら説明する。図6(a)に示すように基準平面の中心位
置には、キャンバス座標系のX軸Y軸Z軸が直交してい
る。直交点がキャンバス座標系における原点となる。こ
れらのX軸Y軸Z軸は基準平面と共に表示され、また、
各軸は区別が容易なように異なる色に設定され、さら
に、その正の部分と負の部分でも異なる色となるように
してある。
【0017】図6(a)に示す基準平面は図6(b)に
示すデータ構造で表現される。即ち基準平面は、法線ベ
クトル(p,q,r)と、ビューワー座標系で表された中
心位置の座標(Xa、Ya、Za)と、縦幅LXと、横幅Ly
とを対応づけたデータ構造で表現される。ビューワー座
標系において基準平面上の任意の座標(X,Y,Z)と法
線ベクトル(p,q,r)との間にはp(X−Xa)+q
(Y−Ya)+r(Z−Za)=0の関係が成立する。
示すデータ構造で表現される。即ち基準平面は、法線ベ
クトル(p,q,r)と、ビューワー座標系で表された中
心位置の座標(Xa、Ya、Za)と、縦幅LXと、横幅Ly
とを対応づけたデータ構造で表現される。ビューワー座
標系において基準平面上の任意の座標(X,Y,Z)と法
線ベクトル(p,q,r)との間にはp(X−Xa)+q
(Y−Ya)+r(Z−Za)=0の関係が成立する。
【0018】また、基準平面は6自由度(3次元空間に
おける位置と姿勢)を持つ。即ち、図7(a)に示すよ
うに、基準平面の姿勢は、使用者の操作に応じてX軸Y軸
Z軸周りの矢印Rx,Ry,Rz方向に回転し、図7(b)に
示すように、基準平面の位置はX軸Y軸Z軸の矢印mx,m
y,mz方向にスライドするようにしてある。マウス5及
びキーボード6は、キャンバスやビューワー内の位置の
指定や、各種パネルに設定されるボタンを指示し、数値
を入力するための入力装置である。
おける位置と姿勢)を持つ。即ち、図7(a)に示すよ
うに、基準平面の姿勢は、使用者の操作に応じてX軸Y軸
Z軸周りの矢印Rx,Ry,Rz方向に回転し、図7(b)に
示すように、基準平面の位置はX軸Y軸Z軸の矢印mx,m
y,mz方向にスライドするようにしてある。マウス5及
びキーボード6は、キャンバスやビューワー内の位置の
指定や、各種パネルに設定されるボタンを指示し、数値
を入力するための入力装置である。
【0019】GUIシステム7はイベント管理を行い、デ
ィスプレイ4におけるキャンバス及びビューワーの割り
当てや、各種メニュ−を割り当てを制御する。メインモ
ジュール8は、メインルーチンの手順を記述した実行形
式のプログラムであり、メジャーリングモジュール9
は、メインルーチンから分岐するメジャーリング処理や
その他の処理の手順を記述した実行形式のプログラムで
ある。これらのモジュールはディスク装置3からメモリ
上にロードされ、プロセッサ10によって逐一実行され
る。
ィスプレイ4におけるキャンバス及びビューワーの割り
当てや、各種メニュ−を割り当てを制御する。メインモ
ジュール8は、メインルーチンの手順を記述した実行形
式のプログラムであり、メジャーリングモジュール9
は、メインルーチンから分岐するメジャーリング処理や
その他の処理の手順を記述した実行形式のプログラムで
ある。これらのモジュールはディスク装置3からメモリ
上にロードされ、プロセッサ10によって逐一実行され
る。
【0020】プロセッサ10は、解読器、ALU、各種レ
ジスタを具備した集積回路でありメインモジュール8、
メジャーリングモジュール9の内容に基づいて各種3次
元データ処理を制御する。なお、上記3次元データ処理
装置は、光学的測定部1のデータを入力できるようにし
た通常のコンピュータを用い、当該コンピュータに以下
に示す動作・機能を行わせるようなプログラムを内蔵さ
せることによっても実現可能であり、当該プログラムは
CD−ROMのような当該コンーピュータで読み取り可
能な記録媒体に記録することができる。
ジスタを具備した集積回路でありメインモジュール8、
メジャーリングモジュール9の内容に基づいて各種3次
元データ処理を制御する。なお、上記3次元データ処理
装置は、光学的測定部1のデータを入力できるようにし
た通常のコンピュータを用い、当該コンピュータに以下
に示す動作・機能を行わせるようなプログラムを内蔵さ
せることによっても実現可能であり、当該プログラムは
CD−ROMのような当該コンーピュータで読み取り可
能な記録媒体に記録することができる。
【0021】(2)制御動作の概要 次に、図8のメインフローチャートを参照しながらメイ
ンモジュール8に基づいたプロセッサの制御内容につい
て説明を行う。まず、ステップ10でプロセッサ10
は、ハードウェアの初期化や各種ウィンドウの表示等の
初期設定を行う。初期設定後、ディスプレイ4には立体
モデルデータ取り込み処理、メジャーリング処理、その
他の処理の何れを実行するかを使用者に問うPOPUPメニ
ューを表示する。ここで使用者が立体モデルデータ取り
込み処理を選択するとステップ11がYesになりステッ
プ12に移行する。
ンモジュール8に基づいたプロセッサの制御内容につい
て説明を行う。まず、ステップ10でプロセッサ10
は、ハードウェアの初期化や各種ウィンドウの表示等の
初期設定を行う。初期設定後、ディスプレイ4には立体
モデルデータ取り込み処理、メジャーリング処理、その
他の処理の何れを実行するかを使用者に問うPOPUPメニ
ューを表示する。ここで使用者が立体モデルデータ取り
込み処理を選択するとステップ11がYesになりステッ
プ12に移行する。
【0022】ステップ12ではプロセッサ10は光学的
測定部1を起動し、光学的測定部1により測定対象にレ
ーザを照射させ、その反射光を測定させる。レーザー照
射が済むと、測定対象モデル化部2に測定結果に基づい
て立体モデルデータを生成させる。これにより図2の説
明図に示したような立体モデルデータが生成される。こ
のように立体モデルを生成すると、ステップ17におい
てプロセッサ10は生成した立体モデルデータをビュー
ワーに表示する。ステップ17によりディスプレイは、
図4に示した表示例のような画面になる。この画面にお
けるカーソル位置は、GUIシステム7のイベント管理に
よって適宜移動する。
測定部1を起動し、光学的測定部1により測定対象にレ
ーザを照射させ、その反射光を測定させる。レーザー照
射が済むと、測定対象モデル化部2に測定結果に基づい
て立体モデルデータを生成させる。これにより図2の説
明図に示したような立体モデルデータが生成される。こ
のように立体モデルを生成すると、ステップ17におい
てプロセッサ10は生成した立体モデルデータをビュー
ワーに表示する。ステップ17によりディスプレイは、
図4に示した表示例のような画面になる。この画面にお
けるカーソル位置は、GUIシステム7のイベント管理に
よって適宜移動する。
【0023】また、使用者が立体モデルデータの計測、
修復処理を選択するとステップ13がYesとなり、ステ
ップ14へ移行する。この処理の内容については後に詳
述する。使用者がこれら以外の処理を選択すると、S1
5がYesとなり、ステップ16へ移行し、プロセッサ1
0はデータの削除、変換等の加工処置や、立体モデルの
回転、移動等の処理を行わせる。
修復処理を選択するとステップ13がYesとなり、ステ
ップ14へ移行する。この処理の内容については後に詳
述する。使用者がこれら以外の処理を選択すると、S1
5がYesとなり、ステップ16へ移行し、プロセッサ1
0はデータの削除、変換等の加工処置や、立体モデルの
回転、移動等の処理を行わせる。
【0024】(3)メジャーリング処理 続いて、図8のメジャーリング処理の内容について詳述
する。図9に、メジャーリング処理のメインフローチャ
ートを示す。メジャーリング処理に移行するとディスプ
レイ4には図10に示すようなメジャーリング処理操作
パネル70が表示され、イベント待機状態となる。メジ
ャーリング処理は、図のメジャーリング処理操作パネル
70に対するボタンのクリックに応じて各種モードを起
動する。
する。図9に、メジャーリング処理のメインフローチャ
ートを示す。メジャーリング処理に移行するとディスプ
レイ4には図10に示すようなメジャーリング処理操作
パネル70が表示され、イベント待機状態となる。メジ
ャーリング処理は、図のメジャーリング処理操作パネル
70に対するボタンのクリックに応じて各種モードを起
動する。
【0025】図10に示すようにメジャーリング処理操
作パネル70は、使用者の指示を受け付けて各種モード
を起動すべく次のようなボタンを有する。即ち、(1)基
準平面により立体モデルを仮想的に切断しその切断面の
断面積や周囲長を計算する切断モードを起動するための
切断モード起動ボタン71、(2)立体モデルの2点間
の距離や、表面上の経路長を求める距離モードを起動す
るための距離モード起動ボタン72、(3)立体モデル表
面の特徴量を求める曲面モードを起動するため曲面モー
ド起動ボタン73、(4)立体モデルの欠損部分を自動的
に修復する修復モードを起動するための修復モード起動
ボタン74が設けられている。
作パネル70は、使用者の指示を受け付けて各種モード
を起動すべく次のようなボタンを有する。即ち、(1)基
準平面により立体モデルを仮想的に切断しその切断面の
断面積や周囲長を計算する切断モードを起動するための
切断モード起動ボタン71、(2)立体モデルの2点間
の距離や、表面上の経路長を求める距離モードを起動す
るための距離モード起動ボタン72、(3)立体モデル表
面の特徴量を求める曲面モードを起動するため曲面モー
ド起動ボタン73、(4)立体モデルの欠損部分を自動的
に修復する修復モードを起動するための修復モード起動
ボタン74が設けられている。
【0026】さらに、使用者の指示を受けつけるための
ボタンとして基準平面を移動させるための基準平面移動
ボタン76、基準平面を回転させるための基準平面回転
ボタン77、立体モデルをロードするための立体モデル
ロードボタン78、処理を終了するためのメジャーリン
グ処理終了ボタン79を有している。また、使用者に測
定結果等を表示するために、形状モデルのビューワー座
標系におけるX、Y、Z方向の大きさを示すモデルサイ
ズ表示部81、基準平面に切断された立体モデルの切断
面の周囲長と断面積を表示する断面情報表示部82、2
点間の直線距離や経路長さを表示する距離情報表示部8
3を有している。
ボタンとして基準平面を移動させるための基準平面移動
ボタン76、基準平面を回転させるための基準平面回転
ボタン77、立体モデルをロードするための立体モデル
ロードボタン78、処理を終了するためのメジャーリン
グ処理終了ボタン79を有している。また、使用者に測
定結果等を表示するために、形状モデルのビューワー座
標系におけるX、Y、Z方向の大きさを示すモデルサイ
ズ表示部81、基準平面に切断された立体モデルの切断
面の周囲長と断面積を表示する断面情報表示部82、2
点間の直線距離や経路長さを表示する距離情報表示部8
3を有している。
【0027】使用者はマウスやキーボードを操作して、
メジャーリング処理操作パネル70上の各ボタンにカー
ソルを移動させ指示を入力する。ここで使用者のボタン
操作によりイベントが入力されると、ステップ31〜ス
テップ36の判定ステップの羅列に移行し、何れかのス
テップにおいて『Yes』になるまで順次判定が実行され
てゆく。
メジャーリング処理操作パネル70上の各ボタンにカー
ソルを移動させ指示を入力する。ここで使用者のボタン
操作によりイベントが入力されると、ステップ31〜ス
テップ36の判定ステップの羅列に移行し、何れかのス
テップにおいて『Yes』になるまで順次判定が実行され
てゆく。
【0028】(3−1)基準平面表示処理 基準平面表示処理は、基準物体がビューワーに表示され
ていない場合に図9のステップ31を介して実行され
る。本3次元形状データ処理装置が起動した状態では、
基準平面が未表示であるから通常はステップ31に移行
して基準表面処理がなされる。この基準平面表示処理は
立体モデルのサイズに基準平面を適合させて表示するこ
とを主眼においている。
ていない場合に図9のステップ31を介して実行され
る。本3次元形状データ処理装置が起動した状態では、
基準平面が未表示であるから通常はステップ31に移行
して基準表面処理がなされる。この基準平面表示処理は
立体モデルのサイズに基準平面を適合させて表示するこ
とを主眼においている。
【0029】立体モデルとの適合が如何に行われるかを
図11のフローチャートを参照しながら説明する。ま
ず、ステップ101では図3に示す頂点リストからX座
標Y座標Z座標の最大値、最小値を探索する。ステップ
102では、探索された最大値、最小値から立体モデル
のXYZ各方向のサイズを計算する。ステップ101によ
って既に頂点の座標の最大値、最小値が探索されている
から、これらに基づいて立体モデルデータの縦のサイズ
及び横のサイズが算出される。算出された各サイズは図
10に示すメジャーリング処理操作パネル70上のモデ
ルサイズ表示部81に表示される。
図11のフローチャートを参照しながら説明する。ま
ず、ステップ101では図3に示す頂点リストからX座
標Y座標Z座標の最大値、最小値を探索する。ステップ
102では、探索された最大値、最小値から立体モデル
のXYZ各方向のサイズを計算する。ステップ101によ
って既に頂点の座標の最大値、最小値が探索されている
から、これらに基づいて立体モデルデータの縦のサイズ
及び横のサイズが算出される。算出された各サイズは図
10に示すメジャーリング処理操作パネル70上のモデ
ルサイズ表示部81に表示される。
【0030】ステップ102の実行後、ステップ103
においてプロセッサ10は計算された立体モデルの縦の
サイズ及び横のサイズに合うように基準平面のサイズを
決定する。ここでは、基準平面の1辺を立体モデルのX
YZ各方向におけるサイズの最大値に1.1倍を掛けた
長さとする。ステップ103の実行後、ステップ104
に移行して、プロセッサ10はX座標Y座標Z座標の最
大値、最小値を用いて立体モデルデータが占めている範
囲を計算し、その中心位置を算出する。ここで算出され
た位置が基準平面の中心位置となる。ステップ104が
終了するとステップ105においてプロセッサ10はビ
ューワーにおける中点位置に基準平面を据える。最後
に、基準平面が立体モデルデータの中央に据えた状態で
ビューワー上に表示される。この際、基準平面の各軸の
正負をそれぞれ色分けして表示する。
においてプロセッサ10は計算された立体モデルの縦の
サイズ及び横のサイズに合うように基準平面のサイズを
決定する。ここでは、基準平面の1辺を立体モデルのX
YZ各方向におけるサイズの最大値に1.1倍を掛けた
長さとする。ステップ103の実行後、ステップ104
に移行して、プロセッサ10はX座標Y座標Z座標の最
大値、最小値を用いて立体モデルデータが占めている範
囲を計算し、その中心位置を算出する。ここで算出され
た位置が基準平面の中心位置となる。ステップ104が
終了するとステップ105においてプロセッサ10はビ
ューワーにおける中点位置に基準平面を据える。最後
に、基準平面が立体モデルデータの中央に据えた状態で
ビューワー上に表示される。この際、基準平面の各軸の
正負をそれぞれ色分けして表示する。
【0031】(3−2)基準平面移動・回転処理 使用者によりメジャーリング処理操作パネル70の基準
平面移動ボタン76又は基準平面回転ボタン77が操作
されると、図9のステップ32より、基準平面移動・回
転処理へ移行する。基準平面は使用者が立体モデルのど
の部分を計測し、修復するか等を指定するためのもので
あり、この表示された基準平面は使用者の意図に従って
移動および回転させられる。図12に基準平面移動・回
転処理のフローチャートを示す。
平面移動ボタン76又は基準平面回転ボタン77が操作
されると、図9のステップ32より、基準平面移動・回
転処理へ移行する。基準平面は使用者が立体モデルのど
の部分を計測し、修復するか等を指定するためのもので
あり、この表示された基準平面は使用者の意図に従って
移動および回転させられる。図12に基準平面移動・回
転処理のフローチャートを示す。
【0032】基準平面移動・回転処理には、基準平面回
転ボタン77により起動される基準平面の姿勢を変える
処理(1)と、基準平面移動ボタン76により起動される
基準平面の位置を変える処理(2)とがある。(1)における
回転量及び(2)における移動量は使用者により入力され
るイベント量によって決定される。イベント量は、ここ
では図13に示す基準平面回転ボタン77、基準平面移
動ボタン76をクリックすると表示される回転・移動量
入力パネル90を用いて使用者がイベント量を入力す
る。具体的には、使用者は回転・移動量入力パネル90
の各座標の入力位置をカーソルで指示して所望の数値を
キータイプすることでイベント量を入力する。
転ボタン77により起動される基準平面の姿勢を変える
処理(1)と、基準平面移動ボタン76により起動される
基準平面の位置を変える処理(2)とがある。(1)における
回転量及び(2)における移動量は使用者により入力され
るイベント量によって決定される。イベント量は、ここ
では図13に示す基準平面回転ボタン77、基準平面移
動ボタン76をクリックすると表示される回転・移動量
入力パネル90を用いて使用者がイベント量を入力す
る。具体的には、使用者は回転・移動量入力パネル90
の各座標の入力位置をカーソルで指示して所望の数値を
キータイプすることでイベント量を入力する。
【0033】基準平面移動・回転処理では、まず、ステ
ップ111においてこの使用者により入力されるイベン
ト量が検出される。入力されたイベント量は各座標ごと
に表示部91、92、93に表示される。使用者が確定
ボタン94をクリックすると表示された入力値が確定さ
れイベント量が受け付けられる。なお、イベント量の入
力はマウス5の走行操作により得られるマウス5に内蔵
される球体の回転量を用いてもよい。
ップ111においてこの使用者により入力されるイベン
ト量が検出される。入力されたイベント量は各座標ごと
に表示部91、92、93に表示される。使用者が確定
ボタン94をクリックすると表示された入力値が確定さ
れイベント量が受け付けられる。なお、イベント量の入
力はマウス5の走行操作により得られるマウス5に内蔵
される球体の回転量を用いてもよい。
【0034】次に、ステップ112において基準平面回
転ボタン77がクリックされた状態あるか否かが判断さ
れる。ここで、基準平面回転ボタン77がクリックされ
て状態であある場合は回転量の入力がされたと判断さ
れ、ステップ113に移行する。ステップ113でプロ
セッサ10はステップ111において検出されたイベン
ト量に基づいて各基準軸周りの回転量を計算する。ステ
ップ113の実行後ステップ114に移行し基準平面を
各基準軸周りにそれぞれ計算された回転量だけ回転する
(図7(a)参照)。最後に、ステップ118に移行
し、基準物体を回転により得られた姿勢により再表示す
る。その後、図9に示すメインルーチンへ戻る。
転ボタン77がクリックされた状態あるか否かが判断さ
れる。ここで、基準平面回転ボタン77がクリックされ
て状態であある場合は回転量の入力がされたと判断さ
れ、ステップ113に移行する。ステップ113でプロ
セッサ10はステップ111において検出されたイベン
ト量に基づいて各基準軸周りの回転量を計算する。ステ
ップ113の実行後ステップ114に移行し基準平面を
各基準軸周りにそれぞれ計算された回転量だけ回転する
(図7(a)参照)。最後に、ステップ118に移行
し、基準物体を回転により得られた姿勢により再表示す
る。その後、図9に示すメインルーチンへ戻る。
【0035】ステップ112でNoと判断されると、ステ
ップ115へ移行し基準平面移動ボタン76がクリック
された状態であるか否かが判断される。ここで、基準平
面移動ボタン76がクリックされた状態である場合は移
動量の入力がされたと判断され、ステップ116に移行
する。ステップ116ではステップ111で入力された
イベント量から各基準軸方向の移動量が計算され、さら
に、ステップ117で計算された移動量が基準平面のビ
ューワー座標系における原点座標値に加算される。即
ち、ビューワー座標系における基準平面の中心座標を
(Xa,Ya,Za)とすると、これにステップ35で算出
された移動量が新た加算される。これらの処理により、
基準平面の位置はイベント量に応じて自在にスライドす
ることになる(図7(b)参照)。その後、やはりステ
ップ57に移行し、基準物体を移動した位置に再表示
し、図9に示すメインルーチンへ戻る。
ップ115へ移行し基準平面移動ボタン76がクリック
された状態であるか否かが判断される。ここで、基準平
面移動ボタン76がクリックされた状態である場合は移
動量の入力がされたと判断され、ステップ116に移行
する。ステップ116ではステップ111で入力された
イベント量から各基準軸方向の移動量が計算され、さら
に、ステップ117で計算された移動量が基準平面のビ
ューワー座標系における原点座標値に加算される。即
ち、ビューワー座標系における基準平面の中心座標を
(Xa,Ya,Za)とすると、これにステップ35で算出
された移動量が新た加算される。これらの処理により、
基準平面の位置はイベント量に応じて自在にスライドす
ることになる(図7(b)参照)。その後、やはりステ
ップ57に移行し、基準物体を移動した位置に再表示
し、図9に示すメインルーチンへ戻る。
【0036】以上のような動作により、使用者の指示に
応じて基準平面と立体モデルの交叉角度を自由に変化さ
せることができ、基準平面を自在にスライドさせること
により、立体モデルの切断位置を自在に切り替えること
ができる。 (3−3)切断モード処理 図9のメインフロ−において切断モード起動ボタン71
が操作されるとステップ40の切断モード処理へ移行す
る。図14に切断モード処理を表すフローチャートを示
す。図14のフローチャートに示すように、切断モード
処理ではステップ61における断面データ計算処理で基
準平面を切り口とした立体モデルデータの断面データを
計算し、ステップ62の断面表示処理において計算され
た断面データに基づいてキャンバス上に断面像を表示す
る。それからステップ63の断面積測定処理において断
面データに基づいてその断面積を計算し、ステップ64
の輪郭長測定処理においてその断面の輪郭長を測定す
る。最後にステップ65の断面積・輪郭長表示ステップ
において、断面積及び輪郭長を表示する。上記の各処理
については以下にさらに詳述する。
応じて基準平面と立体モデルの交叉角度を自由に変化さ
せることができ、基準平面を自在にスライドさせること
により、立体モデルの切断位置を自在に切り替えること
ができる。 (3−3)切断モード処理 図9のメインフロ−において切断モード起動ボタン71
が操作されるとステップ40の切断モード処理へ移行す
る。図14に切断モード処理を表すフローチャートを示
す。図14のフローチャートに示すように、切断モード
処理ではステップ61における断面データ計算処理で基
準平面を切り口とした立体モデルデータの断面データを
計算し、ステップ62の断面表示処理において計算され
た断面データに基づいてキャンバス上に断面像を表示す
る。それからステップ63の断面積測定処理において断
面データに基づいてその断面積を計算し、ステップ64
の輪郭長測定処理においてその断面の輪郭長を測定す
る。最後にステップ65の断面積・輪郭長表示ステップ
において、断面積及び輪郭長を表示する。上記の各処理
については以下にさらに詳述する。
【0037】(3−3−1)断面データ計算モード 『断面データ』とは基準平面−立体モデル間の交点と、
これらの交点を結ぶ線分列とによって立体モデルの断面
を表現した情報である。断面データの算出の手順は図1
5から図17までのフローチャートで表現される。図1
5(a)(b)のフローチャートにおいて『断面i』と
は基準平面上に得られた複数の断面データのそれぞれを
指示する変数である。断面データ計算処理では、まず、
プロセッサ10はステップ201においてポリゴンメッ
シュの頂点座標をキャンバス座標系に変換する。それか
ら、ステップ202では線分のつなぎ合わせ処理を行う
ため、図15(b)のフローチャートに分岐する。図1
5(b)のフローチャートのステップ301では『交点
同士の連結処理』を行うため図16のフローチャートに
分岐し、ステップ302では『線分列の連結処理』を行
うため図17のフローチャートに分岐する。
これらの交点を結ぶ線分列とによって立体モデルの断面
を表現した情報である。断面データの算出の手順は図1
5から図17までのフローチャートで表現される。図1
5(a)(b)のフローチャートにおいて『断面i』と
は基準平面上に得られた複数の断面データのそれぞれを
指示する変数である。断面データ計算処理では、まず、
プロセッサ10はステップ201においてポリゴンメッ
シュの頂点座標をキャンバス座標系に変換する。それか
ら、ステップ202では線分のつなぎ合わせ処理を行う
ため、図15(b)のフローチャートに分岐する。図1
5(b)のフローチャートのステップ301では『交点
同士の連結処理』を行うため図16のフローチャートに
分岐し、ステップ302では『線分列の連結処理』を行
うため図17のフローチャートに分岐する。
【0038】(3−3−2)交点同士の連結処理 図16に示す『交点同士の連結処理』は、立体モデルと
基準平面との交点座標の算出し、算出された交点間を結
ぶ線分を生成する。交点同士の連結処理では、まず、ス
テップ403においてプロセッサ10は、1つのポリゴ
ンの頂点座標の組み合わせについてZ座標の積(ここで
いうZ座標はキャンバス座標系のZ座標である。)が負で
あるかを判定し、負の場合は当該頂点を結ぶ線分とXY
平面との交点を求める。即ち、Z座標の積が負であるこ
とはその組み合わせの頂点が、基準平面を介して対向し
ていることを示す。例えば、ポリゴンメッシュと基準平
面の位置関係が図18(a)に示すような関係にある場
合、ポリゴンメッシュP1、P2、P3、P4、P5の
頂点の組み合わせのうち、組み合わせ2601、組み合
わせ2602、組み合わせ2603の頂点は基準平面を
介して対向しているためz座標は正負が反転し、その積
は負になる。そこで、これらの組み合わせの頂点同士を
直線で結び、図18(b)において『×』印に示すよう
な基準平面との交点の座標を求める。以上の処理を全て
のポリゴンメッシュの頂点組み合わせについて終了する
と、図18(c)に示すように、基準平面上に複数の交
点を得ることができる。
基準平面との交点座標の算出し、算出された交点間を結
ぶ線分を生成する。交点同士の連結処理では、まず、ス
テップ403においてプロセッサ10は、1つのポリゴ
ンの頂点座標の組み合わせについてZ座標の積(ここで
いうZ座標はキャンバス座標系のZ座標である。)が負で
あるかを判定し、負の場合は当該頂点を結ぶ線分とXY
平面との交点を求める。即ち、Z座標の積が負であるこ
とはその組み合わせの頂点が、基準平面を介して対向し
ていることを示す。例えば、ポリゴンメッシュと基準平
面の位置関係が図18(a)に示すような関係にある場
合、ポリゴンメッシュP1、P2、P3、P4、P5の
頂点の組み合わせのうち、組み合わせ2601、組み合
わせ2602、組み合わせ2603の頂点は基準平面を
介して対向しているためz座標は正負が反転し、その積
は負になる。そこで、これらの組み合わせの頂点同士を
直線で結び、図18(b)において『×』印に示すよう
な基準平面との交点の座標を求める。以上の処理を全て
のポリゴンメッシュの頂点組み合わせについて終了する
と、図18(c)に示すように、基準平面上に複数の交
点を得ることができる。
【0039】続いて、ステップ405においてプロセッ
サ10は1つのポリゴンについて交点が2つ生成したか
を判定し、もしそうであればステップ406においてプ
ロセッサ10はその交点を結ぶ線分を生成する。例え
ば、図19(a)に示すように、ステップ402の処理
で基準平面上に交点が得られたとする。交点y270
1、y2702は両方とも図18に示したポリゴンメッ
シュP1の交点であるので、図19(b)に示すよう
に、これらを結ぶ線分y2710生成される。同じく交
点y2702、y2703もポリゴンメッシュP2の交
点であるので、これらを結ぶ線分y2711が生成され
る。
サ10は1つのポリゴンについて交点が2つ生成したか
を判定し、もしそうであればステップ406においてプ
ロセッサ10はその交点を結ぶ線分を生成する。例え
ば、図19(a)に示すように、ステップ402の処理
で基準平面上に交点が得られたとする。交点y270
1、y2702は両方とも図18に示したポリゴンメッ
シュP1の交点であるので、図19(b)に示すよう
に、これらを結ぶ線分y2710生成される。同じく交
点y2702、y2703もポリゴンメッシュP2の交
点であるので、これらを結ぶ線分y2711が生成され
る。
【0040】(3−3−3)線分列の連結処理 交点同士の連結処理が終わると線分列の連結処理へ移行
する。『線分列』とは基準平面上の立体モデルの輪郭線
を表現するための折れ線であり、交点同士の連結処理で
生成した線分をつなぎ合わせることにより生成する。図
17に『線分列の連結処理』の具体的手順を示す。本フ
ローチャートにおいて『線分i』とは基準平面上の個々
の線分を指示するための変数であり、『線分列i』とは
線分iを含む線分列を指示するための変数である。
する。『線分列』とは基準平面上の立体モデルの輪郭線
を表現するための折れ線であり、交点同士の連結処理で
生成した線分をつなぎ合わせることにより生成する。図
17に『線分列の連結処理』の具体的手順を示す。本フ
ローチャートにおいて『線分i』とは基準平面上の個々
の線分を指示するための変数であり、『線分列i』とは
線分iを含む線分列を指示するための変数である。
【0041】線分列の連結処理では、まず、ステップ5
02で線分kについて端点座標と一致する端点を有する
線分mが存在するかを判定する。かかる線分mが存在す
る場合は線分kを含む線分列iを検出し、線分mを線分列i
に連結する。以上の処理が全ての線分k(k=1,2,・・・
n)について繰り返されると、例えば図19(b)に示
す線分群は、図19(c)に示すように基準平面上の折
れ線状の線分列となる。なお、図19(c)においてy
2704、y2705、y2706、y2707間は直
線で結ばれていない。これは欠損部が基準平面上に表れ
た結果である。
02で線分kについて端点座標と一致する端点を有する
線分mが存在するかを判定する。かかる線分mが存在す
る場合は線分kを含む線分列iを検出し、線分mを線分列i
に連結する。以上の処理が全ての線分k(k=1,2,・・・
n)について繰り返されると、例えば図19(b)に示
す線分群は、図19(c)に示すように基準平面上の折
れ線状の線分列となる。なお、図19(c)においてy
2704、y2705、y2706、y2707間は直
線で結ばれていない。これは欠損部が基準平面上に表れ
た結果である。
【0042】(3−3−4)断面データ判定処理 『線分列の連結処理』を終えると、図15(b)のステ
ップ303に移行して、全ての断面iが閉じているの
か、開いているのかを判定する。ステップ305におい
てプロセッサ10は、断面iについて線分列の開始点と
終了点とが一致もしくは所定距離の範囲内にあるか否か
を判定する。もしそうであれば、ステップ306に移行
してこれを閉じた断面とみなし、当該断面iについて断
面フラグFiを断面が閉じていることを示す0に設定す
る。一方、図19(c)の交点y2704−交点y270
5、交点y2706−交点y2707間のように線分列の
開始点と終了点間が所定距離以上離れていればステップ
307において最寄りの線分列を探索する。探索で線分
列が見つかると、ステップ308においてプロセッサ1
0は線分列との距離が所定値以上開いているかを判定す
る。もし、所定値以上開いていなければ当該線分列と接
続して再びステップ305に戻る。一方、所定値以上開
いていれば、テップ310に移行し当該断面iについて
の断面フラグFiを断面が開いていることを示す1に設
定する。以上の処理を全ての断面i(i=1,2,・・・n)につ
いて終了すると、図15(a)におけるステップ203
に戻る。ステップ203では、断面データの頂点をキャ
ンバス座標系に変換する。ステップ203の実行後、ス
テップ204に移行して断面の輪郭を作成する。
ップ303に移行して、全ての断面iが閉じているの
か、開いているのかを判定する。ステップ305におい
てプロセッサ10は、断面iについて線分列の開始点と
終了点とが一致もしくは所定距離の範囲内にあるか否か
を判定する。もしそうであれば、ステップ306に移行
してこれを閉じた断面とみなし、当該断面iについて断
面フラグFiを断面が閉じていることを示す0に設定す
る。一方、図19(c)の交点y2704−交点y270
5、交点y2706−交点y2707間のように線分列の
開始点と終了点間が所定距離以上離れていればステップ
307において最寄りの線分列を探索する。探索で線分
列が見つかると、ステップ308においてプロセッサ1
0は線分列との距離が所定値以上開いているかを判定す
る。もし、所定値以上開いていなければ当該線分列と接
続して再びステップ305に戻る。一方、所定値以上開
いていれば、テップ310に移行し当該断面iについて
の断面フラグFiを断面が開いていることを示す1に設
定する。以上の処理を全ての断面i(i=1,2,・・・n)につ
いて終了すると、図15(a)におけるステップ203
に戻る。ステップ203では、断面データの頂点をキャ
ンバス座標系に変換する。ステップ203の実行後、ス
テップ204に移行して断面の輪郭を作成する。
【0043】(3−3−5)断面表示処理 図14のステップ62の断面表示処理では線分の連結体
として表現された輪郭線を断面像としてキャンバスに表
示する。この表示において、前記断面フラグFiを参照
して、輪郭線が閉じた断面か開いた断面かによって表示
を変える。即ち、Fi=0で輪郭線が閉じた断面である
場合は、当該断面を『薄緑色』で断面内部を塗り潰して
キャンバスの1つに表示する。この塗り潰しは、既存の
グラフィックスシステムで実現されている色彩変換アル
ゴリズムで簡易に実現される。一方、Fi=1で輪郭線
が開いていれば『黄色』で断面を示す交線のみを表示す
る。これは上記の色彩変換アルゴリズムで輪郭線が開い
ている断面内を塗り潰そうとすると断面外の部分をも誤
って塗り潰してしまうからであり、基準平面の交線を異
なる色で描画するのみに留めるものである。
として表現された輪郭線を断面像としてキャンバスに表
示する。この表示において、前記断面フラグFiを参照
して、輪郭線が閉じた断面か開いた断面かによって表示
を変える。即ち、Fi=0で輪郭線が閉じた断面である
場合は、当該断面を『薄緑色』で断面内部を塗り潰して
キャンバスの1つに表示する。この塗り潰しは、既存の
グラフィックスシステムで実現されている色彩変換アル
ゴリズムで簡易に実現される。一方、Fi=1で輪郭線
が開いていれば『黄色』で断面を示す交線のみを表示す
る。これは上記の色彩変換アルゴリズムで輪郭線が開い
ている断面内を塗り潰そうとすると断面外の部分をも誤
って塗り潰してしまうからであり、基準平面の交線を異
なる色で描画するのみに留めるものである。
【0044】(3−3−6)断面積測定処理 図14のステップ63の『断面積測定処理』では、基準
平面における断面積を多角形近似で計算する。即ち、図
20(a)に示すような断面を構成する交点が算出され
ている場合、図20(b)に示すように隣合う交点と原
点により構成される三角形の面積(Sum1、Sum2、Sum3・
・・)を総和することにより断面積を計算する。各三角
形の面積は原点から隣う交点へ向かうベクトルの外積を
もとに計算する。なお、原点が断面の外側に位置する場
合は、断面の輪郭の外側に接するベクトルにより形成さ
れる三角形の面積は負の値に、断面の輪郭の内側に接す
るベクトルにより形成される三角形の面積は正の値にす
ることにより断面積を得ることができる。
平面における断面積を多角形近似で計算する。即ち、図
20(a)に示すような断面を構成する交点が算出され
ている場合、図20(b)に示すように隣合う交点と原
点により構成される三角形の面積(Sum1、Sum2、Sum3・
・・)を総和することにより断面積を計算する。各三角
形の面積は原点から隣う交点へ向かうベクトルの外積を
もとに計算する。なお、原点が断面の外側に位置する場
合は、断面の輪郭の外側に接するベクトルにより形成さ
れる三角形の面積は負の値に、断面の輪郭の内側に接す
るベクトルにより形成される三角形の面積は正の値にす
ることにより断面積を得ることができる。
【0045】(3−3−7)輪郭長測定処理 図14のステップ64の『輪郭長測定』では、断面の輪
郭長を折れ線長(線分列長)に近似して計算する。例え
ば図20(a)のように交点が得られている場合には、
隣合う交点により構成される各線分の和(Len1+Len2+
Len3+Len4+・・・)により輪郭長が算出される。な
お、断面が開いている場合は、輪郭線の始点・終点間の
距離を輪郭長Lenを加算する。
郭長を折れ線長(線分列長)に近似して計算する。例え
ば図20(a)のように交点が得られている場合には、
隣合う交点により構成される各線分の和(Len1+Len2+
Len3+Len4+・・・)により輪郭長が算出される。な
お、断面が開いている場合は、輪郭線の始点・終点間の
距離を輪郭長Lenを加算する。
【0046】以上の処理が終わると、図14のステップ
65により算出された断面積及び輪郭長をメジャーリン
グ処理操作パネル70の断面情報表示部82に有効数字
4桁で表示して切断モード処理を終える。 (3−4)距離モード処理 図9のフローチャートにおいて、メジャーリング処理操
作パネル70の距離モード起動ボタン72が操作される
と、ステップ41の距離モード処理へ移行する。距離モ
ード処理では、立体モデルデータが置かれた3次元空間
における所望の距離が測定される。
65により算出された断面積及び輪郭長をメジャーリン
グ処理操作パネル70の断面情報表示部82に有効数字
4桁で表示して切断モード処理を終える。 (3−4)距離モード処理 図9のフローチャートにおいて、メジャーリング処理操
作パネル70の距離モード起動ボタン72が操作される
と、ステップ41の距離モード処理へ移行する。距離モ
ード処理では、立体モデルデータが置かれた3次元空間
における所望の距離が測定される。
【0047】ここでは立体モデル中の2点間の直線距離
と、立体モデル表面上を通る経路の長さを測定するもの
とし、さらに、経路長は、一平面上に存在する経路の長
さと、一平面上に存在しいない経路の長さの2種類に分
けて処理を行う。図21に距離モード処理を表すフロー
チャートを示す。まず、距離モードが起動すると、ステ
ップ601により図22に示す選択用パネル130がポ
ップアップ表示される。選択用パネル130には2点間
の直線距離を求めるモードに設定する2点モードを起動
する2点モードボタン131、立体モデル表面の一平面
上に存在する経路長を求める3点モードを起動する3点
モードボタン132、立体モデル表面の一平面上に存在
しない経路長を求めるN点モードを起動するN点モード
ボタン133、処理を終了するためのキャンセルボタン
134が設けてある。次にステップ602でこの選択用
パネル130に対するモードの入力を待って、入力され
たモードに応じた処理へ移行する。
と、立体モデル表面上を通る経路の長さを測定するもの
とし、さらに、経路長は、一平面上に存在する経路の長
さと、一平面上に存在しいない経路の長さの2種類に分
けて処理を行う。図21に距離モード処理を表すフロー
チャートを示す。まず、距離モードが起動すると、ステ
ップ601により図22に示す選択用パネル130がポ
ップアップ表示される。選択用パネル130には2点間
の直線距離を求めるモードに設定する2点モードを起動
する2点モードボタン131、立体モデル表面の一平面
上に存在する経路長を求める3点モードを起動する3点
モードボタン132、立体モデル表面の一平面上に存在
しない経路長を求めるN点モードを起動するN点モード
ボタン133、処理を終了するためのキャンセルボタン
134が設けてある。次にステップ602でこの選択用
パネル130に対するモードの入力を待って、入力され
たモードに応じた処理へ移行する。
【0048】(3−4−1)2点入力モード処理 選択用パネル130から2点モードボタン131が操作
されると、2点間の直線距離を求めるために、ステップ
604で始点と終点の2点の入力が在るか否かを判断
し、入力されていなければステップ605で入力の受付
を待つ。このモードにおける点の入力は使用者がビュー
ワーに表示されている立体モデル表面上の一点をクリッ
クするか、キャンバスに表示されている輪郭線上の一点
をクリックすることにより行われる。
されると、2点間の直線距離を求めるために、ステップ
604で始点と終点の2点の入力が在るか否かを判断
し、入力されていなければステップ605で入力の受付
を待つ。このモードにおける点の入力は使用者がビュー
ワーに表示されている立体モデル表面上の一点をクリッ
クするか、キャンバスに表示されている輪郭線上の一点
をクリックすることにより行われる。
【0049】2点の入力を受け付けるとメインルーチン
へ移行し、再びステップ604へ戻る。ここでは2点の
入力がされているので、ステップ606で当該2点の座
標値から2点間の距離が算出され、ステップ607でメ
ジャーリング処理操作パネル70の距離情報表示部83
に、算出した値が表示される。 (3−4−2)3点入力モード処理 選択用パネル130より3点モードボタン132が操作
されると、ステップ608より立体モデル表面の一平面
上の経路長を求める3点入力モードへ移行する。ここで
は、まず3点の入力を判断し、入力されていなければ立
体モデルの3点の入力を待つ。3点モードにおける点の
入力は、使用者がキャンバスに表示されている断面の輪
郭線上の始点と終点と通過点をクリックするか、ビュー
ワーに表示されている立体モデル表面の始点と終点と通
過点をクリックすることにより行う。
へ移行し、再びステップ604へ戻る。ここでは2点の
入力がされているので、ステップ606で当該2点の座
標値から2点間の距離が算出され、ステップ607でメ
ジャーリング処理操作パネル70の距離情報表示部83
に、算出した値が表示される。 (3−4−2)3点入力モード処理 選択用パネル130より3点モードボタン132が操作
されると、ステップ608より立体モデル表面の一平面
上の経路長を求める3点入力モードへ移行する。ここで
は、まず3点の入力を判断し、入力されていなければ立
体モデルの3点の入力を待つ。3点モードにおける点の
入力は、使用者がキャンバスに表示されている断面の輪
郭線上の始点と終点と通過点をクリックするか、ビュー
ワーに表示されている立体モデル表面の始点と終点と通
過点をクリックすることにより行う。
【0050】以下に、この3点の入力について具体的に
説明する。まず、キャンバスに表示されている断面の輪
郭線から入力する場合は、使用者はキャンバスに表示さ
れている断面の輪郭線上から始点と終点となる2点をク
リックする。例えば、図23(a)に示すような断面4
0がキャンバスに表示されているとすると、使用者は断
面の輪郭線上の点41、点42をクリックすることで始
点と終点を入力する。始点と終点が入力されると、この
2点を始点・終点とする経路は経路44aと経路44b
の2つとなる。そこで、使用者は最後にこのいずれかの
経路を選択すべく、通過点として点43をクリックす
る。なお、通過点の代わりに経路の存在する側のエリア
をクリックする等の方法で経路を選択するようにしても
よい。
説明する。まず、キャンバスに表示されている断面の輪
郭線から入力する場合は、使用者はキャンバスに表示さ
れている断面の輪郭線上から始点と終点となる2点をク
リックする。例えば、図23(a)に示すような断面4
0がキャンバスに表示されているとすると、使用者は断
面の輪郭線上の点41、点42をクリックすることで始
点と終点を入力する。始点と終点が入力されると、この
2点を始点・終点とする経路は経路44aと経路44b
の2つとなる。そこで、使用者は最後にこのいずれかの
経路を選択すべく、通過点として点43をクリックす
る。なお、通過点の代わりに経路の存在する側のエリア
をクリックする等の方法で経路を選択するようにしても
よい。
【0051】次に、ビューワーに表示されている立体モ
デルの3点を入力する場合は、使用者はビューワーに表
示されている立体モデルの表面上を始点終点通過点の順
で、3点クリックする。例えば、図24(a)に示すよ
うな立体モデル32に対しては、図24(b)に示すよ
うに始点として点51、終点として点52、通過点とし
て点53を入力する。キャンバスからの入力とビューワ
ーからの入力の区別は、最初の点の入力を使用者がキャ
ンバス上から行ったか、ビューワー上から行ったかによ
り行う。
デルの3点を入力する場合は、使用者はビューワーに表
示されている立体モデルの表面上を始点終点通過点の順
で、3点クリックする。例えば、図24(a)に示すよ
うな立体モデル32に対しては、図24(b)に示すよ
うに始点として点51、終点として点52、通過点とし
て点53を入力する。キャンバスからの入力とビューワ
ーからの入力の区別は、最初の点の入力を使用者がキャ
ンバス上から行ったか、ビューワー上から行ったかによ
り行う。
【0052】3点の入力の受け付けが終わると、メイン
ルーチンに戻った後再び、ステップ609へ戻る。ここ
では3点の入力がされているので次の処理へ移行する。
ステップ611からステップ613までは3点を通る断
面を求める処理であるが、キャンバスから3点を入力し
た場合は、断面はすでに求まっているのでこれらのステ
ップでの処理は求まっている値をそのまま使用する。
ルーチンに戻った後再び、ステップ609へ戻る。ここ
では3点の入力がされているので次の処理へ移行する。
ステップ611からステップ613までは3点を通る断
面を求める処理であるが、キャンバスから3点を入力し
た場合は、断面はすでに求まっているのでこれらのステ
ップでの処理は求まっている値をそのまま使用する。
【0053】ビューワーの立体モデルから3点が入力さ
れた場合はステップ611で、当該3点を通る基準平面
の方向と位置を計算する。図24(b)のように3点が
指定された場合は、図24(c)のように、まず、始点
である点51と終点である点52を結ぶ直線を基準物体
のX軸とし、両点の中点を原点、当該X軸と通過点であ
る点53を通る平面をXY平面として基準平面の方向と
位置を定める。
れた場合はステップ611で、当該3点を通る基準平面
の方向と位置を計算する。図24(b)のように3点が
指定された場合は、図24(c)のように、まず、始点
である点51と終点である点52を結ぶ直線を基準物体
のX軸とし、両点の中点を原点、当該X軸と通過点であ
る点53を通る平面をXY平面として基準平面の方向と
位置を定める。
【0054】次に、ステップ612により求められた方
向と位置に応じて基準平面をビューワー上に表示する。
それから、ステップ613により基準平面による立体モ
デルの切断面を計算する。切断面の計算の方法は切断処
理の場合と同様である。なお、切断面が求まると図24
(d)に示すようにキャンバス上に表示される。以上の
処理が終わるとキャンバスによる3点入力、ビューワー
による3点入力を問わずステップ614により経路長の
計算がなされる。経路長の計算は、開始点から通過点を
経て終了点に至るまでの線分長を積算することにより簡
易になされる。図25のフローチャートを参照しながら
経路長測定処理について説明する。本フローチャートに
おいて『経路長Len』とは開始、終了点、通過点からな
る経路の長さを格納するための変数である。本フローチ
ャートに処理が移行すると、プロセッサ10はステップ
651において経路長Lenに0を代入することによりこ
れを初期化する。
向と位置に応じて基準平面をビューワー上に表示する。
それから、ステップ613により基準平面による立体モ
デルの切断面を計算する。切断面の計算の方法は切断処
理の場合と同様である。なお、切断面が求まると図24
(d)に示すようにキャンバス上に表示される。以上の
処理が終わるとキャンバスによる3点入力、ビューワー
による3点入力を問わずステップ614により経路長の
計算がなされる。経路長の計算は、開始点から通過点を
経て終了点に至るまでの線分長を積算することにより簡
易になされる。図25のフローチャートを参照しながら
経路長測定処理について説明する。本フローチャートに
おいて『経路長Len』とは開始、終了点、通過点からな
る経路の長さを格納するための変数である。本フローチ
ャートに処理が移行すると、プロセッサ10はステップ
651において経路長Lenに0を代入することによりこ
れを初期化する。
【0055】プロセッサ10は続いてステップ652に
おいて開始点・終了点・通過点を含む線分列を求める。そ
れからステップ653に移行し、ステップ654の処理
を開始点から終了点まで繰り返すよう制御する。ステッ
プ653においてプロセッサ10はではその組み合わせ
間の距離を算出し、経路長Lenに加算する。この処理を
開始点から終了点までの全ての交点について繰り返す
と、指示された3点を通る経路長が得られることにな
る。
おいて開始点・終了点・通過点を含む線分列を求める。そ
れからステップ653に移行し、ステップ654の処理
を開始点から終了点まで繰り返すよう制御する。ステッ
プ653においてプロセッサ10はではその組み合わせ
間の距離を算出し、経路長Lenに加算する。この処理を
開始点から終了点までの全ての交点について繰り返す
と、指示された3点を通る経路長が得られることにな
る。
【0056】経路長が計算されると、ステップ615に
移行して、指定された経路を通常の断面を形成する線と
よりも太くかつ異なる色で表示する(図23(c)、図
24(d)参照)。最後に、メジャーリング処理操作パ
ネル70の距離情報表示部83に、ステップ614で算
出した値が表示される。(3−4−3)N点入力モード
処理N点入力モードでは立体モデル表面の一平面上にな
い経路長を求める処理を行う。一平面上にない経路の指
定手段として、物体表面上をマウスドラッグすることも
考えられるが、使用者にとって二次元画面上で立体モデ
ル表面上の経路を正確にドラッグすることは困難である
ので、ここでは立体モデル上の複数の点により経路を指
定する。使用者が指定するのは始点、終点、複数の通過
点よりなるN点である。
移行して、指定された経路を通常の断面を形成する線と
よりも太くかつ異なる色で表示する(図23(c)、図
24(d)参照)。最後に、メジャーリング処理操作パ
ネル70の距離情報表示部83に、ステップ614で算
出した値が表示される。(3−4−3)N点入力モード
処理N点入力モードでは立体モデル表面の一平面上にな
い経路長を求める処理を行う。一平面上にない経路の指
定手段として、物体表面上をマウスドラッグすることも
考えられるが、使用者にとって二次元画面上で立体モデ
ル表面上の経路を正確にドラッグすることは困難である
ので、ここでは立体モデル上の複数の点により経路を指
定する。使用者が指定するのは始点、終点、複数の通過
点よりなるN点である。
【0057】立体モデル上のN点は通常は一平面上には
存在しない。そのため、当該N点を通る経路は無数に存
在し特定することは困難である。そこで、ここでは、N
点から3点ずつを抽出して、得られる3点ごとに前記3
点入力モードで用いた方法により3点を通る経路長を算
出して、この結果を用いてN点を通る経路長を近似的に
求めることとしている。
存在しない。そのため、当該N点を通る経路は無数に存
在し特定することは困難である。そこで、ここでは、N
点から3点ずつを抽出して、得られる3点ごとに前記3
点入力モードで用いた方法により3点を通る経路長を算
出して、この結果を用いてN点を通る経路長を近似的に
求めることとしている。
【0058】図26を用いて具体的に説明する。例え
ば、図26(a)のように立体モデル32上に4つの点
P1、P2、P3、P4(P1が始点、P4が終点、P2、P3
が通過点とする)が指定されたとする。ここで、点P
1、P2、P3、の3点を用いて、当該3点を通る平面か
ら経路を求めると図26(b)に示すような点P1、P
2、P3を通る経路が得られる。ここで、この経路のP
1、P2間の距離をLa12、P2、P3間の距離をLa23とす
る。
ば、図26(a)のように立体モデル32上に4つの点
P1、P2、P3、P4(P1が始点、P4が終点、P2、P3
が通過点とする)が指定されたとする。ここで、点P
1、P2、P3、の3点を用いて、当該3点を通る平面か
ら経路を求めると図26(b)に示すような点P1、P
2、P3を通る経路が得られる。ここで、この経路のP
1、P2間の距離をLa12、P2、P3間の距離をLa23とす
る。
【0059】次に、点P2、P3、P4の3点を用いて、
当該3点を通る平面から経路を求めると図26(c)に
示すような点P2、P3、P4を通る経路が得られる。こ
こで、この経路のP2、P3間の距離をLb23、P3、P4間
の距離をLb34とする。なお、La12、La23、Lb23、L
b34の経路長は3点入力モードと同様の方法により求め
ることができる。
当該3点を通る平面から経路を求めると図26(c)に
示すような点P2、P3、P4を通る経路が得られる。こ
こで、この経路のP2、P3間の距離をLb23、P3、P4間
の距離をLb34とする。なお、La12、La23、Lb23、L
b34の経路長は3点入力モードと同様の方法により求め
ることができる。
【0060】このようにした場合、点P2、P3を通る経
路は、長さLa23の経路と、長さLb23の経路の2通りが
存在することになる。そこで、ここでは求める経路が2
つの経路の中間付近にあるものと考えて、La23、Lb23
の平均を点P2、P3を通る経路の長さとする。即ち、4
点P1、P2、P3、P4を通る経路の長さはLa12+((L
a23+Lb23)/2)+Lb34であらわすことができる。
路は、長さLa23の経路と、長さLb23の経路の2通りが
存在することになる。そこで、ここでは求める経路が2
つの経路の中間付近にあるものと考えて、La23、Lb23
の平均を点P2、P3を通る経路の長さとする。即ち、4
点P1、P2、P3、P4を通る経路の長さはLa12+((L
a23+Lb23)/2)+Lb34であらわすことができる。
【0061】これをさらに一般化して、立体モデル表面
上にP1、P2、・・・PNのN点の指定による経路長をP
ath(P1,P2,・・・PN )を求めるとする。連続する
3点Pi、Pi+1、Pi+2を始点、通過点、終点としてこ
れを通る平面から求められる経路長について、始点と通
過点間の経路長をL(Pi,Pi+1,Pi+2,”former”)と
表し、通過点と終点間の経路長をL(Pi,Pi+1,Pi+
2,”latter”)と表すものとする。
上にP1、P2、・・・PNのN点の指定による経路長をP
ath(P1,P2,・・・PN )を求めるとする。連続する
3点Pi、Pi+1、Pi+2を始点、通過点、終点としてこ
れを通る平面から求められる経路長について、始点と通
過点間の経路長をL(Pi,Pi+1,Pi+2,”former”)と
表し、通過点と終点間の経路長をL(Pi,Pi+1,Pi+
2,”latter”)と表すものとする。
【0062】経路全体の始点P1と次の点P2との距
離、及び、経路全体の終点の一つ手前の点PN-1と終点
PNとの距離は一義的に定まる。これ以外の各点間Pi、
Pi+1(i=2、3、・・・N−2)の経路長はL(P
i,Pi+1,Pi+2,”former”)とL(Pi+1,Pi+2,Pi+
3,”latter”)との平均をとる。これにより、経路長Pa
th(P1,P2,・・・PN )は
離、及び、経路全体の終点の一つ手前の点PN-1と終点
PNとの距離は一義的に定まる。これ以外の各点間Pi、
Pi+1(i=2、3、・・・N−2)の経路長はL(P
i,Pi+1,Pi+2,”former”)とL(Pi+1,Pi+2,Pi+
3,”latter”)との平均をとる。これにより、経路長Pa
th(P1,P2,・・・PN )は
【0063】
【数1】
【0064】と表すことができる。次に、実際にどのよ
うな動作によりN点を通過する経路長を行うかを説明す
る。上記処理を行うN点入力モードへは、選択用パネル
130よりN点モードボタン133が操作されることに
より、図21のステップ608を介して移行する。最初
にステップ618においてN点の入力がなされたか否か
が判断される。ここで、N点の入力がされていなければ
ステップ619へ移行しN点の入力を待つ。
うな動作によりN点を通過する経路長を行うかを説明す
る。上記処理を行うN点入力モードへは、選択用パネル
130よりN点モードボタン133が操作されることに
より、図21のステップ608を介して移行する。最初
にステップ618においてN点の入力がなされたか否か
が判断される。ここで、N点の入力がされていなければ
ステップ619へ移行しN点の入力を待つ。
【0065】点の入力は使用者がビューワーにおいて立
体モデル表面をクリックすることで行う。使用者が立体
モデル表面上に1点目をクリックすると、図27(a)
に示すような次の点の指定を促すポップアップメニュー
150aが表示される。続いて、使用者が2点目、3点
目を指定するとやはり、図27(a)に示すポップアッ
プメニュー150aが表示される。
体モデル表面をクリックすることで行う。使用者が立体
モデル表面上に1点目をクリックすると、図27(a)
に示すような次の点の指定を促すポップアップメニュー
150aが表示される。続いて、使用者が2点目、3点
目を指定するとやはり、図27(a)に示すポップアッ
プメニュー150aが表示される。
【0066】ところでN点入力モードにおいては4点以
上ならば制限無く点を指定することができるので、使用
者が最終的に全ての点を入力したことを指示する必要が
ある。そこで、4点目を入力した後は、点を入力するご
とに図27(b)に示すような、N点入力の終了か、さ
らに点の入力を行うかを問うポップアップメニュー15
0bが表示される。ここで、使用者は所望のN点の入力
が終了した場合はフィニッシュボタン151をクリック
し、まだ、入力を続ける場合はコンティニューボタン1
52をクリックすればよい。使用者がフィニッシュボタ
ン151をクリックするとN点の入力が終了し、ビュー
ワー座標系の各点の座標値が入力されることになる。
上ならば制限無く点を指定することができるので、使用
者が最終的に全ての点を入力したことを指示する必要が
ある。そこで、4点目を入力した後は、点を入力するご
とに図27(b)に示すような、N点入力の終了か、さ
らに点の入力を行うかを問うポップアップメニュー15
0bが表示される。ここで、使用者は所望のN点の入力
が終了した場合はフィニッシュボタン151をクリック
し、まだ、入力を続ける場合はコンティニューボタン1
52をクリックすればよい。使用者がフィニッシュボタ
ン151をクリックするとN点の入力が終了し、ビュー
ワー座標系の各点の座標値が入力されることになる。
【0067】N点の入力受付が終わると、メインルーチ
ンから再びステップ618に戻り、今度はステップ62
0へ移行する。ステップ620ではプロセッサ10は経
路の分割を行う。具体的には、入力されたN点から連続
する3点の組を1点ずつずらしながら抽出していく。続
いて、ステップ621により抽出した3点の一組につい
て断面を計算し、ステップ622により経路長を計算す
る。この処理は3点を通る基準平面を求めた後に当該基
準平面による切断面を導き、これから各点間の経路長を
求める処理であって、3点入力モード処理で行った計算
方法と同様の計算を行えば足りる。
ンから再びステップ618に戻り、今度はステップ62
0へ移行する。ステップ620ではプロセッサ10は経
路の分割を行う。具体的には、入力されたN点から連続
する3点の組を1点ずつずらしながら抽出していく。続
いて、ステップ621により抽出した3点の一組につい
て断面を計算し、ステップ622により経路長を計算す
る。この処理は3点を通る基準平面を求めた後に当該基
準平面による切断面を導き、これから各点間の経路長を
求める処理であって、3点入力モード処理で行った計算
方法と同様の計算を行えば足りる。
【0068】以上のステップ621、622の処理を全
ての3点の組について行った後に、ステップ624で上
記式により全経路長を計算する。それから、ステップ
625でN点入力の経路を表示する。ここでは、表示さ
れる経路は各N点を直線で結んだ線分を表示するものと
する。もっとも、N点を滑らかに繋ぐ曲線を算出してこ
れを表示する等種々の表示が可能であることはいうまで
もない。
ての3点の組について行った後に、ステップ624で上
記式により全経路長を計算する。それから、ステップ
625でN点入力の経路を表示する。ここでは、表示さ
れる経路は各N点を直線で結んだ線分を表示するものと
する。もっとも、N点を滑らかに繋ぐ曲線を算出してこ
れを表示する等種々の表示が可能であることはいうまで
もない。
【0069】最後に、ステップ626においてプロセッ
サ10は、ステップ624で計算された経路長をメジャ
ーリング処理操作パネル70の距離情報表示部83に表
示してN点入力モード処理を終了する。以上のようにN
点入力処理では、立体モデル表面上の任意の経路長を算
出することができる。なお、ここでは、経路長が2つ算
出された2点間の距離を2つ経路長を算出することによ
り求めたが、2つの経路の重なり部分として、それぞれ
の曲線の2点間での距離を重みとして線形補完して曲線
を求める等により経路長を算出する等種々の方法が採用
できる。また、ここでは、N点の内、連続する3点を1
点ずつずらしながら組分けすることで3点を抽出した
が、3点の内の2点を他の組を共有するように組分けす
れば足りるので、例えば点Pa、Pb、Pc、Pdに対し
て、(Pa、Pb、Pd)と(Pa、Pb、Pd)のような組
分けをすることも可能である。
サ10は、ステップ624で計算された経路長をメジャ
ーリング処理操作パネル70の距離情報表示部83に表
示してN点入力モード処理を終了する。以上のようにN
点入力処理では、立体モデル表面上の任意の経路長を算
出することができる。なお、ここでは、経路長が2つ算
出された2点間の距離を2つ経路長を算出することによ
り求めたが、2つの経路の重なり部分として、それぞれ
の曲線の2点間での距離を重みとして線形補完して曲線
を求める等により経路長を算出する等種々の方法が採用
できる。また、ここでは、N点の内、連続する3点を1
点ずつずらしながら組分けすることで3点を抽出した
が、3点の内の2点を他の組を共有するように組分けす
れば足りるので、例えば点Pa、Pb、Pc、Pdに対し
て、(Pa、Pb、Pd)と(Pa、Pb、Pd)のような組
分けをすることも可能である。
【0070】(3−5)曲面モード処理 曲面モード処理では、使用者が指定する立体モデル表面
の点や面につき微分値や曲率等の特徴量を求めこの特徴
量を数値及び画像として表示する。また、特徴量を算出
するに際して、立体モデルの凹凸のレベル、即ち立体モ
デルの凹凸の空間周波数を設定し調整することも合わせ
て行う。この曲面モード処理は図9のメジャーリング処
理のフローチャートにおいてメジャーリング処理操作パ
ネル70の曲面モード起動ボタン73がクリックされた
場合にステップ35を介して移行する。図28に曲面モ
ード処理のフローチャートを示す。以下、このフローチ
ャートに従って曲面モード処理を空間周波数の調整処理
と特徴量の算出処理に分けて説明する。
の点や面につき微分値や曲率等の特徴量を求めこの特徴
量を数値及び画像として表示する。また、特徴量を算出
するに際して、立体モデルの凹凸のレベル、即ち立体モ
デルの凹凸の空間周波数を設定し調整することも合わせ
て行う。この曲面モード処理は図9のメジャーリング処
理のフローチャートにおいてメジャーリング処理操作パ
ネル70の曲面モード起動ボタン73がクリックされた
場合にステップ35を介して移行する。図28に曲面モ
ード処理のフローチャートを示す。以下、このフローチ
ャートに従って曲面モード処理を空間周波数の調整処理
と特徴量の算出処理に分けて説明する。
【0071】(3−5−1)空間周波数の調整 空間周波数の調整は、測定対象を測定する時に生じる高
周波ノイズを取り除いたり、サンプリング点間距離の不
均一さを緩和したり、使用者が立体モデルから巨視的又
は微視的に特徴量を得たい場合等を考慮して空間周波数
の調整を行うものである。なお、ここでいう空間周波数
とは、単位長さ当たりの物理的な凹凸の周期をいうもの
とし、空間周波数の調整とはどの程度の凹凸を対象とし
て特徴量を定めるかを指定することをいう。見方を変え
ると空間周波数の逆数は一つは凹凸の1周期の距離を表
すので、1つの凸部または凹部を形成するものとしてみ
なす範囲を調整しているともいえる。
周波ノイズを取り除いたり、サンプリング点間距離の不
均一さを緩和したり、使用者が立体モデルから巨視的又
は微視的に特徴量を得たい場合等を考慮して空間周波数
の調整を行うものである。なお、ここでいう空間周波数
とは、単位長さ当たりの物理的な凹凸の周期をいうもの
とし、空間周波数の調整とはどの程度の凹凸を対象とし
て特徴量を定めるかを指定することをいう。見方を変え
ると空間周波数の逆数は一つは凹凸の1周期の距離を表
すので、1つの凸部または凹部を形成するものとしてみ
なす範囲を調整しているともいえる。
【0072】具体的に説明すると、空間周波数の指定、
即ち距離の指定により、例えば図29(a)に示す空間
周波数の逆数で規定される距離dを直径とする円筒Cで
表される範囲と立体モデルXとの交線内の立体モデル表
面部分Sxa部分を、図29(b)に示すように平滑化し
た曲面Sxbと見なして当該立体モデル表面Sxaの特徴量
を算出するようにする。なお、実際の計算においては範
囲と立体モデル表面との交線を求める必要はなく、交線
上の数点が在れば足りる。
即ち距離の指定により、例えば図29(a)に示す空間
周波数の逆数で規定される距離dを直径とする円筒Cで
表される範囲と立体モデルXとの交線内の立体モデル表
面部分Sxa部分を、図29(b)に示すように平滑化し
た曲面Sxbと見なして当該立体モデル表面Sxaの特徴量
を算出するようにする。なお、実際の計算においては範
囲と立体モデル表面との交線を求める必要はなく、交線
上の数点が在れば足りる。
【0073】図28のフローチャートにおいて、後述す
る曲面モード処理用パネルが未表示の場合はステップ7
02側へ移行し空間周波数の調整が行われる。通常は曲
面モードが起動した直後は曲面モード処理用パネルは未
表示であるのでステップ702へ進む。ステップ702
では空間周波数の基準値が計算される。これは立体モデ
ルを構成する点同士の距離の平均に応じて、特徴量算出
のための適当な空間周波数を定めるものである。空間周
波数の基準値の算出は立体モデルの頂点群の分布密度を
元に求める。図30に空間周波数の基準値を算出する処
理を表すフローチャートを示す。空間周波数の基準値の
算出は、まず、ステップ802で立体モデルの頂点の逆
数の平均値avr(1/Lside)を求める。これは、頂点
間を1周期とした空間周波数の平均値である。次にステ
ップ803で、求めた平均値にavr(1/Lside)に補
正値Vfragを積算することで空間周波数の基準値を算出
する。なお、Vfragは実験又は経験的に得られる値であ
って、ここではVfrag=0.25を用いる。なお、空間
周波数の基準値は頂点群の分布密度から求める場合に限
られず、例えば、立体モデル表面の空間周波数の内、最
も帯域が多いものを選択する等の方法により定めること
もできる。
る曲面モード処理用パネルが未表示の場合はステップ7
02側へ移行し空間周波数の調整が行われる。通常は曲
面モードが起動した直後は曲面モード処理用パネルは未
表示であるのでステップ702へ進む。ステップ702
では空間周波数の基準値が計算される。これは立体モデ
ルを構成する点同士の距離の平均に応じて、特徴量算出
のための適当な空間周波数を定めるものである。空間周
波数の基準値の算出は立体モデルの頂点群の分布密度を
元に求める。図30に空間周波数の基準値を算出する処
理を表すフローチャートを示す。空間周波数の基準値の
算出は、まず、ステップ802で立体モデルの頂点の逆
数の平均値avr(1/Lside)を求める。これは、頂点
間を1周期とした空間周波数の平均値である。次にステ
ップ803で、求めた平均値にavr(1/Lside)に補
正値Vfragを積算することで空間周波数の基準値を算出
する。なお、Vfragは実験又は経験的に得られる値であ
って、ここではVfrag=0.25を用いる。なお、空間
周波数の基準値は頂点群の分布密度から求める場合に限
られず、例えば、立体モデル表面の空間周波数の内、最
も帯域が多いものを選択する等の方法により定めること
もできる。
【0074】空間周波数の基準値が求まるとステップ7
03で当該値が所定記憶エリアに記憶され、曲面モード
処理用パネル140が表示される。ステップ704で表
示されるこの曲面モード処理用パネル140を図31に
示す。曲面モード処理用パネル140は、スライダー1
41、空間周波数表示部142、特徴量選択用ボタン1
44、145、146、微分方向選択ボタン147、計
算値表示部148、ポイントモード起動ボタン149、
エリアモード起動ボタン150、マッピングンモード起
動ボタン151、終了ボタン152により構成される。
03で当該値が所定記憶エリアに記憶され、曲面モード
処理用パネル140が表示される。ステップ704で表
示されるこの曲面モード処理用パネル140を図31に
示す。曲面モード処理用パネル140は、スライダー1
41、空間周波数表示部142、特徴量選択用ボタン1
44、145、146、微分方向選択ボタン147、計
算値表示部148、ポイントモード起動ボタン149、
エリアモード起動ボタン150、マッピングンモード起
動ボタン151、終了ボタン152により構成される。
【0075】スライダー141は、使用者により空間周
波数を調整するためもので、スライド片を左右にマウス
を用いて移動させることで前記算出した空間周波数の基
準値に対して、空間周波数の値を10-3〜103まで倍
率で変化させることができる。空間周波数表示部142
は、スライダーの調整量に応じて得られる空間周波数の
値を表示する。なお、最初は前記ステップ702算出さ
れた空間周波数の基準値が表示されている。
波数を調整するためもので、スライド片を左右にマウス
を用いて移動させることで前記算出した空間周波数の基
準値に対して、空間周波数の値を10-3〜103まで倍
率で変化させることができる。空間周波数表示部142
は、スライダーの調整量に応じて得られる空間周波数の
値を表示する。なお、最初は前記ステップ702算出さ
れた空間周波数の基準値が表示されている。
【0076】特徴量選択用ボタン144、145、14
6は、使用者が算出しようとする特徴量を選択するため
のボタンであり、ここでは特徴量として、特徴量選択用
ボタン144により平均曲率を選択でき、特徴量選択用
ボタン145によりガウス曲率を選択でき、特徴量選択
用ボタン146により微分値を選択することができる。
なお、特徴量として微分値が選択された場合は、微分方
向選択ボタン147により微分の方向を選択するように
なっている。
6は、使用者が算出しようとする特徴量を選択するため
のボタンであり、ここでは特徴量として、特徴量選択用
ボタン144により平均曲率を選択でき、特徴量選択用
ボタン145によりガウス曲率を選択でき、特徴量選択
用ボタン146により微分値を選択することができる。
なお、特徴量として微分値が選択された場合は、微分方
向選択ボタン147により微分の方向を選択するように
なっている。
【0077】ポイントモード起動ボタン149は、立体
モデル上の一点の特徴量を求めるポイントモードを起動
するためのボタンである。ここで求められた特徴量は計
算値表示部148に表示される。エリアモード起動ボタ
ン150は、立体モデルを一方向から見たときの全ての
点について特徴量を算出し、結果を画像として表示する
エリアモードを起動するためのボタンである。マッピン
グモード起動ボタン151は、立体モデル表面の全ての
点について特徴量を算出し、結果を画像として立体モデ
ルにテクスチャマッピング処理により張り付けるマッピ
ングモードを起動するためのボタンである。終了ボタン
152は曲面モードを終了させるためのボタンである。
モデル上の一点の特徴量を求めるポイントモードを起動
するためのボタンである。ここで求められた特徴量は計
算値表示部148に表示される。エリアモード起動ボタ
ン150は、立体モデルを一方向から見たときの全ての
点について特徴量を算出し、結果を画像として表示する
エリアモードを起動するためのボタンである。マッピン
グモード起動ボタン151は、立体モデル表面の全ての
点について特徴量を算出し、結果を画像として立体モデ
ルにテクスチャマッピング処理により張り付けるマッピ
ングモードを起動するためのボタンである。終了ボタン
152は曲面モードを終了させるためのボタンである。
【0078】(3−5−2)特徴量算出処理 曲面モード処理用パネル140が表示されるとメインル
ーチンは移行した後、再びステップ702に戻り、次の
特徴量算出処理へ移行する。特徴量算出処理では曲面モ
ード処理用パネル140の操作内容に応じて、ポイント
モード、エリアモード、マッピングモードによる処理を
行い、また、特徴量として、微分値、平均曲率、ガウス
曲率のいずれかを求める。平均曲率は曲面がどちら側に
膨らんでいるかを表すものである。また、ガウス曲率は
曲面が平面を曲げることによって作れるかどうかを示す
ものであって、平面の曲げの他に面の伸び縮みが必要な
曲面の場合は値が0にならない。特徴量には、測定する
箇所の法線方向に依存するものと、依存しないものが存
在するので特徴量に応じて法線方向で定まる座標系と、
基準平面により規定される座標系を使い分ける。
ーチンは移行した後、再びステップ702に戻り、次の
特徴量算出処理へ移行する。特徴量算出処理では曲面モ
ード処理用パネル140の操作内容に応じて、ポイント
モード、エリアモード、マッピングモードによる処理を
行い、また、特徴量として、微分値、平均曲率、ガウス
曲率のいずれかを求める。平均曲率は曲面がどちら側に
膨らんでいるかを表すものである。また、ガウス曲率は
曲面が平面を曲げることによって作れるかどうかを示す
ものであって、平面の曲げの他に面の伸び縮みが必要な
曲面の場合は値が0にならない。特徴量には、測定する
箇所の法線方向に依存するものと、依存しないものが存
在するので特徴量に応じて法線方向で定まる座標系と、
基準平面により規定される座標系を使い分ける。
【0079】(3−5−2a)微分値の計算 微分値の計算は、測定点の法線方向とは無関係に求める
ことができるので基準平面により定まる座標系を用い
る。この座標系をXLYLZL座標とする。この座標系に
おいて、立体モデル表面の測定点近傍の点の座標は
(x,y,f(x,y))と表せる。ここで、f(x,
y)の値は、点(x,y,f(x,y))の存在するポ
リゴンメッシュを構成する頂点P1、P2、・・・Pnの
各ZL座標を用いて、各頂点から測定点間での距離の逆
数を重みとして補完して求める。具体的には、頂点Pi
のZL座標をZL(Pi)、頂点Piから測定点までの距離
をL(Pi)とすると次式で表すことができる。
ことができるので基準平面により定まる座標系を用い
る。この座標系をXLYLZL座標とする。この座標系に
おいて、立体モデル表面の測定点近傍の点の座標は
(x,y,f(x,y))と表せる。ここで、f(x,
y)の値は、点(x,y,f(x,y))の存在するポ
リゴンメッシュを構成する頂点P1、P2、・・・Pnの
各ZL座標を用いて、各頂点から測定点間での距離の逆
数を重みとして補完して求める。具体的には、頂点Pi
のZL座標をZL(Pi)、頂点Piから測定点までの距離
をL(Pi)とすると次式で表すことができる。
【0080】
【数2】
【0081】なお、f(x,y)の値はB-splineや法
線ブレンディングなどの手法による羽ラメトリックな曲
線や曲面で近似して求めてもよい。今、測定点を(x
0,y0,f(x0,y0))とし、空間周波数から得られる区
間長をdとすると、XL軸方向、YL軸方向の微分値はそ
れぞれ次式で表せる。
線ブレンディングなどの手法による羽ラメトリックな曲
線や曲面で近似して求めてもよい。今、測定点を(x
0,y0,f(x0,y0))とし、空間周波数から得られる区
間長をdとすると、XL軸方向、YL軸方向の微分値はそ
れぞれ次式で表せる。
【0082】
【数3】
【0083】
【数4】
【0084】空間周波数により特定される区間dとf
(x0,y0)、f(x0-d/2,y0)、f(x0+d/2,y0)
の関係を図32に示す。図32(a)はdの値を狭い値
d1(高い空間周波数値)に設定した場合を示し、図3
2(b)はdの値を広い値d2(低い空間周波数値)に
設定した場合を示す。なお、微分の計算方法はXL軸方
向、YL軸方向とも同じであるので、ここでXL軸方向に
ついてのみ説明する。上記計算式は、測定点(x0,y
0,f(x0,y0))を中心として距離dで規定される範囲
で定まる点(x0-d/2,y0,f(x0-d/2,y0))、(x0
+d/2,y0,f(x0+d/2,y0))のみで算出されるの
で、実質的に図で示される両点に挟まれる曲線をC1も
しくはC2のように平滑化したものと見なして特徴量を
算出していることになる。即ち、区間dを小さくとれば
より微視的な凹凸の範囲で特徴量を算出でき、区間dを
大きくとればより巨視的な凹凸の範囲で特徴量を算出す
ることができる。なお、ここでは曲線(曲面)を平滑化
したものと見なして計算を行うが、区間dにおける曲線
(曲面)を実際に平滑化処理したあとに通常の微分処理
をするようにしてもほぼ同様の結果を得ることができ
る。これは次の曲率の計算においても同様である。
(x0,y0)、f(x0-d/2,y0)、f(x0+d/2,y0)
の関係を図32に示す。図32(a)はdの値を狭い値
d1(高い空間周波数値)に設定した場合を示し、図3
2(b)はdの値を広い値d2(低い空間周波数値)に
設定した場合を示す。なお、微分の計算方法はXL軸方
向、YL軸方向とも同じであるので、ここでXL軸方向に
ついてのみ説明する。上記計算式は、測定点(x0,y
0,f(x0,y0))を中心として距離dで規定される範囲
で定まる点(x0-d/2,y0,f(x0-d/2,y0))、(x0
+d/2,y0,f(x0+d/2,y0))のみで算出されるの
で、実質的に図で示される両点に挟まれる曲線をC1も
しくはC2のように平滑化したものと見なして特徴量を
算出していることになる。即ち、区間dを小さくとれば
より微視的な凹凸の範囲で特徴量を算出でき、区間dを
大きくとればより巨視的な凹凸の範囲で特徴量を算出す
ることができる。なお、ここでは曲線(曲面)を平滑化
したものと見なして計算を行うが、区間dにおける曲線
(曲面)を実際に平滑化処理したあとに通常の微分処理
をするようにしてもほぼ同様の結果を得ることができ
る。これは次の曲率の計算においても同様である。
【0085】(3−5−2b)曲率の計算 曲率は測定点の法線方向に依存するので、測定点の法線
により定まるローカルなXLYLZL座標系を用いて計算
を行う。具体的には図33に示すように立体モデルの測
定点を原点とし、当該測定点における法線と逆方向にZ
L軸をもつ座標系を用いる。なお、XL軸、YL軸はその
都度適当に設定する。また、この座標系においても立体
モデル表面の測定点近傍の点の座標は(x,y,f
(x,y))と表せ、f(x,y)も上記方法で得るこ
とができる。
により定まるローカルなXLYLZL座標系を用いて計算
を行う。具体的には図33に示すように立体モデルの測
定点を原点とし、当該測定点における法線と逆方向にZ
L軸をもつ座標系を用いる。なお、XL軸、YL軸はその
都度適当に設定する。また、この座標系においても立体
モデル表面の測定点近傍の点の座標は(x,y,f
(x,y))と表せ、f(x,y)も上記方法で得るこ
とができる。
【0086】ここで算出する平均曲率κm、ガウス曲率
κgは次式で表すことができる。
κgは次式で表すことができる。
【0087】
【数5】
【0088】
【数6】
【0089】いま、測定点のXL座標、YL座標を、XL
=x0、YL=y0とすると、上式における∂2f/∂
x2、∂2f/∂y2、∂2f/(∂x∂y)の値は、空間
周波数から得られる区間長d(空間周波数の逆数)を用
いて、次式により近似できる。
=x0、YL=y0とすると、上式における∂2f/∂
x2、∂2f/∂y2、∂2f/(∂x∂y)の値は、空間
周波数から得られる区間長d(空間周波数の逆数)を用
いて、次式により近似できる。
【0090】
【数7】
【0091】
【数8】
【0092】
【数9】
【0093】以上の式を用いることで、平均曲率、ガウ
ス曲率を立体モデルの頂点データから求めることができ
る。なお、これらの式においても、例えばx軸方向に
は、図32に示すのと同じ区間dとf(x0,y0)、f
(x0-d/2,y0)、f(x0+d/2,y0)の関係を持ち、両
点間に挟まれる立体モデル表面を曲線C1(C2)に平滑
化したものと見なして特徴量を算出しているものという
ことができる。但し、曲率の算出においてはローカルな
座標を用いるのでx0=0、y0=0である。
ス曲率を立体モデルの頂点データから求めることができ
る。なお、これらの式においても、例えばx軸方向に
は、図32に示すのと同じ区間dとf(x0,y0)、f
(x0-d/2,y0)、f(x0+d/2,y0)の関係を持ち、両
点間に挟まれる立体モデル表面を曲線C1(C2)に平滑
化したものと見なして特徴量を算出しているものという
ことができる。但し、曲率の算出においてはローカルな
座標を用いるのでx0=0、y0=0である。
【0094】(3−5−3)ポイントモード処理 図31に示す曲面モード処理用パネル140のポイント
モード起動ボタン149が操作されると図28の曲面モ
ードのフローチャートにおいて、ステップ705を介し
てポイントモード処理へ移行する。ポイントモードで
は、まず、ステップ706で使用者によるビューワーで
の立体モデル表面の測定点の指定を待つ。測定点が指定
されるとステップ707で現在の空間周波数、即ち、曲
面モード処理用パネル140の空間周波数表示部142
に表示されている空間周波数の値を取り込む。
モード起動ボタン149が操作されると図28の曲面モ
ードのフローチャートにおいて、ステップ705を介し
てポイントモード処理へ移行する。ポイントモードで
は、まず、ステップ706で使用者によるビューワーで
の立体モデル表面の測定点の指定を待つ。測定点が指定
されるとステップ707で現在の空間周波数、即ち、曲
面モード処理用パネル140の空間周波数表示部142
に表示されている空間周波数の値を取り込む。
【0095】次に、ステップ710で曲面の特徴量が算
出される。曲面の特徴量を計算する処理を図34のフロ
ーチャートに示す。特徴量の計算は曲面モード処理用パ
ネル140の特徴量選択ボタンによって選択される微
分、平均曲率、ガウス曲率の別に応じて処理を変える。
まず、プロセッサ10は選択されている特徴量が曲率か
否かを判断する。ここで、曲率が選択されていなければ
微分が選択されているので、ステップ909へ移行し、
基準平面の座標系を特徴量を求める座標系として設定す
る。そしてステップ910で、曲面モード処理用パネル
140の微分方向選択ボタン147で設定されている方
向に従って、式を用いて測定点の微分値を計算す
る。
出される。曲面の特徴量を計算する処理を図34のフロ
ーチャートに示す。特徴量の計算は曲面モード処理用パ
ネル140の特徴量選択ボタンによって選択される微
分、平均曲率、ガウス曲率の別に応じて処理を変える。
まず、プロセッサ10は選択されている特徴量が曲率か
否かを判断する。ここで、曲率が選択されていなければ
微分が選択されているので、ステップ909へ移行し、
基準平面の座標系を特徴量を求める座標系として設定す
る。そしてステップ910で、曲面モード処理用パネル
140の微分方向選択ボタン147で設定されている方
向に従って、式を用いて測定点の微分値を計算す
る。
【0096】一方、ステップ901で曲率が選択されて
いる場合は、まず、ステップ902で測定点における法
線ベクトルを求め、ステップ903で求めた法線ベクト
ルから図33に示すようなXL YL ZL 座標系を設定す
る。次に、ステップ906で求める曲率は平均曲率か否
かが判断される。ここで平均曲率である場合は、ステッ
プ907において式、、、を用いて、測定点に
おける平均曲率κmを求める。一方、平均曲率でない場
合はガウス曲率が選択されているので、ステップ908
において式、、、を用いて、測定点におけるガ
ウス曲率κgを求める。
いる場合は、まず、ステップ902で測定点における法
線ベクトルを求め、ステップ903で求めた法線ベクト
ルから図33に示すようなXL YL ZL 座標系を設定す
る。次に、ステップ906で求める曲率は平均曲率か否
かが判断される。ここで平均曲率である場合は、ステッ
プ907において式、、、を用いて、測定点に
おける平均曲率κmを求める。一方、平均曲率でない場
合はガウス曲率が選択されているので、ステップ908
において式、、、を用いて、測定点におけるガ
ウス曲率κgを求める。
【0097】上記ようにして曲面の特徴量計算処理が終
わると、ステップ711で曲面モード処理用パネル14
0の計算値表示部148に算出された特徴量を表示して
ポイントモード処理を終了する。(3−5−4)エリア
モード処理 エリアモード処理では基準平面へ立体モデルを投影した
場合に投影される各点の立体モデルにおける特徴量を画
像として表すものである。具体的には、図35(a)に
示すようにキャンバスの画素の位置に対応する基準平面
Hの座標点p、p、pからZ軸方向へ立体モデルXに投
射して得られる立体モデル上の各点(図中の二点鎖線よ
り左側の面上の点)に対し特徴量を算出し、当該特徴量
に応じてキャンバスの対応する画素の濃度を定めること
によって、特徴量を画像として図35(b)のようにキ
ャンバスに表示するものである。このモードに移行する
際には使用者は基準平面を立体モデルの所望の方向が投
影できるように姿勢を調整し移動させておく必要があ
る。
わると、ステップ711で曲面モード処理用パネル14
0の計算値表示部148に算出された特徴量を表示して
ポイントモード処理を終了する。(3−5−4)エリア
モード処理 エリアモード処理では基準平面へ立体モデルを投影した
場合に投影される各点の立体モデルにおける特徴量を画
像として表すものである。具体的には、図35(a)に
示すようにキャンバスの画素の位置に対応する基準平面
Hの座標点p、p、pからZ軸方向へ立体モデルXに投
射して得られる立体モデル上の各点(図中の二点鎖線よ
り左側の面上の点)に対し特徴量を算出し、当該特徴量
に応じてキャンバスの対応する画素の濃度を定めること
によって、特徴量を画像として図35(b)のようにキ
ャンバスに表示するものである。このモードに移行する
際には使用者は基準平面を立体モデルの所望の方向が投
影できるように姿勢を調整し移動させておく必要があ
る。
【0098】図31に示す曲面モード処理用パネル14
0のエリアモード起動ボタン150が操作されると図2
8の曲面モードのフローチャートにおいて、ステップ7
12を介してエリアモード処理へ移行する。エリアモー
ドでは、まず、ステップ713で現在の空間周波数、即
ち、曲面モード処理用パネル140の空間周波数表示部
142に表示されている空間周波数の値を取り込む。そ
れから、ステップ714で基準平面の姿勢を取り込む。
基準平面の姿勢を取り込むと、ステップ715でこの基
準平面のキャンバスの画素位置に対応する座標点からZ
軸方向へ立体モデルへ投射することで立体モデル上の点
の座標を算出する。なお、ここではキャンバスには48
0×480の画素を配列するように構成してあるものと
する。
0のエリアモード起動ボタン150が操作されると図2
8の曲面モードのフローチャートにおいて、ステップ7
12を介してエリアモード処理へ移行する。エリアモー
ドでは、まず、ステップ713で現在の空間周波数、即
ち、曲面モード処理用パネル140の空間周波数表示部
142に表示されている空間周波数の値を取り込む。そ
れから、ステップ714で基準平面の姿勢を取り込む。
基準平面の姿勢を取り込むと、ステップ715でこの基
準平面のキャンバスの画素位置に対応する座標点からZ
軸方向へ立体モデルへ投射することで立体モデル上の点
の座標を算出する。なお、ここではキャンバスには48
0×480の画素を配列するように構成してあるものと
する。
【0099】投影点が抽出されると、ステップ716で
抽出された点の1つずつについて曲面の特徴量計算処理
が行われる。この処理は、ポイント処理モードにおいて
説明した図34のフローチャートと同じ処理である。全
ての点に対して特徴量の算出が完了すると、ステップ7
17で各点の特徴量に応じて対応する画素の濃淡を変え
て2次元直交平面上即ちキャンバス平面にマッピングす
る。具体的にはキャンバス平面上の各画素の画素データ
として、対応する点における特徴量の絶対値が大きいほ
ど小さな輝度値を、特徴量の絶対値が小さいほど大きな
輝度値を設定し、さらに、特徴量の値が正の場合は青色
に負の場合は赤色にというふうに正負に応じた色を与え
るRGB値を設定する。マッピングの計算が終わるとス
テップ720でキャンバスにマッピングしたデータを表
示してエリアモードを終了する。
抽出された点の1つずつについて曲面の特徴量計算処理
が行われる。この処理は、ポイント処理モードにおいて
説明した図34のフローチャートと同じ処理である。全
ての点に対して特徴量の算出が完了すると、ステップ7
17で各点の特徴量に応じて対応する画素の濃淡を変え
て2次元直交平面上即ちキャンバス平面にマッピングす
る。具体的にはキャンバス平面上の各画素の画素データ
として、対応する点における特徴量の絶対値が大きいほ
ど小さな輝度値を、特徴量の絶対値が小さいほど大きな
輝度値を設定し、さらに、特徴量の値が正の場合は青色
に負の場合は赤色にというふうに正負に応じた色を与え
るRGB値を設定する。マッピングの計算が終わるとス
テップ720でキャンバスにマッピングしたデータを表
示してエリアモードを終了する。
【0100】なお、ここでは、キャンバスの画素位置に
対応する基準平面の座標点から立体モデルへ投射した点
を求め、当該点の特徴量により表される濃淡を対応する
画素に表すようにした。だが、これは立体モデルの各頂
点を基準平面に投影して各頂点の基準平面における対応
点を求め、各頂点の特徴量から各頂点の濃淡を算出し、
当該濃淡を用いて各点に囲まれる部分の濃淡を補完して
求め表示するようにすることもできる。
対応する基準平面の座標点から立体モデルへ投射した点
を求め、当該点の特徴量により表される濃淡を対応する
画素に表すようにした。だが、これは立体モデルの各頂
点を基準平面に投影して各頂点の基準平面における対応
点を求め、各頂点の特徴量から各頂点の濃淡を算出し、
当該濃淡を用いて各点に囲まれる部分の濃淡を補完して
求め表示するようにすることもできる。
【0101】(3−5−5)マッピングモード処理 マッピングモード処理では立体モデル表面上の各点にお
ける特徴量を算出し、当該特徴量に応じた画像を立体モ
デル表面上にテクスチャマッピング処理を行って、当該
画像を立体モデル表面に張り付けるものである。テクス
チャマッピング処理は、図36に示すように、テクスチ
ャ空間に設定されるテクスチャ形成面にAのような立体
モデルXに張り付けるテクスチャパタンを形成し、テク
スチャ空間座標で表されるテクスチャ形成面とテクスチ
ャを張り付ける立体モデル空間の座標(ビューワー座
標)で表される立体モデルX表面との対応を表すマッピ
ングデータを設定し、これを元に、テクスチャ空間から
立体モデル空間へ座標変換を行ってZのようにテクスチ
ャを立体モデル表面に形成するものである。
ける特徴量を算出し、当該特徴量に応じた画像を立体モ
デル表面上にテクスチャマッピング処理を行って、当該
画像を立体モデル表面に張り付けるものである。テクス
チャマッピング処理は、図36に示すように、テクスチ
ャ空間に設定されるテクスチャ形成面にAのような立体
モデルXに張り付けるテクスチャパタンを形成し、テク
スチャ空間座標で表されるテクスチャ形成面とテクスチ
ャを張り付ける立体モデル空間の座標(ビューワー座
標)で表される立体モデルX表面との対応を表すマッピ
ングデータを設定し、これを元に、テクスチャ空間から
立体モデル空間へ座標変換を行ってZのようにテクスチ
ャを立体モデル表面に形成するものである。
【0102】ここでは、テクスチャ空間座標として極座
標系を、テクスチャ形成面として球面を用いる。テクス
チャ形成面として球面を用いるのは、ここでは3次元表
面上の全体にテクスチャマッピングをするために2次元
直交座標系における平面は適切でないからである。もっ
とも、適切なマッピングを行うならば2次元直交座標系
における平面もテクスチャ形成面とすることができ、そ
の他、円筒上のテクスチャ形成面等種々のテクスチャ形
成面を用いることができる。
標系を、テクスチャ形成面として球面を用いる。テクス
チャ形成面として球面を用いるのは、ここでは3次元表
面上の全体にテクスチャマッピングをするために2次元
直交座標系における平面は適切でないからである。もっ
とも、適切なマッピングを行うならば2次元直交座標系
における平面もテクスチャ形成面とすることができ、そ
の他、円筒上のテクスチャ形成面等種々のテクスチャ形
成面を用いることができる。
【0103】極座標空間の球面と立体モデルとのマッピ
ングデータは次のようにして与えられる。今、図37に
示すようにビューワー座標系の立体モデルXに対して、
テクスチャ形成面である球面Sが取り囲んでいるものと
する。この球面はテクスチャ空間において中心を原点、
半径をrbとしている。また、ビューワー座標系の原点
と極座標の原点は一致するものとし、当該原点は立体モ
デル内部にあるものとする。もし、原点が立体モデル外
にある場合は、立体モデルを平行移動させて、原点が立
体モデル内に位置するようにする。
ングデータは次のようにして与えられる。今、図37に
示すようにビューワー座標系の立体モデルXに対して、
テクスチャ形成面である球面Sが取り囲んでいるものと
する。この球面はテクスチャ空間において中心を原点、
半径をrbとしている。また、ビューワー座標系の原点
と極座標の原点は一致するものとし、当該原点は立体モ
デル内部にあるものとする。もし、原点が立体モデル外
にある場合は、立体モデルを平行移動させて、原点が立
体モデル内に位置するようにする。
【0104】マッピングを行うために、まず、座標系を
一致させる必要がある。そこで、まず、ビューワー座標
(x,y,z)を、極座標(r,θ,φ)に変換する。
この変換は次式で与えられる。
一致させる必要がある。そこで、まず、ビューワー座標
(x,y,z)を、極座標(r,θ,φ)に変換する。
この変換は次式で与えられる。
【0105】
【数10】
【0106】この変換により立体モデルデータの頂点の
座標を極座標に変換する。これからマッピングデータは
次のように与えられる。即ち、図37に示すように原点
Oから立体モデルX上の点Paを通る直線が球面Sと交
わる点Pbを、当該立体モデル上の点Paと対応する点と
してマッピングデータを与える。図37に示すように、
PaとPbはrの値のみ異なり、θ,φの値は一致する。
つまり、立体モデルデータの頂点を極座標に変換したと
きに角度成分θ,φがそのまま球面上の対応点のマッピ
ングデータになる。なお、rbは一定であるので結局は
定める必要は無くなる。
座標を極座標に変換する。これからマッピングデータは
次のように与えられる。即ち、図37に示すように原点
Oから立体モデルX上の点Paを通る直線が球面Sと交
わる点Pbを、当該立体モデル上の点Paと対応する点と
してマッピングデータを与える。図37に示すように、
PaとPbはrの値のみ異なり、θ,φの値は一致する。
つまり、立体モデルデータの頂点を極座標に変換したと
きに角度成分θ,φがそのまま球面上の対応点のマッピ
ングデータになる。なお、rbは一定であるので結局は
定める必要は無くなる。
【0107】マッピングモード処理の具体的な動作を以
下に説明する。図31に示す曲面モード処理用パネル1
40のマッピングモード起動ボタン151が操作される
と図28の曲面モードのフローチャートにおいて、ステ
ップ721を介してマッピングモード処理へ移行する。
マッピングモードでも、まず、ステップ722で現在の
空間周波数を取り込む。それから、立体モデルの頂点の
1つずつについて曲面の特徴量計算処理が行われる。こ
の処理も、ポイント処理モードにおいて説明した図34
のフローチャートと同じ処理である。全ての処理につい
て特徴量の算出が完了すると、ステップ728でテクス
チャマッピング処理が行われる。
下に説明する。図31に示す曲面モード処理用パネル1
40のマッピングモード起動ボタン151が操作される
と図28の曲面モードのフローチャートにおいて、ステ
ップ721を介してマッピングモード処理へ移行する。
マッピングモードでも、まず、ステップ722で現在の
空間周波数を取り込む。それから、立体モデルの頂点の
1つずつについて曲面の特徴量計算処理が行われる。こ
の処理も、ポイント処理モードにおいて説明した図34
のフローチャートと同じ処理である。全ての処理につい
て特徴量の算出が完了すると、ステップ728でテクス
チャマッピング処理が行われる。
【0108】図38にテクスチャマッピング処理を表す
フローチャートを示す。テクスチャマッピング処理で
は、まず、前述したように立体モデルの頂点のビューワ
ー座標(必要に応じて平行移動しておく)を極座標に変
換する。そして、極座標に変換後の各頂点のθ,φの2
成分で表せる2次元座標位置に当該頂点の特徴量に応じ
て当該頂点位置の輝度値及びRGBデータを設定する。
なお、輝度値及びRGB値の設定の仕方は、エリアモー
ド処理の場合と同様である。また、ステップ1004で
ビューワー座標とと極座標の角度成分間の対応をマッピ
ングデータとして保存しておく。ステップ1002から
1004の処理を全ての頂点について終えると、ステッ
プ1006で頂点以外の面上の画像パタンを頂点に設定
された画像パタンを用いて補完して求める。具体的に
は、ポリゴンメッシュを構成する頂点に囲まれた面上の
点について、各頂点の濃度を距離に応じて重み付けをし
て、平均をとることにより算出する。これにより完全な
テクスチャパタンがテクスチャ形成面にデータとして形
成されることになる。
フローチャートを示す。テクスチャマッピング処理で
は、まず、前述したように立体モデルの頂点のビューワ
ー座標(必要に応じて平行移動しておく)を極座標に変
換する。そして、極座標に変換後の各頂点のθ,φの2
成分で表せる2次元座標位置に当該頂点の特徴量に応じ
て当該頂点位置の輝度値及びRGBデータを設定する。
なお、輝度値及びRGB値の設定の仕方は、エリアモー
ド処理の場合と同様である。また、ステップ1004で
ビューワー座標とと極座標の角度成分間の対応をマッピ
ングデータとして保存しておく。ステップ1002から
1004の処理を全ての頂点について終えると、ステッ
プ1006で頂点以外の面上の画像パタンを頂点に設定
された画像パタンを用いて補完して求める。具体的に
は、ポリゴンメッシュを構成する頂点に囲まれた面上の
点について、各頂点の濃度を距離に応じて重み付けをし
て、平均をとることにより算出する。これにより完全な
テクスチャパタンがテクスチャ形成面にデータとして形
成されることになる。
【0109】以上の処理が終わると、マッピングデータ
に基づいてデータとして得られているテクスチャパタン
を立体モデル表面に張り付けビューワーに表示して処理
を終了する。なお、ここでは立体モデルの各頂点とテク
スチャ形成面とをマッピングし、各頂点の特徴量から得
られる濃淡から各頂点に対応する点に囲まれる面のテク
スチャパターンを補完することで求めた。だが、これは
テクスチャ形成面の十分に細かく均等に選んだ座標と立
体モデル表面とをマッピングして対応する立体モデル上
の点を求め、求められた点における特徴量を算出して、
各点に対応するテクスチャ形成面上の点に当該特徴量に
応じた濃淡を形成することでテクスチャパターンを形成
するようにしてもよい。
に基づいてデータとして得られているテクスチャパタン
を立体モデル表面に張り付けビューワーに表示して処理
を終了する。なお、ここでは立体モデルの各頂点とテク
スチャ形成面とをマッピングし、各頂点の特徴量から得
られる濃淡から各頂点に対応する点に囲まれる面のテク
スチャパターンを補完することで求めた。だが、これは
テクスチャ形成面の十分に細かく均等に選んだ座標と立
体モデル表面とをマッピングして対応する立体モデル上
の点を求め、求められた点における特徴量を算出して、
各点に対応するテクスチャ形成面上の点に当該特徴量に
応じた濃淡を形成することでテクスチャパターンを形成
するようにしてもよい。
【0110】以上のような処理により、曲面モードでは
立体モデル表面の特徴量を空間周波数を調整しながら、
数値して算出し、さらに画像として視覚的に表示するこ
とができる。なお、ここでは図29に示されるように空
間周波数により得られるdの値に規定される円筒上の範
囲と立体モデル表面との交線に囲まれる立体モデル表面
を平滑化した曲面と見なして特徴量を算出したが、この
範囲は円筒ではなくdを半径とする球とすることもでき
る。この場合の図32のXLZL平面に対応する図を図3
9に示す。
立体モデル表面の特徴量を空間周波数を調整しながら、
数値して算出し、さらに画像として視覚的に表示するこ
とができる。なお、ここでは図29に示されるように空
間周波数により得られるdの値に規定される円筒上の範
囲と立体モデル表面との交線に囲まれる立体モデル表面
を平滑化した曲面と見なして特徴量を算出したが、この
範囲は円筒ではなくdを半径とする球とすることもでき
る。この場合の図32のXLZL平面に対応する図を図3
9に示す。
【0111】図39では、測定点を中心として直径をd
とした球(円)と立体モデルとの交点からf(xa,y
0)、f(xb,y0)を求めている。そして、これを用
いて測定点の特徴量を求めるようにすることができる。
このようにすると、頂点間の距離のばらつきに係わりな
く、測定点から立体モデル表面の均等な距離の範囲を特
徴量を算出するためのデータとして用いることができ
る。
とした球(円)と立体モデルとの交点からf(xa,y
0)、f(xb,y0)を求めている。そして、これを用
いて測定点の特徴量を求めるようにすることができる。
このようにすると、頂点間の距離のばらつきに係わりな
く、測定点から立体モデル表面の均等な距離の範囲を特
徴量を算出するためのデータとして用いることができ
る。
【0112】また、エリアモード処理およびマッピング
処理においては濃度を変えることで特徴量を視覚的に表
示したが、これは色を変えたりハッチングやトーンのパ
ターンを変えたりすることで視覚的に表示するようにす
ることができる。さらに、形状より得られる特徴量とし
て、ここでは微分値と曲率を用いたが、これは他の特徴
量を用いてもよく、例えば、次式で表されるラプラシア
ンΔなどを算出するようにしてもよい。
処理においては濃度を変えることで特徴量を視覚的に表
示したが、これは色を変えたりハッチングやトーンのパ
ターンを変えたりすることで視覚的に表示するようにす
ることができる。さらに、形状より得られる特徴量とし
て、ここでは微分値と曲率を用いたが、これは他の特徴
量を用いてもよく、例えば、次式で表されるラプラシア
ンΔなどを算出するようにしてもよい。
【0113】
【数11】
【0114】ラプラシアンは3次元におけるエッジの強
さを表す。この他にも、平滑化した曲面を表す多項式の
特定の係数や、曲率等の平均などを特徴量としてもよ
い。 (3−6)修復モード処理 修復モード処理では、立体モデルの欠損部分を自動的に
修復する。修復モード処理の基本的な考え方を図40を
用いて説明する。例えば、図40(a)に示すように、
立体モデルデータXをある軸方向を法線とする複数の平
面で切断する。すると、前述した切断モード時と同様の
計算により複数の断面データ(輪郭)を得ることができ
る。こうした得た断面データを前記軸方向に3次元空間
に並べて、断面間にポリゴンを発生させると立体モデル
データX* を得ることができる。元の立体モデルデータ
Xと得られた立体モデルデータX* は切断平面の間隔が
十分に狭ければほぼ同じものと見なすことができる。
さを表す。この他にも、平滑化した曲面を表す多項式の
特定の係数や、曲率等の平均などを特徴量としてもよ
い。 (3−6)修復モード処理 修復モード処理では、立体モデルの欠損部分を自動的に
修復する。修復モード処理の基本的な考え方を図40を
用いて説明する。例えば、図40(a)に示すように、
立体モデルデータXをある軸方向を法線とする複数の平
面で切断する。すると、前述した切断モード時と同様の
計算により複数の断面データ(輪郭)を得ることができ
る。こうした得た断面データを前記軸方向に3次元空間
に並べて、断面間にポリゴンを発生させると立体モデル
データX* を得ることができる。元の立体モデルデータ
Xと得られた立体モデルデータX* は切断平面の間隔が
十分に狭ければほぼ同じものと見なすことができる。
【0115】同じように図40(b)に示すような欠損
のある立体モデルデータXをある軸方向を法線とする複
数の平面で切断すると、やはり複数の断面データを得る
ことができる。この際、欠損部分は、切断モードにおけ
る図15(b)の線分のつなぎ合わせ処理のフローチャ
ートにおいて線分がつなぎ合わさらないことになり閉じ
てない断面と判断することが可能である。そして、この
ような閉じていない断面の開いた部分は輪郭を補完する
ことで、閉じた断面に修復することができる。その後、
やはり断面データを3次元空間に並べて断面間にポリゴ
ンを発生させると立体モデルX* が得られる。切断平面
の間隔を十分に小さくとれば、この立体モデルX* はほ
ぼ元の立体モデルXと同じでしかも欠損部分が修復され
ていることになる。
のある立体モデルデータXをある軸方向を法線とする複
数の平面で切断すると、やはり複数の断面データを得る
ことができる。この際、欠損部分は、切断モードにおけ
る図15(b)の線分のつなぎ合わせ処理のフローチャ
ートにおいて線分がつなぎ合わさらないことになり閉じ
てない断面と判断することが可能である。そして、この
ような閉じていない断面の開いた部分は輪郭を補完する
ことで、閉じた断面に修復することができる。その後、
やはり断面データを3次元空間に並べて断面間にポリゴ
ンを発生させると立体モデルX* が得られる。切断平面
の間隔を十分に小さくとれば、この立体モデルX* はほ
ぼ元の立体モデルXと同じでしかも欠損部分が修復され
ていることになる。
【0116】なお、この手法で重要なのは切断面の法線
方向の取り方であり、欠損部分を適切にスライスできる
ような方向に設定することが重要である。そこで、ここ
では、基準平面のZ軸方向を切断面の法線方向とし、使
用者が適切な方向を設定できるようにしてある。図9の
メジャーリング処理のフローチャートにおいて修復モー
ド起動ボタン74が操作されるとステップ43の切断モ
ード処理へ移行する。図41に修復モード処理の動作を
示すフローチャートを示す。修復モード処理では、ま
ず、ステップで使用者が設定した基準平面の姿勢の取り
込みを行う。次に立体モデルのZ軸方向の高さを求め、
この高さから切断平面間の間隔を求める。ここでは、得
られた高さの1/1000としている。
方向の取り方であり、欠損部分を適切にスライスできる
ような方向に設定することが重要である。そこで、ここ
では、基準平面のZ軸方向を切断面の法線方向とし、使
用者が適切な方向を設定できるようにしてある。図9の
メジャーリング処理のフローチャートにおいて修復モー
ド起動ボタン74が操作されるとステップ43の切断モ
ード処理へ移行する。図41に修復モード処理の動作を
示すフローチャートを示す。修復モード処理では、ま
ず、ステップで使用者が設定した基準平面の姿勢の取り
込みを行う。次に立体モデルのZ軸方向の高さを求め、
この高さから切断平面間の間隔を求める。ここでは、得
られた高さの1/1000としている。
【0117】次に、S1105で1の刻み幅づつ立体モ
デルを平面で切断していき断面データを求めていく。断
面データの求め方は断面モード処理で説明したのと同様
である。そして、ステップ1107で求められた断面デ
ータが欠損があるかどうか、即ち閉じてない断面である
かどうかを判断し、欠損がある場合はステップ1109
で断面データを修復する。この修復処理については後に
詳述する。
デルを平面で切断していき断面データを求めていく。断
面データの求め方は断面モード処理で説明したのと同様
である。そして、ステップ1107で求められた断面デ
ータが欠損があるかどうか、即ち閉じてない断面である
かどうかを判断し、欠損がある場合はステップ1109
で断面データを修復する。この修復処理については後に
詳述する。
【0118】立体モデルのZ軸方向の高さ分の切断面の
全てについて以上の処理が終わると、ステップ113に
おいて修復した断面データを含めて断面データをつなぎ
合わせて立体モデルデータを復元して処理を終了する。 (3−6−1)断面データの修復処理 次に、ステップ1109における断面データの修復処理
について説明する。ここでは断面データの欠損のある部
分近傍の形状のみから断面データの修復を行う。つま
り、例えば図42(a)(b)に示す断面データにおい
て欠損部分は立体モデルにおいて同じ欠損部分の一部で
あるとする。もし、欠損部分から離れた箇所を考慮にい
れて欠損部分の補完を行うことにすると、(a)(b)
は欠損部分から離れた部分において大きく形状が異なっ
ているので、修復結果もかなり異なったものとなってし
まう。一方、欠損部分近傍のみを考慮すると両者はかな
り近い修復結果を得ることができる。
全てについて以上の処理が終わると、ステップ113に
おいて修復した断面データを含めて断面データをつなぎ
合わせて立体モデルデータを復元して処理を終了する。 (3−6−1)断面データの修復処理 次に、ステップ1109における断面データの修復処理
について説明する。ここでは断面データの欠損のある部
分近傍の形状のみから断面データの修復を行う。つま
り、例えば図42(a)(b)に示す断面データにおい
て欠損部分は立体モデルにおいて同じ欠損部分の一部で
あるとする。もし、欠損部分から離れた箇所を考慮にい
れて欠損部分の補完を行うことにすると、(a)(b)
は欠損部分から離れた部分において大きく形状が異なっ
ているので、修復結果もかなり異なったものとなってし
まう。一方、欠損部分近傍のみを考慮すると両者はかな
り近い修復結果を得ることができる。
【0119】図43に断面データ修復処理を表すフロー
チャートを示す。また、欠損のある断面データの例とし
て図44(a)に示すような断面データを修復するもの
とする。図44(a)の断面データは、2本の線分(P
0,0 ,P0,1 ,・・・P0,N)と(P1,0 ,P1,1 ,
・・・P1,N)より構成されており、点P0,0 P1,0間
および点P0,N P1,N間が欠損部分である。まず、ステ
ップ1202で端点が最も近い点の組、即ち、欠損部分
を構成する端点の組を求める。図44(a)の例では、
(P0,0 P1,0)の組と、(P0,N P1,N)の組が求め
られる。ここで、P0,0 P1,0をP1、P2、P0,N P
1,NをP5、P6と表しておく。
チャートを示す。また、欠損のある断面データの例とし
て図44(a)に示すような断面データを修復するもの
とする。図44(a)の断面データは、2本の線分(P
0,0 ,P0,1 ,・・・P0,N)と(P1,0 ,P1,1 ,
・・・P1,N)より構成されており、点P0,0 P1,0間
および点P0,N P1,N間が欠損部分である。まず、ステ
ップ1202で端点が最も近い点の組、即ち、欠損部分
を構成する端点の組を求める。図44(a)の例では、
(P0,0 P1,0)の組と、(P0,N P1,N)の組が求め
られる。ここで、P0,0 P1,0をP1、P2、P0,N P
1,NをP5、P6と表しておく。
【0120】次に、ステップ1203で線分の長さを算
出し、ステップ1204でこの長さを基準に修復のため
の基準長さを求める。ここでは、端点から線分の長さの
1/5の長さを修復のための基準長さとする。そして、
欠損部分を構成する端点からこの基準長さだけ離れた距
離にある点を代表点とし、この代表点を適当な補完処理
により求める。図44(a)では、代表点として例え
ば、P0、P3、P4、P6が求められる。
出し、ステップ1204でこの長さを基準に修復のため
の基準長さを求める。ここでは、端点から線分の長さの
1/5の長さを修復のための基準長さとする。そして、
欠損部分を構成する端点からこの基準長さだけ離れた距
離にある点を代表点とし、この代表点を適当な補完処理
により求める。図44(a)では、代表点として例え
ば、P0、P3、P4、P6が求められる。
【0121】それから、ステップ1205で、ステップ
1202で求めた端点の組と、ステップ1204で求め
た各端点から得られる代表点を滑らかに通過する曲線を
求める。ここでは曲線を求める方法として一般ブレンデ
ィング法を用いる。具体的には、例えば、図44(a)
の端点の組P1、P2と、この端点から得られる代表点P
0、P3を通る滑らかな曲線は次のようにして求めること
ができる。即ち、点P0、P1、P2、P3が位置ベクトル
として与えられたとして、4点を通る曲線上の座標ベク
トルC(t)(0≦t≦1)は一般ブレンディング法に
より次式で与えられる。
1202で求めた端点の組と、ステップ1204で求め
た各端点から得られる代表点を滑らかに通過する曲線を
求める。ここでは曲線を求める方法として一般ブレンデ
ィング法を用いる。具体的には、例えば、図44(a)
の端点の組P1、P2と、この端点から得られる代表点P
0、P3を通る滑らかな曲線は次のようにして求めること
ができる。即ち、点P0、P1、P2、P3が位置ベクトル
として与えられたとして、4点を通る曲線上の座標ベク
トルC(t)(0≦t≦1)は一般ブレンディング法に
より次式で与えられる。
【0122】
【数12】
【0123】これにより、P1、P2間を滑らかに繋ぐ曲
線が図44(b)のように得られることになる。その
後、ステップ1206で、全ての、欠損部分の処理が完
了したか否かが判断され、全ての欠損部分の処理が完了
していればステップ1207でステップ1205で求め
た曲線上に図44(b)に示すように適当な数点を復元
する。それから、ステップ1208で復元した点群を含
めて断面の輪郭を再構成することで断面データを修復す
る。これにより、図44(a)の断面データは図44
(c)のように修復されることになる。このように、修
復モード処理では、立体モデルデータに欠損部分があっ
たも極めて容易に欠損部分を修復することができる。な
お、ここでは、切断平面の法線方向を基準平面によりマ
ニュアルで指定するようにしたが、これは立体モデルの
シンニング等の処理により自動的に求めるようにしても
よい。また、ここでは、各切断面は同じ法線方向を持つ
ようにしたが、各切断面の法線方向は一致させる必要は
必ずしもない。
線が図44(b)のように得られることになる。その
後、ステップ1206で、全ての、欠損部分の処理が完
了したか否かが判断され、全ての欠損部分の処理が完了
していればステップ1207でステップ1205で求め
た曲線上に図44(b)に示すように適当な数点を復元
する。それから、ステップ1208で復元した点群を含
めて断面の輪郭を再構成することで断面データを修復す
る。これにより、図44(a)の断面データは図44
(c)のように修復されることになる。このように、修
復モード処理では、立体モデルデータに欠損部分があっ
たも極めて容易に欠損部分を修復することができる。な
お、ここでは、切断平面の法線方向を基準平面によりマ
ニュアルで指定するようにしたが、これは立体モデルの
シンニング等の処理により自動的に求めるようにしても
よい。また、ここでは、各切断面は同じ法線方向を持つ
ようにしたが、各切断面の法線方向は一致させる必要は
必ずしもない。
【0124】以上のように本実施の形態に係る3次元形
状データ処理装置では、切断モード処理、距離モード、
曲面モード、修復モード等により3次元形状データを様
々に加工し解析することが可能となる。なお、本実施形
態では測定を光学的に読み取ったが、モデラー等で作成
された3次元データを対象にすることもできる。また、
本実施形態では立体モデルデータをポリゴンメッシュか
ら構成したが他の形式で立体モデルデータを表現しても
よい。具体例を挙げれば、ボクセルデータ、複数の輪郭
データ、NURBS等のパラメトリック表現による面デー
タ、CADデータ等がある。
状データ処理装置では、切断モード処理、距離モード、
曲面モード、修復モード等により3次元形状データを様
々に加工し解析することが可能となる。なお、本実施形
態では測定を光学的に読み取ったが、モデラー等で作成
された3次元データを対象にすることもできる。また、
本実施形態では立体モデルデータをポリゴンメッシュか
ら構成したが他の形式で立体モデルデータを表現しても
よい。具体例を挙げれば、ボクセルデータ、複数の輪郭
データ、NURBS等のパラメトリック表現による面デー
タ、CADデータ等がある。
【0125】
【発明の効果】以上説明したように本発明に係る3次元
形状データ処理装置は、通過点受付手段が測定対象表面
上の経路を通るN個(N>3)の点の入力を受け付け、
組分け手段が受付られたN個の点を、他の組と2点を共
有する3点ずつの組に分ける。そして、算出手段が前記
組を構成する3点を通る平面と測定対象表面との交線上
において当該3点を始点、通過点、終点として各点間の
経路の長さを算出し、距離推定手段が各組で共有する前
記2点間の実際の距離を、前記算出手段により組ごとに
算出される当該2点間の複数の経路の長さから推定し、
最後に、総経路長算出手段が前記算出手段により算出さ
れた経路の長さと、前記距離推定手段により推定された
経路の長さとを用いてN個の点を通る経路長を算出す
る。
形状データ処理装置は、通過点受付手段が測定対象表面
上の経路を通るN個(N>3)の点の入力を受け付け、
組分け手段が受付られたN個の点を、他の組と2点を共
有する3点ずつの組に分ける。そして、算出手段が前記
組を構成する3点を通る平面と測定対象表面との交線上
において当該3点を始点、通過点、終点として各点間の
経路の長さを算出し、距離推定手段が各組で共有する前
記2点間の実際の距離を、前記算出手段により組ごとに
算出される当該2点間の複数の経路の長さから推定し、
最後に、総経路長算出手段が前記算出手段により算出さ
れた経路の長さと、前記距離推定手段により推定された
経路の長さとを用いてN個の点を通る経路長を算出す
る。
【0126】このような動作により、本発明に係る3次
元形状データ処理装置は3次元の測定対象表面上の一平
面上にないN個の点を通る経路長を、N個の点を入力す
るだけで近似的に算出することができる。
元形状データ処理装置は3次元の測定対象表面上の一平
面上にないN個の点を通る経路長を、N個の点を入力す
るだけで近似的に算出することができる。
【図1】実施の形態に係る3次元形状データ処理装置の
内部構成を示す機能ブロック図である。
内部構成を示す機能ブロック図である。
【図2】(a)は測定対象の一例を示す図であり、
(b)(a)の測定対象の立体モデル化したものの一例
を示す図であり、(c)は(b)の部分拡大図である。
(b)(a)の測定対象の立体モデル化したものの一例
を示す図であり、(c)は(b)の部分拡大図である。
【図3】立体モデルのデータ構造を示す図である。
【図4】実施の形態に係る3次元形状データ処理装置に
おけるディスプレイの表示画面例を示す図である。
おけるディスプレイの表示画面例を示す図である。
【図5】(a)はキャンバス座標系を示す説明図であ
り、(b)はビューワー座標系っを示す説明図である。
り、(b)はビューワー座標系っを示す説明図である。
【図6】(a)は基準平面を表す図であり、(b)は基
準平面のデータ構造を示す図である。
準平面のデータ構造を示す図である。
【図7】(a)は基準平面の姿勢変化を示す図であり、
(b)は基準平面の移動を示す図である。
(b)は基準平面の移動を示す図である。
【図8】実施の形態に係る3次元形状データ処理処理装
置のメインのフローチャートである。
置のメインのフローチャートである。
【図9】メジャーリング処理を示すフローチャートであ
る。
る。
【図10】メジャーリング処理操作パネルを示す図であ
る。
る。
【図11】基準物体表示処理を示すフローチャートであ
る。
る。
【図12】基準物体移動・回転処理を示すフローチャー
トである。
トである。
【図13】回転・移動量入力パネルを示す図である。
【図14】切断モード処理を示すフローチャートであ
る。
る。
【図15】(a)は断面データ計算処理を示すフローチ
ャートであり、(b)は線分のつなぎ合わせ処理を示す
フローチャートである。
ャートであり、(b)は線分のつなぎ合わせ処理を示す
フローチャートである。
【図16】交点同士の連結処理を示すフローチャートで
ある。
ある。
【図17】線分列の連結処理を示すフローチャートであ
る。
る。
【図18】(a)は基準平面がポリゴンメッシュを切断
する状態の例を示す図であり、(b)は基準平面とポリ
ゴンメッシュとの交点の例を示す図である。
する状態の例を示す図であり、(b)は基準平面とポリ
ゴンメッシュとの交点の例を示す図である。
【図19】(a)は一つのポリゴンメッシュで形成され
る交点の例を示す図であり、(b)は(a)で示す交点
同士を結んだ状態を示す図であり、(c)は(b)で示
す線分を連結した状態を示す図である。
る交点の例を示す図であり、(b)は(a)で示す交点
同士を結んだ状態を示す図であり、(c)は(b)で示
す線分を連結した状態を示す図である。
【図20】(a)は切断面の輪郭長の計算方法を説明す
るための図であり、(b)は切断面の面積の計算方法を
説明するための図である。
るための図であり、(b)は切断面の面積の計算方法を
説明するための図である。
【図21】距離モード処理を示すフローチャートであ
る。
る。
【図22】選択用パネルを示す図である。
【図23】(a)はキャンバスに断面が表示されている
状態を示す図であり、(b)は(a)の断面の輪郭から
始点と終点を選択した状態を示す図であり、(c)は
(b)の始点と終点に対する通過点を選択した状態を示
す図である。
状態を示す図であり、(b)は(a)の断面の輪郭から
始点と終点を選択した状態を示す図であり、(c)は
(b)の始点と終点に対する通過点を選択した状態を示
す図である。
【図24】(a)はビューワーに立体モデルが表示され
ている状態を示す図であり、(b)は(a)に表示され
ている立体モデルから始点、終点、通過点を指定した状
態を示す図であり、(c)は指定した3点と通る基準平
面が表示された状態を示す図であり、(d)は(c)の
基準平面で規定されるキャンバスの画像を示す図であ
る。
ている状態を示す図であり、(b)は(a)に表示され
ている立体モデルから始点、終点、通過点を指定した状
態を示す図であり、(c)は指定した3点と通る基準平
面が表示された状態を示す図であり、(d)は(c)の
基準平面で規定されるキャンバスの画像を示す図であ
る。
【図25】経路長測定処理を示すフローチャートであ
る。
る。
【図26】(a)はビュワー上の立体モデルから4点を
指定した状態を示す図であり、(b)は(a)で指定し
た4点の内の3点から得られる経路を示す図であり、
(c)は(a)で指定した4点の内の(b)とは異なる
3点から得られる経路を示す図である。
指定した状態を示す図であり、(b)は(a)で指定し
た4点の内の3点から得られる経路を示す図であり、
(c)は(a)で指定した4点の内の(b)とは異なる
3点から得られる経路を示す図である。
【図27】(a)はN点モード時における一のポップア
ップメニューを示す図であり、(b)はN点モード時に
おける他のポップアップメニューの一つを示す図であ
る。
ップメニューを示す図であり、(b)はN点モード時に
おける他のポップアップメニューの一つを示す図であ
る。
【図28】曲面モード処理を示すフローチャートであ
る。
る。
【図29】(a)は空間周波数で規定される範囲に含ま
れる曲面を示す図であり、(b)は(a)で示す曲面を
平滑化した状態を示す図である。
れる曲面を示す図であり、(b)は(a)で示す曲面を
平滑化した状態を示す図である。
【図30】空間周波数の基準値計算処理を示すフローチ
ャートである。
ャートである。
【図31】曲面モード処理用パネルを示す図である。
【図32】(a)は高い空間周波数に設定した場合の特
徴量の計算に用いる変数を示す図であり、(b)は低い
空間周波数に設定した場合の特徴量の係数に用いる変数
をしめす図である。
徴量の計算に用いる変数を示す図であり、(b)は低い
空間周波数に設定した場合の特徴量の係数に用いる変数
をしめす図である。
【図33】曲率の法線により規定される座標系を示す図
でる。
でる。
【図34】曲面の特徴量の計算処理を示すフローチャー
トである。
トである。
【図35】(a)は基準平面の画素から立体モデルへの
投影を示す図であり、(b)は立体モデルの基準平面か
ら投影された領域をキャンバス上に示した図である。
投影を示す図であり、(b)は立体モデルの基準平面か
ら投影された領域をキャンバス上に示した図である。
【図36】テクスチャマッピング処理を説明するための
図である。
図である。
【図37】直交座標系上の立体モデル表面と極座標系の
球面とのマッピングを説明するための図である。
球面とのマッピングを説明するための図である。
【図38】テクスチャマッピング処理を示すフローチャ
ートである。
ートである。
【図39】空間周波数から得られる領域の範囲を球面内
とした場合の特徴量を算出するための変数を示す図であ
る。
とした場合の特徴量を算出するための変数を示す図であ
る。
【図40】(a)は欠損の無い立体モデルを断面データ
に分解した後に再び立体モデルを再現する手順を示す模
式図であり、(b)は欠損のある立体モデルを断面デー
タに分解修復した後に立体モデルを再現する手順を示す
図である。
に分解した後に再び立体モデルを再現する手順を示す模
式図であり、(b)は欠損のある立体モデルを断面デー
タに分解修復した後に立体モデルを再現する手順を示す
図である。
【図41】修復モード処理を示すフローチャートであ
る。
る。
【図42】(a)は欠損のある断面データの一例を示す
図であり、(b)は(a)と同じ欠損を持ち、かつ、輪
郭の形状が大きく異なる断面データの一例を示す図であ
る。
図であり、(b)は(a)と同じ欠損を持ち、かつ、輪
郭の形状が大きく異なる断面データの一例を示す図であ
る。
【図43】断面データ修復処理を示すフローチャートで
ある。
ある。
【図44】(a)は欠損のある断面データの一例を示す
図であり、(b)は欠損部分部分を曲線で補完した状態
を示す図であり、(c)は(a)の断面データを修復し
た状態を示す図である。
図であり、(b)は欠損部分部分を曲線で補完した状態
を示す図であり、(c)は(a)の断面データを修復し
た状態を示す図である。
1 光学的測定部 2 測定対象モデル化部 3 ディスク装置 4 ディスプレイ 5 マウス 6 キーボード 7 GUIシステム 8 メインモジュール 9 メジャーリングモジュール 10 プロセッサ
Claims (2)
- 【請求項1】 3次元形状をもつ測定対象の表面を通る
経路の長さを測定する3次元データ処理装置であって、 測定対象表面上の経路を通るN個(N>3)の点の入力
を受け付ける通過点受付手段と、 受付られたN個の点を、他の組と2点を共有する3点ず
つの組に分ける組分け手段と、 前記組を構成する3点を通る平面と測定対象表面との交
線上において当該3点を始点、通過点、終点として各点
間の経路の長さを算出する算出手段と、 各組で共有する前記2点間の実際の距離を、前記算出手
段により組ごとに算出される当該2点間の複数の経路の
長さから推定する距離推定手段と、 前記算出手段により算出された経路の長さと、前記距離
推定手段により推定された経路の長さとを用いて前記N
個の点を通る経路長を算出する総経路長算出手段とを有
する3次元データ処理装置。 - 【請求項2】 コンピュータを3次元形状をもつ測定対
象の表面を通る経路の長さを測定する3次元データ処理
装置として動作させるためのプログラムを記録したコン
ピュータで読み取り可能な記録媒体であって、 測定対象表面上の経路を通るN個(N>3)の点の入力
を受け付ける通過点受付手段と、 受付られたN個の点を、他の組と2点を共有する3点ず
つの組に分ける組分け手段と、 前記組を構成する3点を通る平面と測定対象表面との交
線上において当該3点を始点、通過点、終点として各点
間の経路の長さを算出する算出手段と、 各組で共有する前記2点間の実際の距離を、前記算出手
段により組ごとに算出される当該2点間の複数の経路の
長さから推定する距離推定手段と、 前記算出手段により算出された経路の長さと、前記距離
推定手段により推定された経路の長さとを用いて前記N
個の点を通る経路長を算出する総経路長算出手段として
コンピュータを機能させるためのプログラムを記録した
記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9301636A JPH11132724A (ja) | 1997-11-04 | 1997-11-04 | 3次元形状データ処理装置 |
US09/187,467 US6260000B1 (en) | 1997-11-04 | 1998-11-04 | Three-dimensional shape data processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9301636A JPH11132724A (ja) | 1997-11-04 | 1997-11-04 | 3次元形状データ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11132724A true JPH11132724A (ja) | 1999-05-21 |
Family
ID=17899335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9301636A Pending JPH11132724A (ja) | 1997-11-04 | 1997-11-04 | 3次元形状データ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH11132724A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011039869A (ja) * | 2009-08-13 | 2011-02-24 | Nippon Hoso Kyokai <Nhk> | 顔画像処理装置およびコンピュータプログラム |
JP2011143249A (ja) * | 2010-01-12 | 2011-07-28 | Samsung Medison Co Ltd | スライス映像を提供する超音波システムおよび方法 |
JP2013196355A (ja) * | 2012-03-19 | 2013-09-30 | Toshiba Corp | 物体測定装置、及び物体測定方法 |
-
1997
- 1997-11-04 JP JP9301636A patent/JPH11132724A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011039869A (ja) * | 2009-08-13 | 2011-02-24 | Nippon Hoso Kyokai <Nhk> | 顔画像処理装置およびコンピュータプログラム |
JP2011143249A (ja) * | 2010-01-12 | 2011-07-28 | Samsung Medison Co Ltd | スライス映像を提供する超音波システムおよび方法 |
JP2013196355A (ja) * | 2012-03-19 | 2013-09-30 | Toshiba Corp | 物体測定装置、及び物体測定方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6260000B1 (en) | Three-dimensional shape data processing apparatus | |
Breen et al. | A level-set approach for the metamorphosis of solid models | |
Bruckner et al. | Volumeshop: An interactive system for direct volume illustration | |
Lee et al. | Mesh scissoring with minima rule and part salience | |
Duchaineau et al. | ROAMing terrain: Real-time optimally adapting meshes | |
CN106709975B (zh) | 一种交互式三维人脸表情动画编辑方法、系统及扩展方法 | |
CN115943436A (zh) | 快速和深度脸部变形 | |
US8004519B2 (en) | Decorating computer generated character with surface-attached features | |
Mudge et al. | Viewpoint quality and scene understanding | |
JP2002236909A (ja) | 画像データ処理方法およびモデリング装置 | |
US6978230B1 (en) | Apparatus, system, and method for draping annotations on to a geometric surface | |
CA2357962C (en) | System and method for the coordinated simplification of surface and wire-frame descriptions of a geometric model | |
EP1986157B1 (en) | Placing skin-attached features on a computer generated character | |
JPH11134518A (ja) | 3次元形状データ処理装置 | |
JP3514822B2 (ja) | 画像処理装置 | |
Yvart et al. | Smooth adaptive fitting of 3D models using hierarchical triangular splines | |
JPH11132724A (ja) | 3次元形状データ処理装置 | |
JPH11134520A (ja) | 3次元形状データ処理装置 | |
JPH11134517A (ja) | 3次元形状データ処理装置 | |
JPH03138784A (ja) | 3次元モデルの再構成方法および表示方法 | |
Yao et al. | Region-based line field design using harmonic functions | |
EP3779878A1 (en) | Method and device for combining a texture with an artificial object | |
Treece et al. | Volume-based three-dimensional metamorphosis using sphere-guided region correspondence | |
Yano et al. | Reconstruction of B-spline skinning surface from generalized cylinder mesh | |
JPH103552A (ja) | 3次元データ処理システム |