JP3593155B2 - 形状設計支援装置 - Google Patents
形状設計支援装置 Download PDFInfo
- Publication number
- JP3593155B2 JP3593155B2 JP25549994A JP25549994A JP3593155B2 JP 3593155 B2 JP3593155 B2 JP 3593155B2 JP 25549994 A JP25549994 A JP 25549994A JP 25549994 A JP25549994 A JP 25549994A JP 3593155 B2 JP3593155 B2 JP 3593155B2
- Authority
- JP
- Japan
- Prior art keywords
- shape
- correction
- reflection image
- reflection
- unit
- 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.)
- Expired - Fee Related
Links
Images
Description
【0001】
【産業上の利用分野】
本発明は、計算機を用いた形状設計/加工/解析支援装置等、例えば、機械系CAD(Computer Aided Design)/CAM(Computer Aided Manufacturing)/CAE(Computer Aided Engineering)装置や、CG(Computer Graphics)装置に係り、特に、生成された形状の修正機能を備える形状設計支援装置およびその方法に関する。
【0002】
【従来の技術】
計算機を用いた形状設計支援装置により製品等の形状を設計する際に、計算機内部で構築された形状モデルが設計者の意図した通りの形状かどうかを確認する方法として、3次元形状の場合、Gouraudシェーディング等のスムーズシェーディングを用いるのが一般的である。しかし、3次元形状が自由曲面を含む場合、スムーズシェーディングは、形状を滑らかに表示することを目的として開発されているため、概略形状を把握することはできるが、自由曲面のうねり等の微小な形状的な特徴を発見するには適さない。
【0003】
また、上記方法とは別の形状検証方法として、NC(Numerical Control)機械等で試作モデルを作成、検証する方法がある。ところが、この方法では、加工作業を伴うために、検証や、その後の形状修正に多くの時間を費やす。
【0004】
以上のことから、試作モデルを作成することなく、CRT等の表示装置を用いて形状モデルを表示し、これを実時間で検証できる、上記スムーズシェーディングよりも厳密な形状検証方法が望まれている。
【0005】
光学的な形状検証方法として、試作モデルの表面を鏡面反射させた場合の、外部風景の形状表面への映り込みを見る方法がある。例えば、自動車メーカでは、自動車の形状を検証するために、車体の試作モデル(クレイモデル)の表面に銀箔等を貼り付け、その表面が鏡面反射するようにした試作モデルを、棒状の螢光灯を配置した光源下に配置して、試作モデルの表面へ映った螢光灯の状態、いわゆる、映り込みをチェックする。
【0006】
この映り込みは、一般には「ハイライトライン」、あるいは「リフレクションライン」とよばれ、計算機を用いたシミュレーションにより画像データとして生成、表示することが可能である。映り込み画像の生成および表示機能を有するCADシステムとしては、例えば、宮崎ほかによる「車体造形システム(自動車技術、p18〜24、vol.46、No.11、1992)」に示されているシステムがある。
【0007】
映り込み画像を生成表示するには、例えば、ある視線方向から見たときの、形状モデルの表面で反射された螢光灯などを含む予め設定された外部風景面を表示する場合、表示画面上の各ピクセルについて、各ピクセルに入射する光線を逆に辿っていき、前記形状モデル表面で反射されて、前記外部風景面に到達した位置における、前記外部風景面の色または明るさを参照して、そのピクセルの色または明るさを算出する、いわゆるレイトレーシング法(光線追跡法)を用いることができる。この方法を用いれば、処理時間はかかるが、現実世界での形状への映り込みを、かなり正確にシミュレーションできる。
【0008】
また、簡略化した方法には、例えば、形状モデルの表面曲面上の法線分布を等高線等で表示する方法や、ある方向から見たときに、形状モデルの表面曲面上の法線方向が等しい点群を結んだ線(疑似映り込み線)を表示する方法等がある。これらの簡略化した方法によれば、それほど大きな演算処理能力を持たないシステムでも、映り込み画像の生成表示を実時間で処理することが可能となる。
【0009】
【発明が解決しようとする課題】
上記のようにして得られる、形状モデル表面への外部風景の映り込みが、設計者の意図しない形状モデル表面のうねり等により乱れている場合、設計者は、形状モデルの修正を行なう。上記従来例に代表される従来技術のシステムでは、一般に、以下の2つの方法のいずれかにより修正を行なう。
【0010】
(1)形状モデルを生成する際に用いた幾何情報、例えば、境界曲線等を作り直し、形状モデルを再生成する。
【0011】
(2)形状モデルの形状を制御するための、あるいは、前記形状を表現するための幾何情報、例えば、制御点等を対話的に移動し、形状モデルの形状を修正する。
【0012】
しかし、上記いずれの修正方法でも、前述した方法で得られた映り込み画像のデータが直接用いられることはなく、修正後の結果を検証するために、修正された形状から、新たに算出された映り込み画像が参照されるのみである。
【0013】
さらに、形状モデルの形状を、具体的にどのように修正すれば、所望の映り込み画像が得られるかは、設計者の勘やノウハウによるところが大きい。このため、実際の修正処理には、多くの試行錯誤が必要であった。
【0014】
本発明の目的は、形状の修正に際して、表示されている映り込み画像に対して行なわれる修正操作を受け付け、その修正操作に応じて形状を修正することを可能とすることによって、形状修正処理を容易にし、形状設計作業の効率化を図ることができる形状設計支援装置を提供することにある。
【0015】
【課題を解決するための手段】
上記目的は、ユーザによる入力操作を受け付け、その操作に応じて、ユーザの所望する形状を表現するための形状データを生成する形状設計支援装置において、前記形状データにより表現される形状の表面への、予め定めた外部風景の映り込みを示す映り込み画像を、前記形状データを用いて算出する映り込み画像生成部と、前記映り込み画像を表示する表示部と、前記表示部に表示されている前記映り込み画像に対して行なわれる、前記映り込み画像を所望の形に修正するためのユーザによる修正操作を受け付けて、修正された映り込み画像が生成されるように前記形状データを修正する修正部とを有することを特徴とする形状設計支援装置により達成される。
【0016】
また、上記目的は、ユーザによる入力操作を受け付け、その操作に応じて、ユーザの所望する形状を表現するための形状データを生成する形状設計支援方法において、前記形状データにより表現される形状の表面への、予め定めた外部風景の映り込みを示す映り込み画像を、前記形状データを用いて算出して、表示し、前記表示されている前記映り込み画像に対して行なわれる、前記映り込み画像を所望の形に修正するためのユーザによる修正操作を受け付けて、修正された映り込み画像が生成されるように前記形状データを修正することを特徴とする形状設計支援方法によっても達成される。
【0017】
また、上記目的は、ユーザによる入力操作を受け付け、その操作に応じて、ユーザの所望する形状を表現するための形状データを生成する形状設計支援装置において、前記形状データにより表現される形状の表面曲面の形状的な特徴を表わす特徴画像を、前記形状データを用いて算出する画像生成部と、前記特徴画像を表示する表示部と、前記表示部に表示されている前記特徴画像に対して行なわれる、前記特徴画像を所望の形に修正するためのユーザによる修正操作を受け付けて、修正された映り込み画像が生成されるように前記形状データを修正する修正部とを有することを特徴とする形状設計支援装置によっても達成される。
【0018】
また、上記目的は、ユーザによる入力操作を受け付け、その操作に応じて、ユーザの所望する形状を表現するための形状データを生成する形状設計支援装置において、前記形状データにより表現される形状の表面曲面の形状的な特徴を示す特徴画像を生成するに必要なパラメータ群を複数組作成するパラメータ作成部と、前記複数組のパラメータ群に応じて、前記形状データの1つから複数の特徴画像を生成する画像生成部と、前記複数の特徴画像を表示する表示部と、前記表示部に表示されている複数の特徴画像のうちの1つの特徴画像に対して行なわれる、前記1つの特徴画像を所望の形に修正するためのユーザによる修正操作を受け付けて、修正された特徴画像が生成されるように前記形状データを修正する修正部とを有し、前記画像生成部は、前記形状修正部での形状データの修正された後に、前記修正された形状データから、前記複数組のパラメータ群に応じて、複数の特徴画像を再び生成し、前記表示部に表示させることを特徴とする形状設計支援装置によっても達成される。
【0019】
【作用】
本発明は、ユーザによる入力操作を受け付け、その操作に応じて、ユーザの所望する形状を表現するための形状データを生成し、前記形状データにより表現される形状の表面への、予め定めた外部風景の映り込みを示す映り込み画像や、その他の前記形状の表面の特徴を示す特徴画像を、前記形状データを用いて算出し、表示する形状設計支援装置である。
【0020】
本発明においては、表示されている前記映り込み画像あるいは特徴画像に対して行なわれる、前記映り込み画像あるいは特徴画像を所望の形に修正するためのユーザによる修正操作を受け付け、その修正操作の結果得られる修正された映り込み画像あるいは特徴画像が映り込み画像生成部で生成されるように、修正部が、前記形状データを修正する。
【0021】
【実施例】
以下、本発明を適用した形状設計支援装置の一実施例について、図を用いて説明する。
【0022】
本実施例は、本発明を実現するための機能構成として、図1に示すように、ユーザによる形状設計および修正等に関する操作を受け付ける入力部19と、受け付けた操作に応じて形状データ11を作成する形状データ作成部(形状モデラ)18と、作成された形状データ11を記憶するメモリ10とを有する。
【0023】
本実施例は、さらに、入力部19が受け付けた操作に応じて、映り込み画像を生成するための視線方向等の画像生成パラメータを作成する映り込み画像生成パラメータ作成部12と、作成されたパラメータとメモリ10に記憶されている形状データ11とから映り込み画像を生成する映り込み画像生成部13と、生成された映り込み画像を表示する表示部14とを有する。
【0024】
映り込み画像生成部13は、さらに、上記画像生成パラメータに応じた、形状に映し込まれる外部風景として用いられる周辺の画像データの設定を行なうと共に、形状データの修正後に、修正された形状データ17と上記画像生成パラメータとから、映り込み画像を再生成し、その再生成した映り込み画像の特徴が、予め定めた基準範囲内にあるかどうかの評価処理を行なう。
【0025】
本実施例は、さらに、本発明の特徴部分100として、入力部19により受け付けられる、表示部14に表示されている映り込み画像に対する修正操作に応じた修正情報を作成する映り込み画像修正情報作成部15と、作成された修正情報を満足するように形状データ11を変形し、変形後の形状データ17をメモリ10へ記憶させる形状修正部16とを有する。
【0026】
形状修正部16は、例えば、前記修正情報から、形状データ11に含まれる点、線、ベクトル等の幾何量に対する拘束条件を生成する幾何拘束情報生成部と、生成された幾何拘束条件を満足するように、形状データ11の形状を変形する形状変形部とから構成される。
【0027】
なお、本実施例では、メモリ10内部の形状データ11と17とは別々にしているが、同一のデータとして、形状データ11を修正した時点で、形状データ17を上書きする構成としても良い。
【0028】
本実施例の装置構成は、例えば、図3に示すように、記憶装置を備えた計算機34と、計算機34に接続される表示装置30、キーボード35、およびマウス36とにより実現することができる。
【0029】
本実施例の形状設計支援装置の操作に際して、ユーザは、キーボード35、マウス36を入力装置として、表示装置30の表示画面31上に表示されている形状32上にマッピングされた映り込み画像33が、所望の状態となるように、映り込み画像33に対して修正操作を行なう。なお、形状32は、計算機34の記憶装置に記憶されている形状データ11から生成されるものである。
【0030】
本実施例の処理手順の一例を、図2のフローチャートを参照して説明する。
【0031】
最初、入力部19により受け付けた、形状設計に関するユーザなどからの操作に応じて、形状データ作成部18が、形状モデルの形状を表現するための形状データ11を作成し、メモリ10に記憶させる(ステップ20)。
【0032】
次に、入力部19により受け付けた、映り込み画像の生成に必要な画像生成パラメータを設定するためのユーザからの操作に応じて、映り込み画像生成パラメータ作成部12が、画像生成パラメータを作成する(ステップ21)。
【0033】
次に、映り込み画像生成部13は、画像生成パラメータにより設定される映り込み画像を生成し、表示する(ステップ22)。
【0034】
本実施例では、映り込み画像は、レイトレーシング法により生成するものとする。この場合、映り込み画像生成パラメータとしては、例えば、形状の表面に映り込む周辺の画像データ(外部風景)の種類や、映り込みの状態を見る視線方向等が挙げられる。
【0035】
周辺の画像データとしては、例えば、図4aに示されているような、天井一面に整列した棒状の螢光灯列を示す面状の外部風景47や、その他に、縞、格子縞や碁盤縞の壁や床を、数値的に表わすことができるデータを設定する。
【0036】
レイトレーシング法により映り込み画像を生成するには、最初、図4aに示すように、形状データ11により表現される形状40と、周辺の画像データにより表現される面状の外部風景47と、視点43を含む画面42とを、作成されたパラメータに応じた所定の位置関係で、仮想空間中に設定する。なお、画面42は、表示装置30(表示部14)の表示画面31と一致するものであり、また、視点43は、表示画面31上にあるものとする。
【0037】
この仮想空間中において、画面42上の視点43から画面42の法線方向にのびる光線44と形状40との交点45を求め、さらに、交点45での光線44と形状40の曲面形状とから、交点45からの反射光線46を決定する。さらに、反射光線46と外部風景47との交点である参照点48を求め、参照点48での外部風景47の、色や明るさ等の画像データから、視点43にあるピクセルの色や明るさ等の表示データを求める。
【0038】
上記の処理を、画面42上のすべてのピクセルに対して行うことにより、画面42から見たときに、形状40の表面に映る映り込み画像41を得る。この映り込み画像41を、表示装置30の表示画面31上に表示する。
【0039】
次に、映り込み画像修正情報作成部15が、表示装置30に表示された映り込み画像41に対する入力部19による修正操作を受け付け、その修正操作に対応する修正情報を作成する(図2のステップ23)。具体的には、例えば、図10に示すような、一連の処理を行なう。
【0040】
本ステップでは、最初、映り込み画像の修正がユーザにとって容易になるように、マウス36等のポインティングデバイスにより修正操作が行ないやすい形式に、映り込み画像41の表示形式を変換しておく。
【0041】
すなわち、図5a、5bに示すように、図2のステップ22で得られた映り込み画像41を、例えば、白黒のようなコントラストの強い2色にわける2値化処理を行ない(図10のステップ2301)、2値化処理を施した映り込み画像41のデータを利用して、輪郭線52を抽出する(ステップ2302)。
【0042】
輪郭線52の抽出に際しては、例えば、図5cに示すように、2値化処理された映り込み画像41上での境界部分に位置する1つのピクセル53(白丸)を初期点54として、つねに進行方向左隣のピクセル53が異なった色(黒丸)になるように時計回りにピクセル53をトレースし、トレースしたピクセル53の位置データ(x,y座標等)を順次保存していく。ここで、白いピクセルは、映り込み画像41での螢光灯が映った明るい部分に対応するものである。最終的に、初期点54に戻ったら輪郭線生成処理を終了する。
【0043】
次に、図5dに示すように、得られた輪郭線52を、所定の個数の通過点55、およびそれら通過点55を結ぶ線分55’に変換する(ステップ2303)。線分55’は、直線、あるいは任意の次数の自由曲線を用いる。
【0044】
次に、輪郭線52で表現された映り込み画像41に対して、マウス36を用いて行なわれる修正操作を受け付ける(ステップ2304)。ここで、修正操作とは、ユーザによって行なわれる、修正すべき通過点55aの指定、修正後の通過点55a’の指定、および、修正範囲の指定に関する操作である。
【0045】
例えば、ユーザが、輪郭線52上の修正しようとする通過点55aを、マウス36で選択し、その通過点55aを所望の位置までドラッグすることで、修正後の点55a’の位置を決定する(図5e参照)。
【0046】
さらに、ユーザは、修正する通過点55aの上下左右に位置する、修正を望まない複数の通過点55bを、マウス36で選択することにより、映り込み画像41上の修正を行なう修正領域を限定する。ここで、修正領域とは、上記で指定された修正を行なう通過点55aを内部に含むものであり、形状修正においては、この修正領域と対応する領域にある形状40の一部が修正される。
【0047】
本実施例では、後述する幾何拘束情報作成における演算量を軽減するために、修正方向を、図6bに示すように、修正すべき通過点55a、当該通過点55aに対応する形状40上の交点65及び参照点68の、3点によって決定される、表示画面42に垂直な断面603上に限定する。すなわち、断面603は、表示画面42上では直線606として表示され、修正後の通過点55a’は、この直線606上で位置を変えることとする。
【0048】
なお、修正する通過点55a’のドラッグ操作中には、ドラッグ対象の通過点55aを通過するように、折れ線や自由曲線により表現される線分55’を順次再生成して表示する構成としても良い。
【0049】
最後に、修正前の通過点55a、修正後の通過点55a’、および、修正を行なわない通過点55bの画面42上の位置に関する情報を、修正情報として保存しておく。また、上記のような修正情報の代わりに、修正前の通過点55a、上記で定義された修正方向、マウス36の移動量から検出される修正量、および修正しない通過点55bの分布から求められる修正の範囲を、修正情報として保存する構成としても良い。
【0050】
本実施例では、ポインティングデバイスとしてマウス36を用いた例を説明しているが、本発明で用いられるポインティングデバイスは、マウスに限定されるものではなく、例えば、トラックボール等の他の形態の入力装置でも良い。
【0051】
図2のフローチャートの説明に戻り、ステップ23で得られた修正情報を用いて、例えば、図11に示す処理フローに従って、形状修正部15の幾何拘束情報生成部が、幾何拘束情報を生成する(図2のステップ24)。
【0052】
すなわち、最初、修正後の通過点55a’に対応する3次元空間内での点の位置および法線方向を決定する(図11のステップ2401)。ここで、3次元空間とは、モデル化しようする形状40の存在する仮想空間である。
【0053】
図6a、6bに示すように、修正後の通過点55a’に対応する、求めようとする修正後の形状40表面に位置する3次元空間での点を交点601、修正後の形状40の交点601での表面形状に対応する法線方向を法線ベクトル605とし、さらに、交点601に対応する外部風景47の位置を参照点68、通過点55a’から交点601までの方向ベクトルを光線ベクトル600、交点601から参照点68までの方向ベクトルを反射光線ベクトル602とすると、交点601では、以下のような条件が満足される。
【0054】
なお、本実施例ではレイトレーシング法を用いて映り込み画像を生成しているため、修正後の通過点55a’の位置は、修正前の通過点55と、この通過点55に対応する形状40上の交点65および参照点68で決定される断面603上にあり、交点601、ベクトル600、602も、断面603上に位置する。
【0055】
交点601で満足される第1の条件は、光線ベクトル600と反射光線ベクトル602は、レイトレーシング法における光の入射、反射の関係にあり、光線ベクトル600と、交点601の法線ベクトル605とのなす角は、反射光線ベクトル602と法線ベクトル605のなす角と等しい、という関係から導かれる。すなわち、交点601においては、第1の条件として、以下の式が成り立つ。
【0056】
(V605/|V605|)・E=(V605/|V605|)・((P68−P601)/|P68−P601|) ・・(1)
ここで、V605は法線ベクトル605、Eは光線ベクトル600と平行な単位ベクトル、P68、P601はそれぞれ参照点68、交点601の位置ベクトルである。
【0057】
第2の条件は、交点601近傍での、形状40の表面が滑らかであるという条件である。すなわち、ステップ23で入力された、修正する通過点55a’の上下に位置する、修正を行なわない通過点55bに対応する、断面603上に位置する形状40上での交点を交点607、608とすると、交点607、608と交点601とを通る修正後の断面線611’は、交点607、608間の修正区間内で滑らかで、かつ変曲点がないものとする、という条件である。
【0058】
交点607、608における、断面603上の法線ベクトルを法線ベクトル609、610とし、さらに、法線ベクトル609、610、および交点601での法線ベクトル605と、光線ベクトル600となす角度を、それぞれ、θ609、θ610、θ605とすると、断面線611’が、交点607と交点608との間の変形区間内で変曲点がないという条件から、
θ609<θ605<θ610、あるいは、θ610<θ605<θ609 ・・・・(2)
を満たす必要がある。さらに、断面線611’の変形区間内の曲線が滑らかという条件から、例えば、交点607と交点601との間、交点601と交点608との間の直線距離の比a:bを用いて、線形補間により、以下の式が成り立つものとする。
【0059】
V605=(b・V609/|V609|+a・V610/|V610|)/(a+b) ・・・(3)
ここで、V609、V610は、それぞれ、法線ベクトル609、610を表わすものとする。
【0060】
よって、上記(1)式および(3)式を連立させて、(2)式を満足するようなP601、V605を求めることにより、交点601の3次元空間での位置、および交点601での法線方向を決定する。
【0061】
次に、上記で求められた交点601の位置と交点601での法線方向とから、交点601を通る断面線611’を決定する(ステップ2402)。
【0062】
具体的には、求められた交点607、601、608での法線方向から、これら交点での接線ベクトル方向をそれぞれ求める。さらに、断面線611の変形区間内における曲線が滑らかで、かつ変曲点を持たないように、例えば、3次のHermite補間処理を行なうことにより、これら交点における接線ベクトルの大きさを決定し、これら接線ベクトルの方向、大きさから断面線611’を求める。
【0063】
または、3次のBezier曲線を2セグメント用い、第1のセグメントの始点、終点を交点607、601とし、第2のセグメントの始点、終点を交点601、608として、各交点における接線上に、4点のショルダーポイントを定めることにより、各交点での接線ベクトルの大きさを決定し、断面線611’を求める構成としても良い。ショルダーポイントは、交点607および交点607の接線と交点601の接線との交点の間、交点607の接線と交点601の接線との交点および交点601との間、交点601および交点601の接線と交点608の接線との交点の間、交点601の接線と交点608の接線との交点および交点608の間にそれぞれ定めるものとする。
【0064】
最後に、ステップ23で指定された、修正を行なわない通過点55bの位置から、後述する形状変形処理で必要となる、変形領域を決定する(ステップ2403)。
【0065】
上記ステップ2402では、修正後の通過点55a’を通り、図5eにおいて上下方向に伸びる断面線611’を求めた。本ステップでは、この断面線611’とは直交する方向における変形領域を決定するものである。
【0066】
具体的には、図8に示すように、修正を行なう通過点55aの左右側に位置している、修正を行なわない2つの通過点55bをそれぞれ通るように、断面線611’が含まれる断面603に平行な断面を2つ求め、これら2つの断面に挾まれる領域を、変形領域として設定する。
【0067】
図2のフローチャートの説明に戻り、次に、ステップ25では、ステップ24で得られた断面線611’と設定された変形領域とを幾何拘束条件として、断面線611’が面上曲線となるように、形状修正部16の形状変形部が、例えば図12に示された処理フローに従い、形状40を変形する。
【0068】
最初、ステップ24で設定した変形領域内に、図8に示すように、形状40を表現するための、複数個の通過点81を発生させる(図12のステップ2501)。
【0069】
本実施例において、通過点の算出方法は、特に限定されないが、例えば、形状40がBezier曲面、B−spline曲面等の自由曲面であり、予め定めた複数の制御点により定義されている場合は、以下の式のように、所定の変換行列を用いて、複数の制御点から、複数の通過点81を生成する。
【0070】
P=NQ
ここで、Qは一群の制御点の座標値等を含む行列、Nは変換行列、Pは一群の通過点の座標値等を含む行列を表わす。また、求める通過点の個数は、修正前および修正後の形状40を、所定の形状精度で復元できる以上の数とする。
【0071】
次に、生成した通過点81のそれぞれの位置を、ステップ24で求めた幾何拘束条件を満足するように、予め定めた方向へ移動させる(ステップ2502)。各通過点81での移動量は、ステップ24で求められた修正後の断面線611’を含む断面603から当該通過点81までの距離や、断面603上に投影された当該通過点81の位置近くにある、断面線611’の部分での修正量等に応じて決定される。
【0072】
通過点81の移動方法の一例を、図8を用いて説明する。
【0073】
本例では、上記ステップ24で求められた断面603上に単位移動ベクトルm84を設定し、このベクトルm84により示される方向へ、各通過点81を移動するものとする。各通過点81での移動量と方向とを表わすベクトルVmi82は、以下の式から求める。
【0074】
Vmi=(f(r)・Δd)m
ここで、Δdは、通過点81から断面603に対して垂線を下ろし、その垂線の足81’から単位ベクトルm83の方向に直線をのばしたときの、その直線と断面線611’との交点と、その直線と修正前の形状40(修正前の断面線611)との交点との間の距離である。
【0075】
関数f(r)は、断面603と垂直な方向での、断面603から通過点81までの垂直距離rの関数であり、最大値がf(0)=1で、rが増加するに従い、その値が連続的に減少するものである。さらに、関数f(r)は、ステップ24で設定した変形領域を設定する断面までの垂直距離rmax以上では、f(r(≧rmax))=0とする。これは、変形領域の外側では、通過点の移動は行なわないようにするためである。
【0076】
関数f(r)の具体的な形式として、例えば、
f(r)=(1+cos(r/rmax×π))/2
あるいは、
f(r)=((rmax−r)/rmax)2
が挙げられる。ただし、両関数とも、r>rmaxのときf(r)=0とする。
【0077】
最後に、移動された通過点81の3次元空間位置に基づいて、画面603上の修正された断面線611’に一致するように、形状40を変形する(ステップ2503)。
【0078】
形状40の変形では、上述したように形状40が制御点により定義されている場合、制御点から通過点81を生成する変換の逆変換により、移動後の通過点から制御点を、以下の式により、求めることができる。
【0079】
Q’=N−1P’
ここで、N−1は上記変換行列Nの逆行列、P’は移動後の通過点の座標値等を含む行列、Q’は変形後の形状を定義する制御点の座標値等を含む行列である。このようにして求められた制御点群Q’から、形状40の変形後の曲面形状を求める。
【0080】
通過点数と制御点数とが異なる場合は、例えば、形状40において、修正前の制御点数よりも多くの個数の通過点を発生させ、それら通過点について過剰連立方程式をたて、この連立方程式を最小2乗条件のもとで解くことにより、修正領域内にある制御点の近似解が得られる。
【0081】
図2のフローチャートの説明に戻り、次に、ステップ25で得られた変形後の形状40を用いて、ステップ22と同様にして、上記ステップ21で作成された画像生成パラメータに従い、映り込み画像生成部13により映り込み画像を生成して、再表示する(ステップ26)。
【0082】
最後に、再表示された映り込み画像を、映り込み画像生成部13により、予め定めた規則に従って評価し、その評価結果が、予め定めた基準を満足していれば(ステップ27でGOOD)処理を終了し、そうでない場合には(ステップ27でNO GOOD)、ステップ23へ戻り変形処理を再開する。
【0083】
具体的には、例えば、再表示された映り込み画像に示されているリフレクションラインや、その輪郭線または等高線等の、変形後の形状40の曲面形状の特徴を表わす形状特徴線を求め、形状特徴線が予め定めた評価基準を満足するかどうかを、所定のアルゴリズムに従い判断する。
【0084】
評価基準としては、例えば、1)形状特徴線に折れがなく、直線、あるいは滑らかな曲線であること、2)隣合った2本の形状特徴線の間隔が、始点から終点までほぼ一定、あるいは単調に増加または減少していること、または、3)複数本の形状特徴線間の間隔が粗密なく、ほぼ一定、あるいは単調に増加または減少していることが挙げられる。
【0085】
本実施例によれば、表示装置30に表示されている映り込み画像に対して、マウス36等のポインティングデバイスを用いて行なわれる修正操作を受け付けることで、修正された映り込み画像を生成するような表面形状を有するように、形状40を変形させることができる。このため、従来は、映り込み画像の生成、表示処理と形状の変形処理との間で情報の流れがないため、ユーザの勘やノウハウで行なわれていた処理を不要とし、所望の映り込み画像を得るように形状40を修正することができる形状設計支援装置を提供することができる。
【0086】
さらに、本実施例における修正操作では、輪郭線52中に生成される通過点55(図5参照)に対して行なわれるため、ユーザにとって、修正操作が非常に容易となるという効果がある。
【0087】
また、修正対象として通過点55を用いなくとも、本実施例と同様な処理を行なうことも可能である。すなわち、輪郭線を構成する所定の個数のピクセル群を直接に特定し、動かして修正する構成としても良い。この場合、入力部19としては、マウスの代わりに、適当な曲率半径を有する、例えば、へら形のカーソルを輪郭線に当て、所望の曲率を得るように、輪郭線を押すようにして、輪郭線の形状を変形させる構成としても良い。
【0088】
また、映り込み画像の輪郭線を修正対象とするかわりに、映り込み画像の特徴を表わす他の形態の特徴線、例えば、外部風景に含まれる1本の螢光灯を1本の線分として表わすような特徴線を用いても良い。
【0089】
また、本実施例では、図2に示される処理フローにおいて、ステップ27で評価がNO GOODの場合、ステップ23に戻っていたが、本発明での処理手順はこれに限定されるものではなく、例えば、ステップ23に戻るかわりに、ステップ24へ戻り、異なる幾何拘束情報を生成して、ステップ25以降を再実行する構成としても良い。
【0090】
また、本実施例では、幾何拘束情報として修正後の断面線611’を用いたが、これを形状40の表面形状の凹凸を表わす等高線と置き換え、本実施例と同様の方法でこの等高線を修正し、修正後の等高線が面上曲線になるように、形状40を変形する構成としても良い。
【0091】
また、本実施例では、映り込み画像を利用した形状修正について説明したが、本発明で利用できる画像は、映り込み画像に限定されない。例えば、映り込み画像とは異なる表示形態を有する、形状40の表面形状を示す等高線表示画像や、形状40の表面の形状的特徴を複数の形状特徴線の分布により表現した画像等の特徴画像を表示し、その表示されている特徴画像に対して行なわれる修正操作を受け付けることで、本実施例と同様に形状修正を行なう構成としても良い。
【0092】
次に、本発明を適用した形状設計支援装置の他の実施例を、図2、図4bおよび図7を用いて説明する。
【0093】
本実施例は、上記実施例と同じ構成(図1参照)を有し、上記実施例での処理フローと基本的には同じ処理フローを実行する。ただし、本実施例では、映り込み画像として、形状表面にマッピングされた疑似映り込み線を利用するものである。以下では、上記実施例と異なる部分についてだけ説明し、同じ部分についての詳細説明は省略する。
【0094】
本実施例の処理フローを、図2のフローチャートを用いて説明する。
【0095】
本実施例では、最初、上記実施例のステップ20、21と同じように、形状データ作成部18が、映り込み画像を映し込むための形状40を表わす形状データを作成し、映り込み画像生成パラメータ作成部12が、映り込み画像生成のための画像生成パラメータを作成する。
【0096】
次に、ステップ22では、作成された画像生成パラメータに応じて、映り込み画像生成部13が、図4bに示すように、映り込み画像として、ある視線方向401から見たときに、形状40上の法線ベクトル49の方向が等しい点群を、折線または自由曲線で結んだ線、いわゆる、疑似映り込み線400を生成する。なお、疑似映り込み線400と呼ぶのは、得られた線が、疑似的に、棒状の螢光灯のような線光源の映り込みと考えることができるからである。
【0097】
さらに、疑似映り込み線400をその表面に含む形状40を、視線方向401と所定の角度関係にある表示画面42上に射影することで、形状40の表面における疑似映り込み線400を、表示部15の表示画面42に表示する。
【0098】
法線ベクトル49は、例えば、形状40と、視線方向401に垂直な断面とを交差させてできる断面線上に、所定間隔で複数の点を設定し、その点における、当該断面上での法線方向を算出することにより決定する。
【0099】
次に、ステップ23では、映り込み画像修正情報作成部15が、上記実施例と同様に、表示されている疑似映り込み線に対して、マウス36により行なわれる、修正範囲の設定操作、および、修正対象となる疑似映り込み線の修正に関する操作等を、修正操作として受け付け、この修正操作に応じた修正情報を作成する。
【0100】
すなわち、最初、修正の範囲を設定するための、ユーザからの修正操作を受け入れて、その修正操作に応じた修正情報を作成する。修正の範囲を設定するには、図7aに示すように、修正を行なわない疑似映り込み線(例えば、疑似映り込み線72、74)を選択するために行なわれる、マウス36を用いての選択操作を受け付ける。選択された疑似映り込み線72、74は、修正の範囲を限定する変形境界線として保存されるもので、具体的には、疑似映り込み線72、74を構成する点、あるいはその点における法線ベクトル等の幾何情報が保存される。
【0101】
さらに、修正の対象となる疑似映り込み線73上での、修正範囲を限定するために、映り込み線73上の修正を行なわない点(例えば、点704、705)に対する選択操作を受け付ける。
【0102】
次に、上記疑似映り込み線73上での修正範囲内において、修正後の点703の位置を特定する操作を受け付ける。さらに、この受け付けた修正後の点703を通るように、疑似映り込み線72、73、74を求めるときに用いた、視線方向401と平行な法線ベクトルを有する平面で、形状40を切ることで得られる断面603を設定する。
【0103】
断面603上の形状40の断面線611と疑似映り込み線72、73、74との交点76、77、78における法線ベクトルを断面603に射影した射影ベクトル700’、701’、702’の方向は、疑似映り込み線の定義から、断面603の位置にかかわらず、常に一定である。ただし、断面603の法線ベクトルは、その位置に係らず一定であるとする。
【0104】
本実施例において、ユーザのマウス36操作により選択、修正される点としては、疑似映り込み線上の法線ベクトル49が生成されている点とする。また、ユーザの行なう修正操作をユーザにとってより容易にするために、疑似映り込み線から、多くの通過点を生成し、これらの通過点を修正対象とする構成としても良い。
【0105】
次に、ステップ24では、ステップ23で得られた修正情報に基づき、形状修正部16が、幾何拘束情報を生成する。
【0106】
本実施例では、すでに、形状40が存在する3次元空間での点および線分で構成された疑似映り込み線を形状データとして利用している。このため、上記実施例のように、映り込み画像データから輪郭線52(図5参照)を生成し、さらにその輪郭線52上の修正する通過点55aに対応する、3次元空間上の交点601を決定する必要がない。
【0107】
本ステップでは、幾何拘束情報として修正後の断面線611’を求めるために、最初、図7bに示されている、修正後の点703を断面603上に射影したときの点707の位置および点707での法線方向を決定する。
【0108】
点707での法線方向は、修正後の点703も修正前の点77も、同じ疑似映り込み線73上にあるため、疑似映り込み線の定義から、点77での法線方向と同じである。すなわち、修正前の点77での法線ベクトルの断面603への射影ベクトル701’(図7a)も、修正後の点703での法線ベクトルの断面603への射影ベクトル707’(図7b)と同じ方向である。よって、射影ベクトル701’を求めることにより、点707での法線方向が決定される。
【0109】
点703の3次元空間位置は、点703から画面42の法線方向に延長した直線706a(図示せず)上にある。また、断面線611’が、点76、78を断面603上に射影した点700、702間の変形区間内で、滑らかで、かつ変曲点を持たないという条件を満たすものであれば、点703を断面603上へ射影した点707の位置は、直線706a上に任意に決定することができる。
【0110】
例えば、断面603上において、点700、702を結んだ直線と直線706aを断面603上に射影した直線706との交点をPa、点700、702の接線と直線706との交点のうち交点Paに近い方を交点Pbとし、直線706上で、かつ交点PaとPbとの間に位置するように、点707の位置を決定する。
【0111】
交点Pa、Pb間の区間内における点703の位置は、予め交点Pa、Pb間の区間を内分する比の値を(例えば、1:1)決めておくか、あるいは、ユーザが上記区間内で、任意に指定できる構成としても良い。
【0112】
なお、疑似映り込み線を最も良く観察できるのは画面42と断面603とが直交するときであり、このとき、直線706aは、断面603上にある。
【0113】
以上により、断面線611’の変形区間内における曲線を拘束するための点700、707、702の位置と、それぞれの点での法線ベクトルの方向から、各点での接線ベクトルの方向とが得られる。
【0114】
上記の各交点の位置等の情報に基づいて、変形区間内の曲線形状が滑らかで、かつ変曲点がないように、点700、707、702での接線ベクトルの大きさを決定することにより、上記実施例と同様に、幾何拘束情報として断面線611’の形状を求めることができる。
【0115】
さらに、ステップ23で作成された修正領域に関する修正情報から、疑似映り込み線72、74、点703を通り断面603と平行な平面、および、点704を通り断面603に平行な平面で囲まれる領域を、幾何拘束情報としての変形領域として設定する。
【0116】
次に、ステップ25では、以上のようにして求められた断面線611’及び変形領域についての幾何拘束情報に基づき、上記実施例と同様に、形状修正部16が、形状40の変形を実行し、変形された形状40に対応する形状データ17をメモリ10に記憶させる。
【0117】
最後に、上記実施例と同様に、ステップ26〜27で、映り込み画像生成部13が、変形された形状40に対する映り込み画像を再生成、再表示すると共に、再生成された映り込み画像を、予め定めた評価基準により評価する。
【0118】
本実施例によれば、表示されている疑似映り込み線を修正することにより、形状40の変形を行なうことができる。さらに、本実施例では、疑似映り込み線を利用しているため、レイトレーシング法よりも処理を簡略化することができると共に、レイトレーシング法のような画面上の各ピクセルから光線を逆に辿っていく際の形状との大量な交点計算処理を必要としないため、高速に画像を生成することができる。
【0119】
次に、本発明を適用した形状設計支援装置の他の実施例を、図9、図13を用いて説明する。
【0120】
本実施例は、互いに異なる複数の画像生成パラメータに応じて、単一の形状データから、複数の異なる映り込み画像や等高線表示画像等の異なる形態の画像を作成し、表示するものである。以下では、複数の映り込み画像や等高線表示画像等を総称して、マルチビュー画像と呼ぶ。
【0121】
本実施例は、上記図1の実施例と基本的に同じ構成を有する。ただし、本実施例においては、上記図1の実施例で行なわれていた映り込み画像に対する生成、修正などの処理を、マルチビュー画像、すなわち、表示されるすべての形態の画像について行なう構成を有する。
【0122】
本実施例の処理フローについて、図13のフローチャートと、図9とを用いて説明する。
【0123】
本実施例の処理フローは、基本的には図1の実施例の処理フロー(図2参照)と同じである。また、図9には、本実施例の機能的な特徴を示してある。
【0124】
最初、単一の形状データ91を作成し、メモリ10に記憶し(ステップ1300)、映り込み画像94や等高線表示画像93等のマルチビュー画像生成のための異なる画像作成パラメータを作成する(ステップ1301)。
【0125】
画像作成パラメータとしては、例えば、上記図1の実施例で説明した映り込み画像生成パラメータの他に、映り込み画像か等高線表示画像かの表示形態を指定するパラメータ等がある。
【0126】
次に、上記パラメータに応じて、メモリ10に記憶されている単一の形状データ91から、異なる複数の映り込み画像92や、等高線表示画像93を生成、表示する(ステップ1303)。
【0127】
次に、表示されている複数の画像のうちのいずれかの画像に対して、マウス等のポインティングデバイスにより行なわれる修正操作を、上記図1の実施例と同様に受け入れ、修正情報を作成する(ステップ1303)。この修正情報を用いて、上記図1の実施例と同様に、幾何拘束情報を作成し(ステップ1304)、形状データ91を変形する(ステップ1305)。
【0128】
次に、変形後の形状データから、ステップ1301で作成された複数の画像作成パラメータに応じて、複数の映り込み画像や等高線表示画像を再生成し、再表示し(ステップ1306)、さらに、上記図1の実施例と同様に、予め定められた評価基準により、再生成された画像の一部または全部を評価する(ステップ1307)。
【0129】
複数の画像の再生成するには、例えば、複数の映り込み画像92等のそれぞれに対する画像生成および表示処理を、それぞれ1つの処理プロセス94として割り当て、このような処理プロセス94を複数個、並行して実行する(図9参照)。ここで、処理プロセスとは、処理の実行単位を意味する。
【0130】
各処理プロセス94は、例えば、上記修正操作により形状データ91が変形され、メモリ10に書き込みが発生した場合、それぞれこのイベントを検知し、前記書き込み処理の終了後に、メモリ10から形状データ91を読み込み、再処理(再生成、再表示)を行う。
【0131】
本実施例によれば、複数の映り込み画像や等高線表示画像などの、複数の表示形態を用いた多面的な形状評価ができると共に、これら複数の画像のうち任意の画像を選択し、その画像に対して修正を行なうことで、形状の変形が容易にできる。
【0132】
さらに、本実施例によれば、変形された形状から、新たに、複数の表示形態による画像を生成、表示することができる。このため、従来、1形状に対して一度に一つの評価、修正しかできなかったのに比べ、本実施例によれば、多面的な形状評価、および形状の修正が、ユーザにとって容易に実行できる。
【0133】
【発明の効果】
本発明によれば、表示されている映り込み画像に対する修正操作を受け付け、その操作に応じて作成された修正情報を利用して形状を変形することが可能となる形状設計支援装置を提供することができる。
【0134】
さらに、本発明によれば、形状の修正が容易に行なえ、形状の設計作業の効率化を図ることが可能な形状設計支援装置を提供することができる。
【0135】
【図面の簡単な説明】
【図1】本発明による形状設計支援装置の一実施例の機能構成を示すブロック図。
【図2】図1の実施例における処理手順例を示すフローチャート。
【図3】図1の実施例のハードウエア構成例を示す説明図。
【図4】図4a:レイトレーシング法による映り込み画像の生成方法の説明図。
図4b:疑似映り込み線による映り込み画像の生成方法の説明図。
【図5】図5a:本発明における映り込み画像例を示す説明図。
図5b:映り込み画像から生成された輪郭線を示す説明図。
図5c:輪郭線生成方法の説明図。
図5d:輪郭線の通過点に対する修正処理についての説明図。
図5e:修正後の輪郭線を示す説明図。
【図6】図6a:本発明における幾何拘束情報の生成方法の一例を示す説明図。
図6b:断面線の修正処理についての説明図。
【図7】図7a:疑似映り込み線を用いた場合の幾何拘束情報の生成方法の一例を示す
もので、修正前の状態を示す説明図。
図7b:修正後の状態を示す説明図。
【図8】本発明における形状の変形処理例についての説明図。
【図9】本発明による形状設計支援装置の他の実施例の特徴的機能を示す説明図。
【図10】図2のステップ23での具体的な処理手順例を示すフローチャート。
【図11】図2のステップ24での具体的な処理手順例を示すフローチャート。
【図12】図2のステップ25での具体的な処理手順例を示すフローチャート。
【図13】図9の実施例の処理手順例を示すフローチャート。
【符号の説明】
10…メモリ、11…形状データ、12…映り込み画像生成パラメータ作成部、13…映り込み画像生成部、14…表示部、15…映り込み画像修正情報作成部、16…形状修正部、17…形状データ、18…形状データ作成部、19…入力部、30…表示装置、33…映り込み画像、34…計算機、35…キーボード、36…マウス、37…マウスカーソル、40…形状、41…映り込み画像、42…画面、43…視点、44…光線、45…交点、46…反射光線、47…外部風景(螢光灯)、48…参照点、49…法線ベクトル、52…輪郭線、53…ピクセル、54…初期点、55…通過点、55’…線分、55a…修正を行なう点、55a’…修正後の点、55b…修正を行なわない点、64…光線、65…交点、66…反射光線、68…参照点、72、73、74…疑似映り込み線、76、77、78…疑似映り込み線72、73、74と断面603との交点、81…通過点、81’…通過点81から断面603へ降ろした垂線の足の位置、82…通過点81の移動ベクトル、84…単位移動ベクトル、91…形状データ、92…映り込み画像、93…等高線表示画像、94…処理プロセス、400…疑似映り込み線、401視線方向600…光線(修正後)、601…交点(修正後)、602…反射光線(修正後)、603…断面、604…法線ベクトル、605…法線ベクトル(修正後)、606…直線、607、608…断面線上で変形区間を限定する点、609、610…点607、608における法線ベクトル、611…断面線、611’…断面線(修正後)、700、702…断面線上で変形区間を限定する点、701…点77から画面法線方向に延長した直線と断面線611との交点、703…点77の修正後の点、704、705…疑似映り込み線73上の修正範囲を限定する点、706…点703から画面法線方向へ延長した直線、707…直線706と修正後の断面611’との交点。
【産業上の利用分野】
本発明は、計算機を用いた形状設計/加工/解析支援装置等、例えば、機械系CAD(Computer Aided Design)/CAM(Computer Aided Manufacturing)/CAE(Computer Aided Engineering)装置や、CG(Computer Graphics)装置に係り、特に、生成された形状の修正機能を備える形状設計支援装置およびその方法に関する。
【0002】
【従来の技術】
計算機を用いた形状設計支援装置により製品等の形状を設計する際に、計算機内部で構築された形状モデルが設計者の意図した通りの形状かどうかを確認する方法として、3次元形状の場合、Gouraudシェーディング等のスムーズシェーディングを用いるのが一般的である。しかし、3次元形状が自由曲面を含む場合、スムーズシェーディングは、形状を滑らかに表示することを目的として開発されているため、概略形状を把握することはできるが、自由曲面のうねり等の微小な形状的な特徴を発見するには適さない。
【0003】
また、上記方法とは別の形状検証方法として、NC(Numerical Control)機械等で試作モデルを作成、検証する方法がある。ところが、この方法では、加工作業を伴うために、検証や、その後の形状修正に多くの時間を費やす。
【0004】
以上のことから、試作モデルを作成することなく、CRT等の表示装置を用いて形状モデルを表示し、これを実時間で検証できる、上記スムーズシェーディングよりも厳密な形状検証方法が望まれている。
【0005】
光学的な形状検証方法として、試作モデルの表面を鏡面反射させた場合の、外部風景の形状表面への映り込みを見る方法がある。例えば、自動車メーカでは、自動車の形状を検証するために、車体の試作モデル(クレイモデル)の表面に銀箔等を貼り付け、その表面が鏡面反射するようにした試作モデルを、棒状の螢光灯を配置した光源下に配置して、試作モデルの表面へ映った螢光灯の状態、いわゆる、映り込みをチェックする。
【0006】
この映り込みは、一般には「ハイライトライン」、あるいは「リフレクションライン」とよばれ、計算機を用いたシミュレーションにより画像データとして生成、表示することが可能である。映り込み画像の生成および表示機能を有するCADシステムとしては、例えば、宮崎ほかによる「車体造形システム(自動車技術、p18〜24、vol.46、No.11、1992)」に示されているシステムがある。
【0007】
映り込み画像を生成表示するには、例えば、ある視線方向から見たときの、形状モデルの表面で反射された螢光灯などを含む予め設定された外部風景面を表示する場合、表示画面上の各ピクセルについて、各ピクセルに入射する光線を逆に辿っていき、前記形状モデル表面で反射されて、前記外部風景面に到達した位置における、前記外部風景面の色または明るさを参照して、そのピクセルの色または明るさを算出する、いわゆるレイトレーシング法(光線追跡法)を用いることができる。この方法を用いれば、処理時間はかかるが、現実世界での形状への映り込みを、かなり正確にシミュレーションできる。
【0008】
また、簡略化した方法には、例えば、形状モデルの表面曲面上の法線分布を等高線等で表示する方法や、ある方向から見たときに、形状モデルの表面曲面上の法線方向が等しい点群を結んだ線(疑似映り込み線)を表示する方法等がある。これらの簡略化した方法によれば、それほど大きな演算処理能力を持たないシステムでも、映り込み画像の生成表示を実時間で処理することが可能となる。
【0009】
【発明が解決しようとする課題】
上記のようにして得られる、形状モデル表面への外部風景の映り込みが、設計者の意図しない形状モデル表面のうねり等により乱れている場合、設計者は、形状モデルの修正を行なう。上記従来例に代表される従来技術のシステムでは、一般に、以下の2つの方法のいずれかにより修正を行なう。
【0010】
(1)形状モデルを生成する際に用いた幾何情報、例えば、境界曲線等を作り直し、形状モデルを再生成する。
【0011】
(2)形状モデルの形状を制御するための、あるいは、前記形状を表現するための幾何情報、例えば、制御点等を対話的に移動し、形状モデルの形状を修正する。
【0012】
しかし、上記いずれの修正方法でも、前述した方法で得られた映り込み画像のデータが直接用いられることはなく、修正後の結果を検証するために、修正された形状から、新たに算出された映り込み画像が参照されるのみである。
【0013】
さらに、形状モデルの形状を、具体的にどのように修正すれば、所望の映り込み画像が得られるかは、設計者の勘やノウハウによるところが大きい。このため、実際の修正処理には、多くの試行錯誤が必要であった。
【0014】
本発明の目的は、形状の修正に際して、表示されている映り込み画像に対して行なわれる修正操作を受け付け、その修正操作に応じて形状を修正することを可能とすることによって、形状修正処理を容易にし、形状設計作業の効率化を図ることができる形状設計支援装置を提供することにある。
【0015】
【課題を解決するための手段】
上記目的は、ユーザによる入力操作を受け付け、その操作に応じて、ユーザの所望する形状を表現するための形状データを生成する形状設計支援装置において、前記形状データにより表現される形状の表面への、予め定めた外部風景の映り込みを示す映り込み画像を、前記形状データを用いて算出する映り込み画像生成部と、前記映り込み画像を表示する表示部と、前記表示部に表示されている前記映り込み画像に対して行なわれる、前記映り込み画像を所望の形に修正するためのユーザによる修正操作を受け付けて、修正された映り込み画像が生成されるように前記形状データを修正する修正部とを有することを特徴とする形状設計支援装置により達成される。
【0016】
また、上記目的は、ユーザによる入力操作を受け付け、その操作に応じて、ユーザの所望する形状を表現するための形状データを生成する形状設計支援方法において、前記形状データにより表現される形状の表面への、予め定めた外部風景の映り込みを示す映り込み画像を、前記形状データを用いて算出して、表示し、前記表示されている前記映り込み画像に対して行なわれる、前記映り込み画像を所望の形に修正するためのユーザによる修正操作を受け付けて、修正された映り込み画像が生成されるように前記形状データを修正することを特徴とする形状設計支援方法によっても達成される。
【0017】
また、上記目的は、ユーザによる入力操作を受け付け、その操作に応じて、ユーザの所望する形状を表現するための形状データを生成する形状設計支援装置において、前記形状データにより表現される形状の表面曲面の形状的な特徴を表わす特徴画像を、前記形状データを用いて算出する画像生成部と、前記特徴画像を表示する表示部と、前記表示部に表示されている前記特徴画像に対して行なわれる、前記特徴画像を所望の形に修正するためのユーザによる修正操作を受け付けて、修正された映り込み画像が生成されるように前記形状データを修正する修正部とを有することを特徴とする形状設計支援装置によっても達成される。
【0018】
また、上記目的は、ユーザによる入力操作を受け付け、その操作に応じて、ユーザの所望する形状を表現するための形状データを生成する形状設計支援装置において、前記形状データにより表現される形状の表面曲面の形状的な特徴を示す特徴画像を生成するに必要なパラメータ群を複数組作成するパラメータ作成部と、前記複数組のパラメータ群に応じて、前記形状データの1つから複数の特徴画像を生成する画像生成部と、前記複数の特徴画像を表示する表示部と、前記表示部に表示されている複数の特徴画像のうちの1つの特徴画像に対して行なわれる、前記1つの特徴画像を所望の形に修正するためのユーザによる修正操作を受け付けて、修正された特徴画像が生成されるように前記形状データを修正する修正部とを有し、前記画像生成部は、前記形状修正部での形状データの修正された後に、前記修正された形状データから、前記複数組のパラメータ群に応じて、複数の特徴画像を再び生成し、前記表示部に表示させることを特徴とする形状設計支援装置によっても達成される。
【0019】
【作用】
本発明は、ユーザによる入力操作を受け付け、その操作に応じて、ユーザの所望する形状を表現するための形状データを生成し、前記形状データにより表現される形状の表面への、予め定めた外部風景の映り込みを示す映り込み画像や、その他の前記形状の表面の特徴を示す特徴画像を、前記形状データを用いて算出し、表示する形状設計支援装置である。
【0020】
本発明においては、表示されている前記映り込み画像あるいは特徴画像に対して行なわれる、前記映り込み画像あるいは特徴画像を所望の形に修正するためのユーザによる修正操作を受け付け、その修正操作の結果得られる修正された映り込み画像あるいは特徴画像が映り込み画像生成部で生成されるように、修正部が、前記形状データを修正する。
【0021】
【実施例】
以下、本発明を適用した形状設計支援装置の一実施例について、図を用いて説明する。
【0022】
本実施例は、本発明を実現するための機能構成として、図1に示すように、ユーザによる形状設計および修正等に関する操作を受け付ける入力部19と、受け付けた操作に応じて形状データ11を作成する形状データ作成部(形状モデラ)18と、作成された形状データ11を記憶するメモリ10とを有する。
【0023】
本実施例は、さらに、入力部19が受け付けた操作に応じて、映り込み画像を生成するための視線方向等の画像生成パラメータを作成する映り込み画像生成パラメータ作成部12と、作成されたパラメータとメモリ10に記憶されている形状データ11とから映り込み画像を生成する映り込み画像生成部13と、生成された映り込み画像を表示する表示部14とを有する。
【0024】
映り込み画像生成部13は、さらに、上記画像生成パラメータに応じた、形状に映し込まれる外部風景として用いられる周辺の画像データの設定を行なうと共に、形状データの修正後に、修正された形状データ17と上記画像生成パラメータとから、映り込み画像を再生成し、その再生成した映り込み画像の特徴が、予め定めた基準範囲内にあるかどうかの評価処理を行なう。
【0025】
本実施例は、さらに、本発明の特徴部分100として、入力部19により受け付けられる、表示部14に表示されている映り込み画像に対する修正操作に応じた修正情報を作成する映り込み画像修正情報作成部15と、作成された修正情報を満足するように形状データ11を変形し、変形後の形状データ17をメモリ10へ記憶させる形状修正部16とを有する。
【0026】
形状修正部16は、例えば、前記修正情報から、形状データ11に含まれる点、線、ベクトル等の幾何量に対する拘束条件を生成する幾何拘束情報生成部と、生成された幾何拘束条件を満足するように、形状データ11の形状を変形する形状変形部とから構成される。
【0027】
なお、本実施例では、メモリ10内部の形状データ11と17とは別々にしているが、同一のデータとして、形状データ11を修正した時点で、形状データ17を上書きする構成としても良い。
【0028】
本実施例の装置構成は、例えば、図3に示すように、記憶装置を備えた計算機34と、計算機34に接続される表示装置30、キーボード35、およびマウス36とにより実現することができる。
【0029】
本実施例の形状設計支援装置の操作に際して、ユーザは、キーボード35、マウス36を入力装置として、表示装置30の表示画面31上に表示されている形状32上にマッピングされた映り込み画像33が、所望の状態となるように、映り込み画像33に対して修正操作を行なう。なお、形状32は、計算機34の記憶装置に記憶されている形状データ11から生成されるものである。
【0030】
本実施例の処理手順の一例を、図2のフローチャートを参照して説明する。
【0031】
最初、入力部19により受け付けた、形状設計に関するユーザなどからの操作に応じて、形状データ作成部18が、形状モデルの形状を表現するための形状データ11を作成し、メモリ10に記憶させる(ステップ20)。
【0032】
次に、入力部19により受け付けた、映り込み画像の生成に必要な画像生成パラメータを設定するためのユーザからの操作に応じて、映り込み画像生成パラメータ作成部12が、画像生成パラメータを作成する(ステップ21)。
【0033】
次に、映り込み画像生成部13は、画像生成パラメータにより設定される映り込み画像を生成し、表示する(ステップ22)。
【0034】
本実施例では、映り込み画像は、レイトレーシング法により生成するものとする。この場合、映り込み画像生成パラメータとしては、例えば、形状の表面に映り込む周辺の画像データ(外部風景)の種類や、映り込みの状態を見る視線方向等が挙げられる。
【0035】
周辺の画像データとしては、例えば、図4aに示されているような、天井一面に整列した棒状の螢光灯列を示す面状の外部風景47や、その他に、縞、格子縞や碁盤縞の壁や床を、数値的に表わすことができるデータを設定する。
【0036】
レイトレーシング法により映り込み画像を生成するには、最初、図4aに示すように、形状データ11により表現される形状40と、周辺の画像データにより表現される面状の外部風景47と、視点43を含む画面42とを、作成されたパラメータに応じた所定の位置関係で、仮想空間中に設定する。なお、画面42は、表示装置30(表示部14)の表示画面31と一致するものであり、また、視点43は、表示画面31上にあるものとする。
【0037】
この仮想空間中において、画面42上の視点43から画面42の法線方向にのびる光線44と形状40との交点45を求め、さらに、交点45での光線44と形状40の曲面形状とから、交点45からの反射光線46を決定する。さらに、反射光線46と外部風景47との交点である参照点48を求め、参照点48での外部風景47の、色や明るさ等の画像データから、視点43にあるピクセルの色や明るさ等の表示データを求める。
【0038】
上記の処理を、画面42上のすべてのピクセルに対して行うことにより、画面42から見たときに、形状40の表面に映る映り込み画像41を得る。この映り込み画像41を、表示装置30の表示画面31上に表示する。
【0039】
次に、映り込み画像修正情報作成部15が、表示装置30に表示された映り込み画像41に対する入力部19による修正操作を受け付け、その修正操作に対応する修正情報を作成する(図2のステップ23)。具体的には、例えば、図10に示すような、一連の処理を行なう。
【0040】
本ステップでは、最初、映り込み画像の修正がユーザにとって容易になるように、マウス36等のポインティングデバイスにより修正操作が行ないやすい形式に、映り込み画像41の表示形式を変換しておく。
【0041】
すなわち、図5a、5bに示すように、図2のステップ22で得られた映り込み画像41を、例えば、白黒のようなコントラストの強い2色にわける2値化処理を行ない(図10のステップ2301)、2値化処理を施した映り込み画像41のデータを利用して、輪郭線52を抽出する(ステップ2302)。
【0042】
輪郭線52の抽出に際しては、例えば、図5cに示すように、2値化処理された映り込み画像41上での境界部分に位置する1つのピクセル53(白丸)を初期点54として、つねに進行方向左隣のピクセル53が異なった色(黒丸)になるように時計回りにピクセル53をトレースし、トレースしたピクセル53の位置データ(x,y座標等)を順次保存していく。ここで、白いピクセルは、映り込み画像41での螢光灯が映った明るい部分に対応するものである。最終的に、初期点54に戻ったら輪郭線生成処理を終了する。
【0043】
次に、図5dに示すように、得られた輪郭線52を、所定の個数の通過点55、およびそれら通過点55を結ぶ線分55’に変換する(ステップ2303)。線分55’は、直線、あるいは任意の次数の自由曲線を用いる。
【0044】
次に、輪郭線52で表現された映り込み画像41に対して、マウス36を用いて行なわれる修正操作を受け付ける(ステップ2304)。ここで、修正操作とは、ユーザによって行なわれる、修正すべき通過点55aの指定、修正後の通過点55a’の指定、および、修正範囲の指定に関する操作である。
【0045】
例えば、ユーザが、輪郭線52上の修正しようとする通過点55aを、マウス36で選択し、その通過点55aを所望の位置までドラッグすることで、修正後の点55a’の位置を決定する(図5e参照)。
【0046】
さらに、ユーザは、修正する通過点55aの上下左右に位置する、修正を望まない複数の通過点55bを、マウス36で選択することにより、映り込み画像41上の修正を行なう修正領域を限定する。ここで、修正領域とは、上記で指定された修正を行なう通過点55aを内部に含むものであり、形状修正においては、この修正領域と対応する領域にある形状40の一部が修正される。
【0047】
本実施例では、後述する幾何拘束情報作成における演算量を軽減するために、修正方向を、図6bに示すように、修正すべき通過点55a、当該通過点55aに対応する形状40上の交点65及び参照点68の、3点によって決定される、表示画面42に垂直な断面603上に限定する。すなわち、断面603は、表示画面42上では直線606として表示され、修正後の通過点55a’は、この直線606上で位置を変えることとする。
【0048】
なお、修正する通過点55a’のドラッグ操作中には、ドラッグ対象の通過点55aを通過するように、折れ線や自由曲線により表現される線分55’を順次再生成して表示する構成としても良い。
【0049】
最後に、修正前の通過点55a、修正後の通過点55a’、および、修正を行なわない通過点55bの画面42上の位置に関する情報を、修正情報として保存しておく。また、上記のような修正情報の代わりに、修正前の通過点55a、上記で定義された修正方向、マウス36の移動量から検出される修正量、および修正しない通過点55bの分布から求められる修正の範囲を、修正情報として保存する構成としても良い。
【0050】
本実施例では、ポインティングデバイスとしてマウス36を用いた例を説明しているが、本発明で用いられるポインティングデバイスは、マウスに限定されるものではなく、例えば、トラックボール等の他の形態の入力装置でも良い。
【0051】
図2のフローチャートの説明に戻り、ステップ23で得られた修正情報を用いて、例えば、図11に示す処理フローに従って、形状修正部15の幾何拘束情報生成部が、幾何拘束情報を生成する(図2のステップ24)。
【0052】
すなわち、最初、修正後の通過点55a’に対応する3次元空間内での点の位置および法線方向を決定する(図11のステップ2401)。ここで、3次元空間とは、モデル化しようする形状40の存在する仮想空間である。
【0053】
図6a、6bに示すように、修正後の通過点55a’に対応する、求めようとする修正後の形状40表面に位置する3次元空間での点を交点601、修正後の形状40の交点601での表面形状に対応する法線方向を法線ベクトル605とし、さらに、交点601に対応する外部風景47の位置を参照点68、通過点55a’から交点601までの方向ベクトルを光線ベクトル600、交点601から参照点68までの方向ベクトルを反射光線ベクトル602とすると、交点601では、以下のような条件が満足される。
【0054】
なお、本実施例ではレイトレーシング法を用いて映り込み画像を生成しているため、修正後の通過点55a’の位置は、修正前の通過点55と、この通過点55に対応する形状40上の交点65および参照点68で決定される断面603上にあり、交点601、ベクトル600、602も、断面603上に位置する。
【0055】
交点601で満足される第1の条件は、光線ベクトル600と反射光線ベクトル602は、レイトレーシング法における光の入射、反射の関係にあり、光線ベクトル600と、交点601の法線ベクトル605とのなす角は、反射光線ベクトル602と法線ベクトル605のなす角と等しい、という関係から導かれる。すなわち、交点601においては、第1の条件として、以下の式が成り立つ。
【0056】
(V605/|V605|)・E=(V605/|V605|)・((P68−P601)/|P68−P601|) ・・(1)
ここで、V605は法線ベクトル605、Eは光線ベクトル600と平行な単位ベクトル、P68、P601はそれぞれ参照点68、交点601の位置ベクトルである。
【0057】
第2の条件は、交点601近傍での、形状40の表面が滑らかであるという条件である。すなわち、ステップ23で入力された、修正する通過点55a’の上下に位置する、修正を行なわない通過点55bに対応する、断面603上に位置する形状40上での交点を交点607、608とすると、交点607、608と交点601とを通る修正後の断面線611’は、交点607、608間の修正区間内で滑らかで、かつ変曲点がないものとする、という条件である。
【0058】
交点607、608における、断面603上の法線ベクトルを法線ベクトル609、610とし、さらに、法線ベクトル609、610、および交点601での法線ベクトル605と、光線ベクトル600となす角度を、それぞれ、θ609、θ610、θ605とすると、断面線611’が、交点607と交点608との間の変形区間内で変曲点がないという条件から、
θ609<θ605<θ610、あるいは、θ610<θ605<θ609 ・・・・(2)
を満たす必要がある。さらに、断面線611’の変形区間内の曲線が滑らかという条件から、例えば、交点607と交点601との間、交点601と交点608との間の直線距離の比a:bを用いて、線形補間により、以下の式が成り立つものとする。
【0059】
V605=(b・V609/|V609|+a・V610/|V610|)/(a+b) ・・・(3)
ここで、V609、V610は、それぞれ、法線ベクトル609、610を表わすものとする。
【0060】
よって、上記(1)式および(3)式を連立させて、(2)式を満足するようなP601、V605を求めることにより、交点601の3次元空間での位置、および交点601での法線方向を決定する。
【0061】
次に、上記で求められた交点601の位置と交点601での法線方向とから、交点601を通る断面線611’を決定する(ステップ2402)。
【0062】
具体的には、求められた交点607、601、608での法線方向から、これら交点での接線ベクトル方向をそれぞれ求める。さらに、断面線611の変形区間内における曲線が滑らかで、かつ変曲点を持たないように、例えば、3次のHermite補間処理を行なうことにより、これら交点における接線ベクトルの大きさを決定し、これら接線ベクトルの方向、大きさから断面線611’を求める。
【0063】
または、3次のBezier曲線を2セグメント用い、第1のセグメントの始点、終点を交点607、601とし、第2のセグメントの始点、終点を交点601、608として、各交点における接線上に、4点のショルダーポイントを定めることにより、各交点での接線ベクトルの大きさを決定し、断面線611’を求める構成としても良い。ショルダーポイントは、交点607および交点607の接線と交点601の接線との交点の間、交点607の接線と交点601の接線との交点および交点601との間、交点601および交点601の接線と交点608の接線との交点の間、交点601の接線と交点608の接線との交点および交点608の間にそれぞれ定めるものとする。
【0064】
最後に、ステップ23で指定された、修正を行なわない通過点55bの位置から、後述する形状変形処理で必要となる、変形領域を決定する(ステップ2403)。
【0065】
上記ステップ2402では、修正後の通過点55a’を通り、図5eにおいて上下方向に伸びる断面線611’を求めた。本ステップでは、この断面線611’とは直交する方向における変形領域を決定するものである。
【0066】
具体的には、図8に示すように、修正を行なう通過点55aの左右側に位置している、修正を行なわない2つの通過点55bをそれぞれ通るように、断面線611’が含まれる断面603に平行な断面を2つ求め、これら2つの断面に挾まれる領域を、変形領域として設定する。
【0067】
図2のフローチャートの説明に戻り、次に、ステップ25では、ステップ24で得られた断面線611’と設定された変形領域とを幾何拘束条件として、断面線611’が面上曲線となるように、形状修正部16の形状変形部が、例えば図12に示された処理フローに従い、形状40を変形する。
【0068】
最初、ステップ24で設定した変形領域内に、図8に示すように、形状40を表現するための、複数個の通過点81を発生させる(図12のステップ2501)。
【0069】
本実施例において、通過点の算出方法は、特に限定されないが、例えば、形状40がBezier曲面、B−spline曲面等の自由曲面であり、予め定めた複数の制御点により定義されている場合は、以下の式のように、所定の変換行列を用いて、複数の制御点から、複数の通過点81を生成する。
【0070】
P=NQ
ここで、Qは一群の制御点の座標値等を含む行列、Nは変換行列、Pは一群の通過点の座標値等を含む行列を表わす。また、求める通過点の個数は、修正前および修正後の形状40を、所定の形状精度で復元できる以上の数とする。
【0071】
次に、生成した通過点81のそれぞれの位置を、ステップ24で求めた幾何拘束条件を満足するように、予め定めた方向へ移動させる(ステップ2502)。各通過点81での移動量は、ステップ24で求められた修正後の断面線611’を含む断面603から当該通過点81までの距離や、断面603上に投影された当該通過点81の位置近くにある、断面線611’の部分での修正量等に応じて決定される。
【0072】
通過点81の移動方法の一例を、図8を用いて説明する。
【0073】
本例では、上記ステップ24で求められた断面603上に単位移動ベクトルm84を設定し、このベクトルm84により示される方向へ、各通過点81を移動するものとする。各通過点81での移動量と方向とを表わすベクトルVmi82は、以下の式から求める。
【0074】
Vmi=(f(r)・Δd)m
ここで、Δdは、通過点81から断面603に対して垂線を下ろし、その垂線の足81’から単位ベクトルm83の方向に直線をのばしたときの、その直線と断面線611’との交点と、その直線と修正前の形状40(修正前の断面線611)との交点との間の距離である。
【0075】
関数f(r)は、断面603と垂直な方向での、断面603から通過点81までの垂直距離rの関数であり、最大値がf(0)=1で、rが増加するに従い、その値が連続的に減少するものである。さらに、関数f(r)は、ステップ24で設定した変形領域を設定する断面までの垂直距離rmax以上では、f(r(≧rmax))=0とする。これは、変形領域の外側では、通過点の移動は行なわないようにするためである。
【0076】
関数f(r)の具体的な形式として、例えば、
f(r)=(1+cos(r/rmax×π))/2
あるいは、
f(r)=((rmax−r)/rmax)2
が挙げられる。ただし、両関数とも、r>rmaxのときf(r)=0とする。
【0077】
最後に、移動された通過点81の3次元空間位置に基づいて、画面603上の修正された断面線611’に一致するように、形状40を変形する(ステップ2503)。
【0078】
形状40の変形では、上述したように形状40が制御点により定義されている場合、制御点から通過点81を生成する変換の逆変換により、移動後の通過点から制御点を、以下の式により、求めることができる。
【0079】
Q’=N−1P’
ここで、N−1は上記変換行列Nの逆行列、P’は移動後の通過点の座標値等を含む行列、Q’は変形後の形状を定義する制御点の座標値等を含む行列である。このようにして求められた制御点群Q’から、形状40の変形後の曲面形状を求める。
【0080】
通過点数と制御点数とが異なる場合は、例えば、形状40において、修正前の制御点数よりも多くの個数の通過点を発生させ、それら通過点について過剰連立方程式をたて、この連立方程式を最小2乗条件のもとで解くことにより、修正領域内にある制御点の近似解が得られる。
【0081】
図2のフローチャートの説明に戻り、次に、ステップ25で得られた変形後の形状40を用いて、ステップ22と同様にして、上記ステップ21で作成された画像生成パラメータに従い、映り込み画像生成部13により映り込み画像を生成して、再表示する(ステップ26)。
【0082】
最後に、再表示された映り込み画像を、映り込み画像生成部13により、予め定めた規則に従って評価し、その評価結果が、予め定めた基準を満足していれば(ステップ27でGOOD)処理を終了し、そうでない場合には(ステップ27でNO GOOD)、ステップ23へ戻り変形処理を再開する。
【0083】
具体的には、例えば、再表示された映り込み画像に示されているリフレクションラインや、その輪郭線または等高線等の、変形後の形状40の曲面形状の特徴を表わす形状特徴線を求め、形状特徴線が予め定めた評価基準を満足するかどうかを、所定のアルゴリズムに従い判断する。
【0084】
評価基準としては、例えば、1)形状特徴線に折れがなく、直線、あるいは滑らかな曲線であること、2)隣合った2本の形状特徴線の間隔が、始点から終点までほぼ一定、あるいは単調に増加または減少していること、または、3)複数本の形状特徴線間の間隔が粗密なく、ほぼ一定、あるいは単調に増加または減少していることが挙げられる。
【0085】
本実施例によれば、表示装置30に表示されている映り込み画像に対して、マウス36等のポインティングデバイスを用いて行なわれる修正操作を受け付けることで、修正された映り込み画像を生成するような表面形状を有するように、形状40を変形させることができる。このため、従来は、映り込み画像の生成、表示処理と形状の変形処理との間で情報の流れがないため、ユーザの勘やノウハウで行なわれていた処理を不要とし、所望の映り込み画像を得るように形状40を修正することができる形状設計支援装置を提供することができる。
【0086】
さらに、本実施例における修正操作では、輪郭線52中に生成される通過点55(図5参照)に対して行なわれるため、ユーザにとって、修正操作が非常に容易となるという効果がある。
【0087】
また、修正対象として通過点55を用いなくとも、本実施例と同様な処理を行なうことも可能である。すなわち、輪郭線を構成する所定の個数のピクセル群を直接に特定し、動かして修正する構成としても良い。この場合、入力部19としては、マウスの代わりに、適当な曲率半径を有する、例えば、へら形のカーソルを輪郭線に当て、所望の曲率を得るように、輪郭線を押すようにして、輪郭線の形状を変形させる構成としても良い。
【0088】
また、映り込み画像の輪郭線を修正対象とするかわりに、映り込み画像の特徴を表わす他の形態の特徴線、例えば、外部風景に含まれる1本の螢光灯を1本の線分として表わすような特徴線を用いても良い。
【0089】
また、本実施例では、図2に示される処理フローにおいて、ステップ27で評価がNO GOODの場合、ステップ23に戻っていたが、本発明での処理手順はこれに限定されるものではなく、例えば、ステップ23に戻るかわりに、ステップ24へ戻り、異なる幾何拘束情報を生成して、ステップ25以降を再実行する構成としても良い。
【0090】
また、本実施例では、幾何拘束情報として修正後の断面線611’を用いたが、これを形状40の表面形状の凹凸を表わす等高線と置き換え、本実施例と同様の方法でこの等高線を修正し、修正後の等高線が面上曲線になるように、形状40を変形する構成としても良い。
【0091】
また、本実施例では、映り込み画像を利用した形状修正について説明したが、本発明で利用できる画像は、映り込み画像に限定されない。例えば、映り込み画像とは異なる表示形態を有する、形状40の表面形状を示す等高線表示画像や、形状40の表面の形状的特徴を複数の形状特徴線の分布により表現した画像等の特徴画像を表示し、その表示されている特徴画像に対して行なわれる修正操作を受け付けることで、本実施例と同様に形状修正を行なう構成としても良い。
【0092】
次に、本発明を適用した形状設計支援装置の他の実施例を、図2、図4bおよび図7を用いて説明する。
【0093】
本実施例は、上記実施例と同じ構成(図1参照)を有し、上記実施例での処理フローと基本的には同じ処理フローを実行する。ただし、本実施例では、映り込み画像として、形状表面にマッピングされた疑似映り込み線を利用するものである。以下では、上記実施例と異なる部分についてだけ説明し、同じ部分についての詳細説明は省略する。
【0094】
本実施例の処理フローを、図2のフローチャートを用いて説明する。
【0095】
本実施例では、最初、上記実施例のステップ20、21と同じように、形状データ作成部18が、映り込み画像を映し込むための形状40を表わす形状データを作成し、映り込み画像生成パラメータ作成部12が、映り込み画像生成のための画像生成パラメータを作成する。
【0096】
次に、ステップ22では、作成された画像生成パラメータに応じて、映り込み画像生成部13が、図4bに示すように、映り込み画像として、ある視線方向401から見たときに、形状40上の法線ベクトル49の方向が等しい点群を、折線または自由曲線で結んだ線、いわゆる、疑似映り込み線400を生成する。なお、疑似映り込み線400と呼ぶのは、得られた線が、疑似的に、棒状の螢光灯のような線光源の映り込みと考えることができるからである。
【0097】
さらに、疑似映り込み線400をその表面に含む形状40を、視線方向401と所定の角度関係にある表示画面42上に射影することで、形状40の表面における疑似映り込み線400を、表示部15の表示画面42に表示する。
【0098】
法線ベクトル49は、例えば、形状40と、視線方向401に垂直な断面とを交差させてできる断面線上に、所定間隔で複数の点を設定し、その点における、当該断面上での法線方向を算出することにより決定する。
【0099】
次に、ステップ23では、映り込み画像修正情報作成部15が、上記実施例と同様に、表示されている疑似映り込み線に対して、マウス36により行なわれる、修正範囲の設定操作、および、修正対象となる疑似映り込み線の修正に関する操作等を、修正操作として受け付け、この修正操作に応じた修正情報を作成する。
【0100】
すなわち、最初、修正の範囲を設定するための、ユーザからの修正操作を受け入れて、その修正操作に応じた修正情報を作成する。修正の範囲を設定するには、図7aに示すように、修正を行なわない疑似映り込み線(例えば、疑似映り込み線72、74)を選択するために行なわれる、マウス36を用いての選択操作を受け付ける。選択された疑似映り込み線72、74は、修正の範囲を限定する変形境界線として保存されるもので、具体的には、疑似映り込み線72、74を構成する点、あるいはその点における法線ベクトル等の幾何情報が保存される。
【0101】
さらに、修正の対象となる疑似映り込み線73上での、修正範囲を限定するために、映り込み線73上の修正を行なわない点(例えば、点704、705)に対する選択操作を受け付ける。
【0102】
次に、上記疑似映り込み線73上での修正範囲内において、修正後の点703の位置を特定する操作を受け付ける。さらに、この受け付けた修正後の点703を通るように、疑似映り込み線72、73、74を求めるときに用いた、視線方向401と平行な法線ベクトルを有する平面で、形状40を切ることで得られる断面603を設定する。
【0103】
断面603上の形状40の断面線611と疑似映り込み線72、73、74との交点76、77、78における法線ベクトルを断面603に射影した射影ベクトル700’、701’、702’の方向は、疑似映り込み線の定義から、断面603の位置にかかわらず、常に一定である。ただし、断面603の法線ベクトルは、その位置に係らず一定であるとする。
【0104】
本実施例において、ユーザのマウス36操作により選択、修正される点としては、疑似映り込み線上の法線ベクトル49が生成されている点とする。また、ユーザの行なう修正操作をユーザにとってより容易にするために、疑似映り込み線から、多くの通過点を生成し、これらの通過点を修正対象とする構成としても良い。
【0105】
次に、ステップ24では、ステップ23で得られた修正情報に基づき、形状修正部16が、幾何拘束情報を生成する。
【0106】
本実施例では、すでに、形状40が存在する3次元空間での点および線分で構成された疑似映り込み線を形状データとして利用している。このため、上記実施例のように、映り込み画像データから輪郭線52(図5参照)を生成し、さらにその輪郭線52上の修正する通過点55aに対応する、3次元空間上の交点601を決定する必要がない。
【0107】
本ステップでは、幾何拘束情報として修正後の断面線611’を求めるために、最初、図7bに示されている、修正後の点703を断面603上に射影したときの点707の位置および点707での法線方向を決定する。
【0108】
点707での法線方向は、修正後の点703も修正前の点77も、同じ疑似映り込み線73上にあるため、疑似映り込み線の定義から、点77での法線方向と同じである。すなわち、修正前の点77での法線ベクトルの断面603への射影ベクトル701’(図7a)も、修正後の点703での法線ベクトルの断面603への射影ベクトル707’(図7b)と同じ方向である。よって、射影ベクトル701’を求めることにより、点707での法線方向が決定される。
【0109】
点703の3次元空間位置は、点703から画面42の法線方向に延長した直線706a(図示せず)上にある。また、断面線611’が、点76、78を断面603上に射影した点700、702間の変形区間内で、滑らかで、かつ変曲点を持たないという条件を満たすものであれば、点703を断面603上へ射影した点707の位置は、直線706a上に任意に決定することができる。
【0110】
例えば、断面603上において、点700、702を結んだ直線と直線706aを断面603上に射影した直線706との交点をPa、点700、702の接線と直線706との交点のうち交点Paに近い方を交点Pbとし、直線706上で、かつ交点PaとPbとの間に位置するように、点707の位置を決定する。
【0111】
交点Pa、Pb間の区間内における点703の位置は、予め交点Pa、Pb間の区間を内分する比の値を(例えば、1:1)決めておくか、あるいは、ユーザが上記区間内で、任意に指定できる構成としても良い。
【0112】
なお、疑似映り込み線を最も良く観察できるのは画面42と断面603とが直交するときであり、このとき、直線706aは、断面603上にある。
【0113】
以上により、断面線611’の変形区間内における曲線を拘束するための点700、707、702の位置と、それぞれの点での法線ベクトルの方向から、各点での接線ベクトルの方向とが得られる。
【0114】
上記の各交点の位置等の情報に基づいて、変形区間内の曲線形状が滑らかで、かつ変曲点がないように、点700、707、702での接線ベクトルの大きさを決定することにより、上記実施例と同様に、幾何拘束情報として断面線611’の形状を求めることができる。
【0115】
さらに、ステップ23で作成された修正領域に関する修正情報から、疑似映り込み線72、74、点703を通り断面603と平行な平面、および、点704を通り断面603に平行な平面で囲まれる領域を、幾何拘束情報としての変形領域として設定する。
【0116】
次に、ステップ25では、以上のようにして求められた断面線611’及び変形領域についての幾何拘束情報に基づき、上記実施例と同様に、形状修正部16が、形状40の変形を実行し、変形された形状40に対応する形状データ17をメモリ10に記憶させる。
【0117】
最後に、上記実施例と同様に、ステップ26〜27で、映り込み画像生成部13が、変形された形状40に対する映り込み画像を再生成、再表示すると共に、再生成された映り込み画像を、予め定めた評価基準により評価する。
【0118】
本実施例によれば、表示されている疑似映り込み線を修正することにより、形状40の変形を行なうことができる。さらに、本実施例では、疑似映り込み線を利用しているため、レイトレーシング法よりも処理を簡略化することができると共に、レイトレーシング法のような画面上の各ピクセルから光線を逆に辿っていく際の形状との大量な交点計算処理を必要としないため、高速に画像を生成することができる。
【0119】
次に、本発明を適用した形状設計支援装置の他の実施例を、図9、図13を用いて説明する。
【0120】
本実施例は、互いに異なる複数の画像生成パラメータに応じて、単一の形状データから、複数の異なる映り込み画像や等高線表示画像等の異なる形態の画像を作成し、表示するものである。以下では、複数の映り込み画像や等高線表示画像等を総称して、マルチビュー画像と呼ぶ。
【0121】
本実施例は、上記図1の実施例と基本的に同じ構成を有する。ただし、本実施例においては、上記図1の実施例で行なわれていた映り込み画像に対する生成、修正などの処理を、マルチビュー画像、すなわち、表示されるすべての形態の画像について行なう構成を有する。
【0122】
本実施例の処理フローについて、図13のフローチャートと、図9とを用いて説明する。
【0123】
本実施例の処理フローは、基本的には図1の実施例の処理フロー(図2参照)と同じである。また、図9には、本実施例の機能的な特徴を示してある。
【0124】
最初、単一の形状データ91を作成し、メモリ10に記憶し(ステップ1300)、映り込み画像94や等高線表示画像93等のマルチビュー画像生成のための異なる画像作成パラメータを作成する(ステップ1301)。
【0125】
画像作成パラメータとしては、例えば、上記図1の実施例で説明した映り込み画像生成パラメータの他に、映り込み画像か等高線表示画像かの表示形態を指定するパラメータ等がある。
【0126】
次に、上記パラメータに応じて、メモリ10に記憶されている単一の形状データ91から、異なる複数の映り込み画像92や、等高線表示画像93を生成、表示する(ステップ1303)。
【0127】
次に、表示されている複数の画像のうちのいずれかの画像に対して、マウス等のポインティングデバイスにより行なわれる修正操作を、上記図1の実施例と同様に受け入れ、修正情報を作成する(ステップ1303)。この修正情報を用いて、上記図1の実施例と同様に、幾何拘束情報を作成し(ステップ1304)、形状データ91を変形する(ステップ1305)。
【0128】
次に、変形後の形状データから、ステップ1301で作成された複数の画像作成パラメータに応じて、複数の映り込み画像や等高線表示画像を再生成し、再表示し(ステップ1306)、さらに、上記図1の実施例と同様に、予め定められた評価基準により、再生成された画像の一部または全部を評価する(ステップ1307)。
【0129】
複数の画像の再生成するには、例えば、複数の映り込み画像92等のそれぞれに対する画像生成および表示処理を、それぞれ1つの処理プロセス94として割り当て、このような処理プロセス94を複数個、並行して実行する(図9参照)。ここで、処理プロセスとは、処理の実行単位を意味する。
【0130】
各処理プロセス94は、例えば、上記修正操作により形状データ91が変形され、メモリ10に書き込みが発生した場合、それぞれこのイベントを検知し、前記書き込み処理の終了後に、メモリ10から形状データ91を読み込み、再処理(再生成、再表示)を行う。
【0131】
本実施例によれば、複数の映り込み画像や等高線表示画像などの、複数の表示形態を用いた多面的な形状評価ができると共に、これら複数の画像のうち任意の画像を選択し、その画像に対して修正を行なうことで、形状の変形が容易にできる。
【0132】
さらに、本実施例によれば、変形された形状から、新たに、複数の表示形態による画像を生成、表示することができる。このため、従来、1形状に対して一度に一つの評価、修正しかできなかったのに比べ、本実施例によれば、多面的な形状評価、および形状の修正が、ユーザにとって容易に実行できる。
【0133】
【発明の効果】
本発明によれば、表示されている映り込み画像に対する修正操作を受け付け、その操作に応じて作成された修正情報を利用して形状を変形することが可能となる形状設計支援装置を提供することができる。
【0134】
さらに、本発明によれば、形状の修正が容易に行なえ、形状の設計作業の効率化を図ることが可能な形状設計支援装置を提供することができる。
【0135】
【図面の簡単な説明】
【図1】本発明による形状設計支援装置の一実施例の機能構成を示すブロック図。
【図2】図1の実施例における処理手順例を示すフローチャート。
【図3】図1の実施例のハードウエア構成例を示す説明図。
【図4】図4a:レイトレーシング法による映り込み画像の生成方法の説明図。
図4b:疑似映り込み線による映り込み画像の生成方法の説明図。
【図5】図5a:本発明における映り込み画像例を示す説明図。
図5b:映り込み画像から生成された輪郭線を示す説明図。
図5c:輪郭線生成方法の説明図。
図5d:輪郭線の通過点に対する修正処理についての説明図。
図5e:修正後の輪郭線を示す説明図。
【図6】図6a:本発明における幾何拘束情報の生成方法の一例を示す説明図。
図6b:断面線の修正処理についての説明図。
【図7】図7a:疑似映り込み線を用いた場合の幾何拘束情報の生成方法の一例を示す
もので、修正前の状態を示す説明図。
図7b:修正後の状態を示す説明図。
【図8】本発明における形状の変形処理例についての説明図。
【図9】本発明による形状設計支援装置の他の実施例の特徴的機能を示す説明図。
【図10】図2のステップ23での具体的な処理手順例を示すフローチャート。
【図11】図2のステップ24での具体的な処理手順例を示すフローチャート。
【図12】図2のステップ25での具体的な処理手順例を示すフローチャート。
【図13】図9の実施例の処理手順例を示すフローチャート。
【符号の説明】
10…メモリ、11…形状データ、12…映り込み画像生成パラメータ作成部、13…映り込み画像生成部、14…表示部、15…映り込み画像修正情報作成部、16…形状修正部、17…形状データ、18…形状データ作成部、19…入力部、30…表示装置、33…映り込み画像、34…計算機、35…キーボード、36…マウス、37…マウスカーソル、40…形状、41…映り込み画像、42…画面、43…視点、44…光線、45…交点、46…反射光線、47…外部風景(螢光灯)、48…参照点、49…法線ベクトル、52…輪郭線、53…ピクセル、54…初期点、55…通過点、55’…線分、55a…修正を行なう点、55a’…修正後の点、55b…修正を行なわない点、64…光線、65…交点、66…反射光線、68…参照点、72、73、74…疑似映り込み線、76、77、78…疑似映り込み線72、73、74と断面603との交点、81…通過点、81’…通過点81から断面603へ降ろした垂線の足の位置、82…通過点81の移動ベクトル、84…単位移動ベクトル、91…形状データ、92…映り込み画像、93…等高線表示画像、94…処理プロセス、400…疑似映り込み線、401視線方向600…光線(修正後)、601…交点(修正後)、602…反射光線(修正後)、603…断面、604…法線ベクトル、605…法線ベクトル(修正後)、606…直線、607、608…断面線上で変形区間を限定する点、609、610…点607、608における法線ベクトル、611…断面線、611’…断面線(修正後)、700、702…断面線上で変形区間を限定する点、701…点77から画面法線方向に延長した直線と断面線611との交点、703…点77の修正後の点、704、705…疑似映り込み線73上の修正範囲を限定する点、706…点703から画面法線方向へ延長した直線、707…直線706と修正後の断面611’との交点。
Claims (4)
- ユーザによる入力操作を受け付け、その操作に応じて、ユーザの所望する形状を表現するための形状データを生成する形状設計支援装置において、
前記形状データにより表現される形状の表面への、予め定めた外部風景の映り込みを示す映り込み画像を、前記形状データを用いて算出する映り込み画像生成部と、
前記映り込み画像を表示する表示部と、
前記表示部に表示されている前記映り込み画像に対して行なわれる、前記映り込み画像を所望の形に修正するためのユーザによる修正操作を受け付けて、修正された映り込み画像が生成されるように前記形状データを修正する修正部とを有し、
前記修正部は、
前記修正操作を受け付け、前記修正操作に応じて修正された映り込み画像に関する修正情報を作成する映り込み画像修正情報作成部と、
前記修正情報に応じて、修正後の形状データにより表わされる形状が満足すべき幾何的条件に対応する幾何拘束情報を作成し、前記幾何拘束情報に従って前記形状データを修正する形状修正部とを有し、
前記映り込み画像修正情報作成部は、前記映り込み画像生成部で生成された映り込み画像中の前記外部風景の形状的特徴を表わす輪郭線を抽出し、前記輪郭線を含む映り込み画像を前記表示部に表示させ、前記表示されている輪郭線を修正するためのユーザからの操作を、前記修正操作として受け付けること
を特徴とする形状設計支援装置。 - 請求項1において、
ユーザからの入力操作に応じて、前記表示部の表示画面上の位置を特定するポインティング装置をさらに有し、
前記映り込み画像修正情報作成部は、前記輪郭線の表示に際して、前記輪郭線を代表する複数の通過点と、前記複数の通過点を通る線分とにより前記輪郭線を表示し、前記ポインティング装置による、前記表示されている複数の通過点のうちのひとつを特定する選択操作と、前記特定された通過点の前記表示画面上の別な位置へ移動させる移動操作とを、前記修正操作として受け付けること
を特徴とする形状設計支援装置。 - ユーザによる入力操作を受け付け、その操作に応じて、ユーザの所望する形状を表現するための形状データを生成する形状設計支援装置において、
前記形状データにより表現される形状の表面への、予め定めた外部風景の映り込みを示す映り込み画像を、前記形状データを用いて算出する映り込み画像生成部と、
前記映り込み画像を表示する表示部と、
前記表示部に表示されている前記映り込み画像に対して行なわれる、前記映り込み画像を所望の形に修正するためのユーザによる修正操作を受け付けて、修正された映り込み画像が生成されるように前記形状データを修正する修正部とを有し、
前記修正部は、
前記修正操作を受け付け、前記修正操作に応じて修正された映り込み画像に関する修正情報を作成する映り込み画像修正情報作成部と、
前記修正情報に応じて、修正後の形状データにより表わされる形状が満足すべき幾何的条件に対応する幾何拘束情報を作成し、前記幾何拘束情報に従って前記形状データを修正する形状修正部とを有し、
前記映り込み画像修正情報作成部は、前記表示されている映り込み画像中の修正される領域の範囲を指定する操作を受け付け、前記修正される領域の範囲を示す情報を前記修正情報として作成するものであり、
前記形状修正部は、前記修正情報に応じて、前記修正される領域の範囲に対応する、前記形状データ中の修正される領域の範囲を示す情報を、前記幾何拘束情報として作成すること
を特徴とする形状設計支援装置。 - 請求項3において、
ユーザからの入力操作に応じて、前記表示部の表示画面上の位置を特定するポインティング装置をさらに有し、
前記映り込み画像修正情報作成部は、前記ポインティング装置による、前記修正される領域の範囲を指定するための操作を、前記修正操作として受け付けること
を特徴とする形状設計支援装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25549994A JP3593155B2 (ja) | 1994-10-20 | 1994-10-20 | 形状設計支援装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25549994A JP3593155B2 (ja) | 1994-10-20 | 1994-10-20 | 形状設計支援装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08123835A JPH08123835A (ja) | 1996-05-17 |
JP3593155B2 true JP3593155B2 (ja) | 2004-11-24 |
Family
ID=17279605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25549994A Expired - Fee Related JP3593155B2 (ja) | 1994-10-20 | 1994-10-20 | 形状設計支援装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3593155B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7616198B2 (en) | 1998-02-20 | 2009-11-10 | Mental Images Gmbh | System and computer-implemented method for modeling the three-dimensional shape of an object by shading of a two-dimensional image of the object |
JP2007256240A (ja) * | 2006-03-27 | 2007-10-04 | Aisin Seiki Co Ltd | 表面歪み欠陥検査装置、検査方法及びコンピュータプログラム |
JP4784555B2 (ja) * | 2007-05-25 | 2011-10-05 | トヨタ自動車株式会社 | 形状評価方法、形状評価装置および三次元検査装置 |
JP5034905B2 (ja) * | 2007-11-30 | 2012-09-26 | トヨタ自動車株式会社 | 設計支援装置 |
JP5163210B2 (ja) * | 2008-03-21 | 2013-03-13 | トヨタ自動車株式会社 | 設計支援装置 |
JP5949203B2 (ja) * | 2012-06-21 | 2016-07-06 | 富士通株式会社 | 変更プログラム、変更方法、および変更装置 |
JP6880825B2 (ja) * | 2016-04-27 | 2021-06-02 | 日本製鉄株式会社 | 板パネルの外観の定量評価方法、装置およびプログラム |
-
1994
- 1994-10-20 JP JP25549994A patent/JP3593155B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08123835A (ja) | 1996-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0311081B1 (en) | Displaying method and apparatus for three-dimensional computer graphics | |
US5379371A (en) | Displaying method and apparatus for three-dimensional computer graphics | |
US5003498A (en) | Graphic display method | |
US6046745A (en) | Three-dimensional model making device and its method | |
US8988433B2 (en) | Systems and methods for primitive intersection in ray tracing | |
JP4680796B2 (ja) | 映像基盤突出変位マッピング方法、及び該方法を用いる二重変位マッピング方法 | |
US20130009948A1 (en) | Apparatus and Methods for Wrapping Texture onto the Surface of a Virtual Object | |
US7936351B2 (en) | Apparatus, method, and computer readable medium thereof capable of pre-storing data for generating self-shadow of a 3D object | |
EP0727764A1 (en) | 3D graphics apparatus | |
JP3593155B2 (ja) | 形状設計支援装置 | |
JP3557839B2 (ja) | 曲面上メッシュデータの作成方法 | |
US8717356B2 (en) | Display processing method and apparatus | |
JP3526605B2 (ja) | 3次元的な物体の変形方法及びモデリングシステム | |
US10475230B2 (en) | Surface material pattern finish simulation device and surface material pattern finish simulation method | |
US5649081A (en) | Method and apparatus for pattern data processing | |
US20170161918A1 (en) | Recording medium, information processing apparatus, and depth definition method | |
JP2837584B2 (ja) | 地形データの作成方法 | |
JP3786410B2 (ja) | フィレット作成方法、及び3次元cadプログラム | |
US20020013683A1 (en) | Method and device for fitting surface to point group, modeling device, and computer program | |
Frisch et al. | Deformation of finite element meshes using directly manipulated free-form deformation | |
KR100372901B1 (ko) | 지.에프-버퍼를 이용하여 광선추적법의 속도를 개선하는방법 | |
JP2007172181A (ja) | 設計データ生成装置及び設計データ生成プログラム | |
CN117745974B (zh) | 一种动态生成圆角矩形网格的方法 | |
JP3786412B2 (ja) | フィレット作成方法、及び3次元cadプログラム | |
Brill et al. | Immersive surface interrogation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040525 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040722 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040817 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040827 |
|
LAPS | Cancellation because of no payment of annual fees |