説明

設計支援装置、設計支援方法、およびプログラム

【課題】画一的な形状操作手順により、複数の対象物間に接する球の位置を特定する。
【解決手段】球体が基準面上の第1の位置に接触するときの球体の中心位置を設定する手段と、球体の中心位置から3次元形状に至る最短距離を算出する手段と、最短距離と球体の半径との差分値を算出する手段と、差分値が所定の許容値の範囲に収束したか否かを判定する手段と、差分値が許容値の範囲に収束していない場合に、球体の中心位置を基準面から球体の半径だけ離間した第2の面上で差分値だけ所定方向に移動した位置を算出する手段と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元形状の処理技術に関する。
【背景技術】
【0002】
従来から、3次元形状の処理技術、特に、球面に関する処理技術としては、例えば、下記特許文献1が知られている。特許文献1では、3次元形状処理装置における形状変形操作の方式として、曲面を含む立体モデルにおいて、その立体モデルの稜線に沿って球を転がし、その移動軌跡からオフセット線(面)を生成する。
【0003】
図1に、この技術を適用して2つの立体モデルの両方に接触する球Cの位置を求める手順を示す。ここでは、第1の立体モデルとして、自動車のフロントガラスに相当する基準面100を想定する。また、第2の立体モデルとして、基準面100と交差する外壁面を有する対象物101(例えば、自動車のボンネットフード)を想定する。そして、所定の半径Rの球Cが基準面100および対象物101の双方に接するときの球Cの中心位置B(または、そのときの対象物101と球Cとの接点D)を求める手順を考える。
【0004】
従来の技術では、まず、対象物101の外壁面を球Cの半径Rだけ移動したオフセット面(図1の断面図ではオフセット線)Aを求める。次に、球Cを基準面100に沿って対象物101の方向に移動したときの球Cの中心の移動軌跡を求める。そして、球Cの中心の移動軌跡とオフセット面Aとの交点を求める中心位置Bとする。これにより、球Cを基準面100と対象物101の両方に接触させたときの球と対象物101との接点Dを求めることができる。
【特許文献1】特許第2999497号公報
【特許文献2】特開2001−291117号公報
【特許文献3】特開平3−253975号公報
【特許文献4】特開平7−254011号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、上述した技術では、対象物の形状が複雑な場合には、対象物をオフセットできない(図1のようなオフセット面Aを形成できない)。したがって、そのような場合には、上記技術は適用できない。
【0006】
図2に、オフセットできない対象物の例を示す。図2に示したようなの対象物110の場合、DXだけオフセットすると、対象物110の外壁面同士が交差し、反転部分を生じる。このような場合には、対象物110の外壁面の凹部の寸法で制限され、任意のオフセット面を得ることができない。したがって、外壁面の断面形状が複雑な場合、あるいは、離間した部分を含む対象物の場合、常に対象物をオフセットできるとは限らない。
【0007】
そのような場合には、個々の対象物の形状に応じた処理を実現する必要が生じる。したがって、変数によって数値を限定することなく形状を特定して図形を操作するような処理、すなわち、パラメトリックなモデルリングにおいて、上記技術では対応できない場合が生じる。
【0008】
本発明の目的は、画一的な形状操作手順により、複数の対象物間に接する球の位置を特定する情報処理技術を提供することである。
【課題を解決するための手段】
【0009】
本発明は前記課題を解決するために、以下の手段を採用した。すなわち、本発明は、基準面と、前記基準面に隣接し前記基準面の所定方向に位置する任意の3次元形状とに接触する球体の位置の設計支援装置であり、前記球体が前記基準面上の第1の位置に接触するときの前記球体の中心位置を設定する手段と、前記球体の中心位置から前記3次元形状に至る最短距離を算出する手段と、前記最短距離と前記球体の半径との差分値を算出する手段と、前記差分値が所定の許容値の範囲に収束したか否かを判定する手段と、前記差分値が前記許容値の範囲に収束していない場合に、前記球体の中心位置を前記基準面から前記球体の半径だけ離間した第2の面上で前記差分値だけ前記所定方向に移動した位置を算出する手段と、を備える設計支援装置である。
【0010】
本発明によれば、球体の中心位置から3次元形状に至る最短距離を算出し、その最短距離と球体の半径との差分値が所定の許容値の範囲に収束するまで球体を移動する。したがって、球から3次元形状に至る最短距離と、球の半径との差分値という画一的な数値の算出を繰り返すことで、基準面とその基準面に隣接し所定方向に位置する任意の3次元形状とに接触する球体の位置を求めることができる。
【0011】
本設計支援装置は、前記基準面上で、前記第1の位置から前記所定方向に対して交差する方向の第2の位置を設定する手段と、複数の前記第2の位置を基にして、前記差分値が前記許容値の範囲に収束した前記球体の位置をそれぞれ複数記憶する手段と、をさらに備えるようにしてもよい。このような手段により、基準面とその基準面に隣接し所定方向に位置する任意の3次元形状とに接触する球体の位置を前記所定方向に対して交差する方向で複数求めることができ、いわば基準面と3次元形状とに接する球の移動軌跡を求めることができる。
【発明の効果】
【0012】
本発明によれば、画一的な形状操作手順により、複数の対象物間に接する球の位置を特定することができる。
【発明を実施するための最良の形態】
【0013】
以下、図面を参照して本発明を実施するための最良の形態(以下、実施形態という)に係る情報処理装置(本発明の設計支援装置に相当)について説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成には限定されない。
【0014】
<処理概要>
本情報処理装置は、複数の立体モデル間に接する球の位置を特定する機能を実現する。本情報処理装置は、例えば、CAD(Computer Aided Design)システムの機能として実現される。この機能の概要を図3から図5に示す。
【0015】
この場合、基準となる第1の立体モデルと、球の半径Rと、半径Rの球の接点を求めるべき対象となる第2の立体モデルとがユーザによって指定される。すると、情報処理装置は、基準となる第1の立体モデルに所定の手順で基準点L1を設定する。
【0016】
基準点L1は、例えば、第1の立体モデルを構成する曲面(または平面)の一端の点を選択すればよい。そして、情報処理装置は、基準点L1から曲面に接する平面(L1が平面上の点である場合、その平面そのもの)の法線を設定し、基準点L1から半径Rだけ離れた法線上の点を球の中心X1として設定する。そして、情報処理装置は、第1の立体モデル上で球を第2の立体モデルの方向(本発明の所定方向に相当)に転がした場合の球の中心の移動軌跡を求める。具体的には、基準点L1および上記法線を含む断面上で、中心X11を通る第1の立体モデルのオフセット面(線)を求める。
【0017】
なお、この場合の移動軌跡の方向は、第1の立体モデルと第2の立体モデルの位置関係から求めることができる(例えば、第1の立体モデルと第2の立体モデルの重心位置の関係から求める)。また、例えば、3次元内に重力方向を設定しておき、第1の立体モデルの構成する曲面と、重力の方向から、球が転がる方向として決定してもよい。また、ユーザの入力によって移動軌跡の方向を設定してもよい。
【0018】
そして、情報処理装置は、現在の球の中心点と、第2の立体モデルとの最短距離d11を算出する(図3)。
【0019】
次に、情報処理装置は、現在の球の中心点X11を移動軌跡の方向にΔX=d11−Rだけ、移動した点を求め、新たな球の中心点X12とする。そして、新たな球の中心点X12と、第2の立体モデルとの最短距離d12を算出する(図4)。
【0020】
情報処理装置は、以上のような処理を繰り返し、球の中心点X1nから第2の立体モデルに至る最短距離d1nと半径Rとの差分が所定の許容差以内となったときに、球が第2の立体モデルに接触していると判定する。情報処理装置は、このときの球の中心点X1n、および中心点X1nから最短距離d1nの位置にある第2の立体モデル上の接触点D1を求める。
【0021】
さらに、情報処理装置は、上記基準点L1を前記基準点L1と法線とを含む断面に略直交する方向(本発明の交差する方向に相当)に移動した基準点L2を第1の立体モデル上に設定する。そして、上記手順を繰り返して、球が第2の立体モデルに接触していると判定される中心点X2n、および中心点X2nから最短距離d2nの位置にある第2の立体モデル上の接触点D2を求める。
【0022】
以上のような処理を繰り返して、情報処理装置は、接触D1、D2、・・・Dnからなる接触点の移動軌跡を求める。
【0023】
以上の機能は、コンピュータ上に実現されるCADシステムの1つの機能として、コンピュータ上で実行されるコンピュータプログラムによって実現される。ここで、コンピュータは、CPU(Central Processing Unit)、メモリ、入出力インターフェース、入出力インターフェースに接続される外部記憶装置、表示装置、入力装置、通信装置等を有する。
【0024】
外部記憶装置は、例えば、ハードディスク駆動装置である。また、外部記憶装置は、着脱可能な記憶媒体の駆動装置、例えば、CD−ROM(Compact Disc Read Only Memory )、DVD(Digital Versatile Disk)等の駆動装置を含む。さらに、外部記憶装置として、フラッシュメモリカードの入出力装置を用いてもよい。
【0025】
表示装置は、例えば、CRT(Cathode Ray Tube )、液晶ディスプレイ等である。また、入力装置は、キーボード、ポインティングデバイス等である。ポインティングデバイスには、マウス、ジョイスティック、タッチパネル、静電方式のフラットなポインティングデバイス、スティック形状のポインティングデバイス等を含む。通信装置は、例えば、LAN基板等である。
【0026】
<処理フロー>
図6に、本情報処理装置の処理フローを示す。上述のように、この処理フローは、コンピュータプログラムとして実現される。
【0027】
この処理では、情報処理装置は、まず、処理の基準となる第1の立体モデルの選択を受ける(S1)。処理の基準とは、球を転がして移動する対象という意味である。選択は、例えば、表示装置に表示された3次元形状中の部分をポインティングデバイスでユーザが選択することによる。情報処理装置は、画面上で選択された3次元形状中の部分を第1の立体モデルとして特定する。
【0028】
次に、情報処理装置は、接触点を求める対象となる第2の立体モデルの選択を受ける(S2)。第2の立体モデルの選択も、第1の立体モデルと同様である。情報処理装置は、画面上で選択された3次元形状中の部分を第2の立体モデルとして特定する。
【0029】
次に、情報処理装置は、球の半径Rの指定を受ける(S3)。球の半径は、ユーザによるキーボードからの入力を受け付けるようにすればよい。また、例えば、スクロール可能なGUI(グラフィカル・ユーザ・インターフェース)部品によって、ポインティングデバイスで目盛の操作を受け付けるようにしてもよい。
【0030】
次に、情報処理装置は、第1の立体モデル上の基準点を選択する(S4)。基準点は、例えば、第1の立体モデルを構成する曲面(または平面)の1つの端点データを選択すればよい。端点データは、第1の立体モデルとして記憶されている図形データ中で最初に読み出される座標とすればよい。ただし、そのような図形データの中の座標をソーティングで所定の位置(例えば、先頭、中央付近、あるいは末尾)の座標データを基準点としてもよい。また、ユーザからの指定を受け付けて基準点を選択するようにしてもよい。
【0031】
次に、情報処理装置は、上記基準点に球を接触させた後に、球を第2の立体モデル方向に移動させたときに球が第2の立体モデルに接触する接触点を求める処理(以下、第2の立体モデルと球との接触点算出処理)を実行する(S5)。
【0032】
次に、接触点を複数個結んで形成される接触点の軌跡が完成したか否かを判定する(S6)。軌跡が完成したか否かは、例えば、所定の長さの軌跡が計算されたか否かで判定すればよい。あるいは、所定の範囲(例えば、ユーザに軌跡を求める範囲を指定させたその範囲)で軌跡が求まったか否かで判定すればよい。また、例えば、S5の処理で、接触点の解が存在しなかった場合に、処理終了としてもよい。また、S5の処理が所定回数実行されたことをもって軌跡が完成したと判定してもよい。
【0033】
軌跡が完成していない場合、情報処理装置は、基準点を球の移動方向と略直交する方向に所定距離だけ移動する(S7)。この処理を実行する情報処理装置のCPUが本発明の所定方向に対して交差する方向の第2の位置を設定する手段に相当する。
【0034】
球の移動方向と略直交する方向とは、前記基準点、球の中心点、および接触点が存在する断面と略直交する方向(例えば、第1の立体モデルが自動車のフロントガラスの場合に、そのフロントガラス面上を左右方向に移動する方向)である。そして、情報処理装置は、制御をS5に戻し、再度接触点を算出する。
【0035】
一方、軌跡が完成した場合、情報処理装置は、接触点の軌跡をメモリ上、または、ハードディスク上に記憶する。この処理を実行する情報処理装置のCPUが本発明の球体の位置をそれぞれ複数記憶する手段に相当する。また、情報処理装置は、接触点の軌跡を表示装置上に出力する(S8)。
【0036】
図7に、第2の立体モデルと球との接触点算出処理(図6のS5)の詳細を示す。この処理では、情報処理装置は、基準点で第1の立体モデルに接する平面の法線を算出する(
S52)。
【0037】
次に、情報処理装置は、法線上の球の中心点(移動の開始点)を求める(S52)。この処理を実行する情報処理装置のCPUが、本発明の球体の中心位置を設定する手段に相当する。ここで、球の中心点は、基準点から法線上に距離Rの点を選択すればよい。
【0038】
次に、情報処理装置は、第2の立体モデルとの最短距離dを求める(S53)。ここで、球の中心点と第2の立体モデルとの最短距離は、以下の手順で求めることができる。なお、この処理を実行する情報処理装置のCPUが、本発明の最短距離を算出する手段に相当する。
【0039】
(1)第2の立体モデルに曲面が含まれる場合、その曲面を複数の平面からなる多面体で近似する。
【0040】
(2)球の中心と第2の立体モデルを構成する平面の端点との距離を順次求めて最小値を決定する。
【0041】
ただし、このような単純な処理に代えて、例えば、まず、第2の立体モデルの表面を複数の表面部分に分割し、それぞれの表面部分の代表座標を求め、代表座標を基に、球の中心に最も近い表面部分を決定してもよい。そして、そのような球の中心に最も近い表面部分において、上記(1)(2)の処理を実行してもよい。
【0042】
次に、情報処理装置は、最短距離dから球の半径Rを減算した値d−Rが所定の許容値以内か否かを判定する(S54)。この処理を実行する情報処理装置のCPUが、本発明の差分値を算出する手段および差分値が所定の許容値の範囲に収束したか否かを判定する手段に相当する。
【0043】
値d−Rが所定の許容値以内でない場合、情報処理装置は、球の中心点からの移動方向の方向ベクトルを求める(S55)。移動方向は、上記基準点で第1の立体モデルに接する平面と平行で、かつ、球の中心を通る平面を想定し、その平面上で、所定の第2の立体モデルと最短距離の方向を設定すればよい。ただし、方向ベクトルは、ユーザ指定の方向としてもよい。ユーザ指定の方向は、例えば、基準点L1、半径Rの入力時に、ユーザが指定するようにすればよい。
【0044】
そして、情報処理装置は、球の中心点の位置を方向ベクトルの方向にX=d−Rだけ移動する(S56)。この処理を実行する情報処理装置のCPUが、本発明の所定方向に移動した位置を算出する手段に相当する。その後、情報処理装置は、制御をS53に戻し、同様の処理を繰り返す。
【0045】
一方、値d−Rが所定の許容値以内である場合、情報処理装置は、球の中心点から最短距離dにある第2の立体モデル上の点を接触点とする(S57)。
【0046】
<処理例>
図8および図9に、本情報処理装置による処理例を示す。ここでは、車両のボンネット後部基準線を特定する処理の例を示す。車両のボンネット後部基準線とは、車両のフロントガラスの下方部分と車両の前部上面(ボンネットフード部分やワイパー等)の両方に球体を同時に接触させたときの、球体と車両の前部上面との接点の集合をいう。接点の集合の意味は、車両と球体との接触箇所を車両の前後方向に直交する左右方向に移動したときにできる集合をいう。このような車両のボンネット後部基準線は、車両の歩行者に対する安全性を判定する際の判定対象の1つに含まれる。したがって、車両の設計システムにおい
ては、簡易かつ確実に車両のボンネット後部基準線求める機能が必要とされている。
【0047】
本情報処理装置は、例えば、図8に示したような車両の3次元形状を表示する。そして、第1の立体モデルとして、フロントガラスが設定される。また、第2の立体モデルとして、ボンネットフードとワイパーが選択される。球の半径は、例えば、車両の安全審査のパラメータから半固定的に設定されている。
【0048】
情報処理装置は、所定の基準点から球をフロントガラスに接触させて転がしたときのボンネットフードとの接触点を図9に示した手順で求める。情報処理装置は、例えば、フロントガラス(ウィンドウシールドガラス)の下端線の任意の1点を基準点として選択する。この場合、ユーザ操作によって基準点を選択してもよい。
【0049】
そして、情報処理装置は、その基準点において、下端線に直交する平面(法平面)を設定する。そして、その法平面によって形成される断面上において、フロントガラスに接触する球の中心点の軌跡を生成する。そして、情報処理装置は、その中心の軌跡上でボンネットフード方向に球を移動したときに球が最初に接触する点を図6および図7の手順で求める。
【0050】
さらに、情報処理装置は、基準点の位置を下端線上で左右方向に移動して、同様の手順を繰り返す。このような手順により、図7に示す車両のボンネット後部基準線を求める。
【0051】
以上述べたように、本実施形態の情報処理によれば、球の接触点を求める対象である第2の立体モデルがオフセットを求めることができないような複雑な形状であっても(例えば、図8、図9に示すように、車両の前部上面にワイパーがあっても)、第1の立体モデルと第2の立体モデルの双方に接する球の接触位置を求めることができる。
【0052】
また、本情報処理装置によれば、フロントガラスの下端線上の基準点で、その下端線に直交する平面で、3次元形状の断面を構成し、球の移動軌跡を求める。また、その移動軌跡を球が移動したときの第2の立体モデル(ボンネットフードもしくはワイパー等)との最短距離と球の半径Rとの差分が所定の許容範囲となったときに、球の接触を判定し、接点を求める。このように、本情報処理装置によれば、変数を用いて、球の半径、第1の立体モデルの形状等を表すモデルにおいても、画一的な形状操作手順により球の接触位置を求めることができる。すなわち、第2の立体モデルの個々の形状の特性に応じた個別の処理を実現することなく、共通の手順で、第1の立体モデルと第2の立体モデルとに、球が接触する点を求めることができる。その結果、基準点L1を第1の立体モデル上でシフトして同様の手順を繰り返すことで、例えば、車両のボンネットフード後部基準線を求めることができる。
【0053】
なお、本発明は、以上のいずれかの処理をコンピュータに実行させるプログラムであってもよい。また、本発明は、そのようなプログラムを記録したコンピュータ読み取り可能な記録媒体、例えば、CD−ROM、DVD、フラッシュメモリカード等であってもよい。また、本発明は、コンピュータがそのような処理を実行する方法として実現してもよい。
【図面の簡単な説明】
【0054】
【図1】従来技術を適用して2つの立体モデルの両方に接触する球の位置を求める手順を示す図である。
【図2】図形をオフセットできない対象物の例を示す図である。
【図3】情報処理装置の機能の概要を示す図(その1)である。
【図4】情報処理装置の機能の概要を示す図(その2)である。
【図5】情報処理装置の機能の概要を示す図(その3)である。
【図6】情報処理装置の処理フローを示す図である。
【図7】第2の立体モデルと球との接触点算出処理の詳細を示す図である。
【図8】情報処理装置による車両データの処理例を示す図(その1)である。
【図9】情報処理装置による車両データの処理例を示す図(その2)である。
【符号の説明】
【0055】
100 基準面
101 対象物

【特許請求の範囲】
【請求項1】
基準面と、前記基準面に隣接し前記基準面の所定方向に位置する任意の3次元形状とに接触する球体の位置の設計支援装置であり、
前記球体が前記基準面上の第1の位置に接触するときの前記球体の中心位置を設定する手段と、
前記球体の中心位置から前記3次元形状に至る最短距離を算出する手段と、
前記最短距離と前記球体の半径との差分値を算出する手段と、
前記差分値が所定の許容値の範囲に収束したか否かを判定する手段と、
前記差分値が前記許容値の範囲に収束していない場合に、前記球体の中心位置を前記基準面から前記球体の半径だけ離間した第2の面上で前記差分値だけ前記所定方向に移動した位置を算出する手段と、を備える設計支援装置。
【請求項2】
前記基準面上で、前記第1の位置から前記所定方向に対して交差する方向の第2の位置を設定する手段と、
複数の前記第2の位置を基にして、前記差分値が前記許容値の範囲に収束した前記球体の位置をそれぞれ複数記憶する手段と、をさらに備える請求項1に記載の設計支援装置。
【請求項3】
コンピュータが、基準面と、前記基準面に隣接し前記基準面の所定方向に位置する任意の3次元形状とに接触する球体の位置を算出する設計支援方法であり、
前記球体が前記基準面上の第1の位置に接触するときの前記球体の中心位置を設定するステップと、
前記球体の中心位置から前記3次元形状に至る最短距離を算出するステップと、
前記最短距離と前記球体の半径との差分値を算出するステップと、
前記差分値が所定の許容値の範囲に収束したか否かを判定するステップと、
前記差分値が前記許容値の範囲に収束していない場合に、前記球体の中心位置を前記基準面から前記球体の半径だけ離間した第2の面上で前記差分値だけ前記所定方向に移動した位置を算出するステップと、を備える設計支援方法。
【請求項4】
前記基準面上で、前記第1の位置から前記所定方向に対して交差する方向の第2の位置を設定するステップと、
複数の前記第2の位置を基にして、前記差分値が前記許容値の範囲に収束した前記球体の位置をそれぞれ複数記憶するステップと、をさらに備える請求項3に記載の設計支援方法。
【請求項5】
コンピュータに、基準面と、前記基準面に隣接し前記基準面の所定方向に位置する任意の3次元形状とに接触する球体の位置を算出させるプログラムであり、
前記球体が前記基準面上の第1の位置に接触するときの前記球体の中心位置を設定するステップと、
前記球体の中心位置から前記3次元形状に至る最短距離を算出するステップと、
前記最短距離と前記球体の半径との差分値を算出するステップと、
前記差分値が所定の許容値の範囲に収束したか否かを判定するステップと、
前記差分値が前記許容値の範囲に収束していない場合に、前記球体の中心位置を前記基準面から前記球体の半径だけ離間した第2の面上で前記差分値だけ前記所定方向に移動した位置を算出するステップと、
を実行させるプログラム。
【請求項6】
前記基準面上で、前記第1の位置から前記所定方向に対して交差する方向の第2の位置を設定するステップと、
複数の前記第2の位置を基にして、前記差分値が前記許容値の範囲に収束した前記球体
の位置をそれぞれ複数記憶するステップと、をさらに実行させる請求項5に記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2007−272462(P2007−272462A)
【公開日】平成19年10月18日(2007.10.18)
【国際特許分類】
【出願番号】特願2006−95885(P2006−95885)
【出願日】平成18年3月30日(2006.3.30)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】