(57)【特許請求の範囲】
【請求項１】
三次元モデルを表示装置の表示画面に表示する方法において、
演算処理装置が、前記表示画面の任意の表示位置に表示された断面に沿って前記三次元モデルを切断した断面の画像情報を生成し、グラフィックス処理装置を介して前記表示画面に表示する段階と、
マウスの操作により、前記表示画面上で寸法を測定したい測定点が指定された場合、前記演算処理装置は、前記断面の平面上に前記測定点から４方向に向かって直線を規定し、該測定点から、該直線と前記三次元モデル表面との交点までの距離を計算し、この距離の数値とその距離を示す線分、及び前記三次元モデルの画像情報を生成し、前記グラフィックス処理装置は該画像情報を前記表示画面に表示する段階と、
前記マウスの操作により、前記表示画面上に表示された前記断面または前記測定点の表示位置が変更された場合、前記演算処理装置は前記距離の計算および表示の処理を連続的に行い前記距離の数値および前記線分の画像情報を生成し、前記グラフィックス処理装置を介して前記表示画面上の表示を更新する段階と
を有することを特徴とする三次元モデルの表示方法。
【請求項２】
前記マウスの操作により前記三次元モデルを切断する断面の表示位置の移動が指示されたとき、前記演算処理装置は前記切断された三次元モデルの画像情報を生成し表示を更新するとともに、移動先の断面の表示位置に応じた新たな測定点を計算して前記距離の数値および前記線分の画像情報を生成し、前記グラフィックス処理装置は該画像情報を前記表示画面に表示することを特徴とする請求項１記載の三次元モデルの表示方法。
【請求項３】
任意の表示位置に表示された断面に沿って切断された前記三次元モデルを前記表示画面に表示する際、前記演算処理装置は前記三次元モデルを構成する部品ごとに識別可能な色で切断された断面を塗りつぶした画像情報を生成することを特徴とする請求項１記載の三次元モデルの表示方法。
【請求項４】
表示画面を有するコンピュータ上で、前記表示画面に三次元モデルを表示する処理を実行可能なプログラムが記憶された記憶媒体において、
前記表示画面の任意の表示位置に表示された断面に沿って前記三次元モデルを切断した断面の画像情報を生成し、該画像情報をグラフィック処理装置を介して前記表示画面に表示させる機能と、
マウスの操作により、前記表示画面上で寸法を測定したい測定点が指定された場合、前記断面の平面上に前記測定点から４方向に向かって直線を規定し、該測定点から、該直線と前記三次元モデル表面との交点までの距離を計算し、この距離の数値とその距離を示す線分、及び前記三次元モデルの画像情報を生成し、前記グラフィックス処理装置を介して該画像情報を前記表示画面に表示させる機能と、
前記表示画面上に表示された前記断面または前記測定点の表示位置の変更が前記マウスの操作によって指示された場合、前記距離の計算および表示の処理を連続的に行い前記距離の数値および前記線分の画像情報を生成し、前記グラフィックス処理装置を介して該画像情報を表示させる機能と
を実現するプログラムが記憶されたコンピュータにより読み取り可能な記憶媒体。
【請求項５】
前記マウスの操作により前記三次元モデルを切断する断面の表示位置の移動の指示を受け付ける機能と、
前記移動の指示が受け付けられたとき、前記切断された三次元モデルの画像情報を生成し表示を更新させるとともに、移動先の断面の表示位置に応じた新たな測定点を計算し、この測定点を基に前記距離の数値および前記線分の画像情報を生成し、前記グラフィックス処理装置を介して該画像情報を前記表示画面に表示させる機能と
をコンピュータ上でさらに実現するプログラムが記憶された請求項４記載の記憶媒体。
【請求項６】
コンピュータ上で、任意の表示位置に表示された断面に沿って切断された前記三次元モデルを前記表示画面に表示する際、前記三次元モデルを構成する部品ごとに識別可能な色で切断された断面を塗りつぶした画像情報を生成する機能を実現するプログラムが記憶されたコンピュータにより読み取り可能な請求項４記載の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータを使って三次元モデルを表示する方法およびこれを実現するプログラムが記憶されたコンピュータにより読み取り可能な記憶媒体に関する。
【０００２】
【従来の技術】
従来、コンピュータのもつ表示画面上で、複数の部品からなる三次元モデルの断面を表示する場合、すべての部品の断面が同じ色で表示されていた。このため、断面を見て各部品を識別することが困難になる場合があった。
【０００３】
また、表示画面上で三次元空間内のある二点間の距離を計測したい場合、三次元表示されたモデルを見ながら、マウス等の入力装置を使って距離測定したい二点を指定する必要があった。
【０００４】
表示画面上の二次元空間で三次元モデル表面の位置を指定することは人間にとって難しい作業であり、しかもその作業を多くの点について繰り返し行う必要がある場合は多くの時間と根気を要する。
【０００５】
【発明が解決しようとする課題】
このように従来の三次元モデルの表示方法においては、すべての部品で断面の表示色が一つにまとめられてしまうので、人間の視覚で断面と部品との対応をとることが困難であった。また、表示画面上の二次元空間で三次元モデル表面の所望の位置を指定することは非効率的であるという問題があった。
【０００６】
本発明は、このような課題を解決するためのもので、部品の識別性の向上を図ることのできる三次元モデルの表示方法とこれを実現するプログラムが記憶された記憶媒体の提供を目的とする。
【０００７】
また、本発明は、表示画面上で三次元モデルの測定点を容易にかつ正確に指定することができ、三次元モデルの測定作業を効率良く行うことを実現する三次元モデルの表示方法とこれを実現するプログラムが記憶された記憶媒体の提供を目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１の三次元モデルの表示方法は、三次元モデルを表示装置の表示画面に表示する方法において、演算処理装置が、前記表示画面の任意の表示位置に表示された断面に沿って前記三次元モデルを切断した断面の画像情報を生成し、グラフィックス処理装置を介して前記表示画面に表示する段階と、マウスの操作により、前記表示画面上で寸法を測定したい測定点が指定された場合、前記演算処理装置は、前記断面の平面上に前記測定点から４方向に向かって直線を規定し、該測定点から、該直線と前記三次元モデル表面との交点までの距離を計算し、この距離の数値とその距離を示す線分、及び前記三次元モデルの画像情報を生成し、前記グラフィックス処理装置は該画像情報を前記表示画面に表示する段階と、前記マウスの操作により、前記表示画面上に表示された前記断面または前記測定点の表示位置が変更された場合、前記演算処理装置は前記距離の計算および表示の処理を連続的に行い前記距離の数値および前記線分の画像情報を生成し、前記グラフィックス処理装置を介して前記表示画面上の表示を更新する段階とを有することを特徴とする。
【０００９】
また、本発明は、請求項１記載の三次元モデルの表示方法において、前記マウスの操作により前記三次元モデルを切断する断面の表示位置の移動が指示されたとき、前記演算処理装置は前記切断された三次元モデルの画像情報を生成し表示を更新するとともに、移動先の断面の表示位置に応じた新たな測定点を計算して前記距離の数値および前記線分の画像情報を生成し、前記グラフィックス処理装置は該画像情報を前記表示画面に表示することを特徴とする。
【００１０】
さらに、本発明の請求項３の三次元モデルの表示方法は、任意の表示位置に表示された断面に沿って切断された前記三次元モデルを前記表示画面に表示する際、前記演算処理装置は前記三次元モデルを構成する部品ごとに識別可能な色で切断された断面を塗りつぶした画像情報を生成することを特徴とする。
【００１１】
また、本発明の請求項４のコンピュータにより読み取り可能な記憶媒体は、表示画面を有するコンピュータ上で、前記表示画面に三次元モデルを表示する処理を実行可能なプログラムが記憶された記憶媒体において、前記表示画面の任意の表示位置に表示された断面に沿って前記三次元モデルを切断した断面の画像情報を生成し、該画像情報をグラフィック処理装置を介して前記表示画面に表示させる機能と、マウスの操作により、前記表示画面上で寸法を測定したい測定点が指定された場合、前記断面の平面上に前記測定点から４方向に向かって直線を規定し、該測定点から、該直線と前記三次元モデル表面との交点までの距離を計算し、この距離の数値とその距離を示す線分、及び前記三次元モデルの画像情報を生成し、前記グラフィックス処理装置を介して該画像情報を前記表示画面に表示させる機能と、前記表示画面上に表示された前記断面または前記測定点の表示位置の変更が前記マウスの操作によって指示された場合、前記距離の計算および表示の処理を連続的に行い前記距離の数値および前記線分の画像情報を生成し、前記グラフィックス処理装置を介して該画像情報を表示させる機能とを実現するプログラムが記憶されたものである。
【００１２】
本発明の請求項５のコンピュータにより読み取り可能な記憶媒体は、請求項４の記憶媒体において、前記マウスの操作により前記三次元モデルを切断する断面の表示位置の移動の指示を受け付ける機能と、前記移動の指示が受け付けられたとき、前記切断された三次元モデルの画像情報を生成し表示を更新させるとともに、移動先の断面の表示位置に応じた新たな測定点を計算し、この測定点を基に前記距離の数値および前記線分の画像情報を生成し、前記グラフィックス処理装置を介して該画像情報を前記表示画面に表示させる機能とをコンピュータ上でさらに実現するプログラムが記憶されたものである。
【００１３】
さらに、本発明の請求項６のコンピュータにより読み取り可能な記憶媒体は、コンピュータ上で、任意の表示位置に表示された断面に沿って切断された前記三次元モデルを前記表示画面に表示する際、前記三次元モデルを構成する部品ごとに識別可能な色で切断された断面を塗りつぶした画像情報を生成する機能を実現するプログラムが記憶されたものである。
【００１４】
本発明の請求項１および請求項４の発明によれば、ユーザが切断された三次元モデルが表示された表示画面上で任意の点を指定するだけで、この点が三次元座標系の測定点に置き換えられ、この測定点を通過する、三次元モデルの表面間の距離の数値と線分を三次元モデルとともに表示することができる。したがって、三次元モデルの測定作業を効率良く行うことができるようになる。
【００１５】
また、本発明の請求項２および請求項５の発明によれば、ユーザの繰作により断面の位置を移動させるだけで、その断面位置に合わせて三次元モデルの表示が更新されるとともに、その移動先の断面位置に対応する測定点が自動的に求められ、この測定点を基に三次元モデルの表面間の距離の数値および線分も自動的に更新されるので、連続して、多数の測定点における三次元モデル表面間の縦横寸法を調べることができる。
【００１６】
さらに、本発明の請求項３および請求項６の発明によれば、三次元モデルを、これを構成する部品ごとに識別可能な色で断面を塗りつぶして表示画面上に表示させることができるので、各部品を一目で識別することができるようになる。
【００１７】
【発明の実施の形態】
以下、本発明の実施形態を図面に基づき説明する。
【００１８】
図１に、本発明の実施形態である三次元グラフィックスシステムを実現するハードウェア構成を示す。
【００１９】
同図に示すように、この三次元グラフィックスシステムは、グラフィックスワークステーション、パーソナルコンピュータ等のコンピュータ本体１と、コンピュータ本体１内のグラフィックス処理装置１２などで生成された三次元モデルの画像データを表示するＣＲＴ、ＬＣＤなどの表示装置２と、各種制御命令やデータをコンピュータ本体１へ入力するためにユーザによって操作されるキーボード３およびマウス４とを備えて構成される。
【００２０】
コンピュータ本体１は、ＣＰＵやメモリを中核として構成され、各種演算やプログラムの実行制御等を行う演算処理装置１１と、三次元モデルの幾何情報、視点の位置、断面の位置などを入力とし、三次元モデルの画像データを作成して表示装置２に出力する専用演算装置であるグラフィックス処理装置１２と、プログラムやデータを永続的に保存しておく記憶装置であるディスク装置１３とを備えてなる。また、コンピュータ本体１には、フロッピーディスク、光ディスクなどの記憶媒体から、当該記憶媒体に記憶されたデータやプログラムを読み込む記憶媒体読込装置１４が接続されている。本実施形態の三次元モデルの表示方法は、たとえば、記憶媒体から当該方法を実現するためのプログラムを読み出しディスク装置１３に組み込んだ環境において実現される。
【００２１】
図２は、本システムの処理手順をユーザの操作と並行して示すフローチャートである。以下、これを用いて動作を説明する。
【００２２】
同手順において、ステップ（２）は、一般的に使われている三次元表示処理技術であるｚバッファ法と呼ばれる手法である。現在市場にある三次元表示用アクセラレータやグラフィックスワークステーションの殆どはこの手法を用いている。三次元モデルは、その表面を多数の三角形（ポリゴンと呼ばれる。）で近似して表現される。このようなｚバッファによる表示処理は、例えばOpenGLという三次元モデル表示の既存技術を用いて実現できる。
【００２３】
断面表示に関しては、例えばステンシル・バッファと呼ばれる特殊な画像メモリの機能を利用して実現できる。その詳細については文献１：Mason Woo,Jackie Neider,Tom Davis 「OpenGL プログラミングガイド第２版- OpenGLバージョン1.1 対応オフィシャルガイド」アジソン・ウェスレイ・パブリッシャーズ・ジャパン株式会社、ISBN4-7952-9710-X(C3055 ）  を参照されたい。最近のグラフィックス処理装置の性能の向上により、三次元モデルをマウスの動きと連動するように素早く表示することは比較的容易である。
【００２４】
ステップ（４）（５）は三次元モデルの断面を表示する段階である。この段階の処理の詳細は後で図３により説明する。
【００２５】
ステップ（６）でユーザは、マウス４を操作することによって断面を移動させ、所望の断面位置を決定する。断面位置が決定したら、ステップ（９）でユーザは、画面に表示されたモデル断面上で寸法を測定したい部分の中央付近にカーソルを持って行き測定点を指定する。
【００２６】
ステップ（１０）でシステムは、カーソルの二次元座標を三次元モデル断面上にある点とみなして三次元座標に置き換え、これを測定点とする。
【００２７】
以下、システムは次のような処理を行う。
【００２８】
ステップ（１２）で、システムは与えられた測定点を起点として断面平面に沿うような形で、上下左右に計４本の半直線を設定する。例えば、断面がｚ軸に垂直（ｘ−ｙ平面に平行）であれば、各半直線はｘ軸またはｙ軸に平行なものとなる。
【００２９】
ステップ（１３）で、システムは４本の半直線のそれぞれについて、表示対象となる全モデルの表面の三角形との交点を計算し、前記測定点に最も近い交点を求める。
【００３０】
ステップ（１４）で、システムは左右の交点間の距離と上下の交点間の距離をそれぞれ求め、これらを寸法値とする。これらの寸法値は測定点がモデル断面上にある場合はそのモデルの厚みを示し、空きスペースにある場合は二つのモデル間の隙間を示す。
【００３１】
最後にステップ（１５）で、システムは測定点から上下左右に発した４本の線分とその寸法値をモデルとともに画面上に表示する。このようにして得られる表示結果の例を図９に示す。
【００３２】
一方、ユーザは、ステップ（１６）で図９のような表示結果を見て、ステップ（１７）で自分の望む部分の寸法が表示されているかを判断する。ここで測定点の変更が必要ならば、ステップ（１８）で、どの方向に移動すべきかを判断する。もし断面の位置はそのままでよいのであれば、ステップ（１９）において断面平面上で測定点を移動する。具体的には、マウス４でカーソルを測定点上に持って行きマウス４の左ボタンを押して測定点を選択し、再びカーソルを動かすことによって所望の位置に移動させる。もし、断面の位置を変える必要があれば断面を移動させる。この断面の移動は、具体的には、マウス４の中ボタンを押して所望の方向・位置に動かすことによって行われる。
【００３３】
このように少しずつ測定点を移動することによって、所望の位置の測定点を得る。実際のシステムの動作としては、測定点や断面の位置がユーザのマウス４の動きで少しでも変わるたびにステップ（１０）からステップ（１５）の処理を行って表示を更新する。
【００３４】
図１０は、マウス４を操作することによって断面を移動させたときに、寸法線や寸法値も同時に更新される例を示している。同図において、表示画面右手にある球体１０１は断面が移動することによって寸法線との交点２０１が変わり、同時に寸法値も変わる。
【００３５】
図１１は、マウス４を操作して測定点２０３を断面平面内で動かしたときに、寸法線や寸法値も同時に更新される例を示している。ここで、表示画面右手にある球体１０１は、測定点２０３が移動することによって寸法線との交点２０１も変わり、同時に寸法値も変わる。
【００３６】
図１２は、マウス４を操作して測定点２０３を断面平面内で動かしたときに、寸法線が動き、モデルと交差しなくなった場合の表示例である。ここで横方向の寸法線はモデルの断面と交差しないため表示されていない。別の方法として、例えば、モデルと交差しない寸法線は点線などを使って半直線あるいは直線として描くようにしてもよい。
【００３７】
次に、図３に示す三次元モデルの断面表示手法について説明する。
【００３８】
前提として、すべてのモデルは表面をポリゴンで近似することによって構成され、モデル表面が必ずポリゴンの表側になるように作られているとする。つまり、断面を取らなければポリゴンの裏面が見えることはない。
【００３９】
さて、断面を空洞としてではなく蓋(cap) をしたように表示する方法はキャッピング(capping) と呼ばれる。この手法については、例えば、文献２："Programmig with OpenGL ：Advanced Techniques",SIGGRAPH'97 Course Notes 11,pp.7-8(August,1997 ）に公開されている。この方法では、各部品の色が異なっていても、キャッピング部分の色はどの部品の断面かにかかわらず単一の色で表示される。図４にその例を示す。これに村して本発明においては、部品ごとの色に合わせた色で断面を表示することができる。これを図５に示す。
【００４０】
図３のステップ（ａ）（ｂ）（ｃ）は図２のフローチャートのステップ（４）に相当するもので、部品ごとの色を設定する処理である。
【００４１】
まずステップ（ａ）で、一つの部品について、ポリゴンの表側の面にすでに割り当てられている色で、光源の向きによって強さが変わる色である diffuse色を調べる。そしてその値を、ポリゴン裏面に割り当てられる色で、光源にかかわらず一定の色を発するためのemission色の値にコピーする。
【００４２】
次に、ステップ（ｂ）で、裏面のemission以外の色(ambient,diffuse,specular)をゼロに設定する。
【００４３】
続いてステップ（ｃ）で、このような色の設定をすべての部品に対して行ったら、実際に断面の表示を行う。断面は、OpenGLと呼ばれるアーキテクチャではクリッピング平面と呼ばれている。
【００４４】
図３のステップ（ｄ）（ｅ）（ｆ）は図２のフローチャートのステップ（５）に相当する断面表示の処理である。
【００４５】
ステップ（ｄ）では、クリッピング平面の向きと位置を適切に設定したら、ステップ（ｅ）でこれを有効にする設定を行い、最後にステップ（ｆ）でモデルの表示を行う。
【００４６】
こうすることによって、部品が断面で切り取られて内側の裏面が見える部分は、ベタ塗りの色で、なおかつ各部品の特徴を示す色で表示される。この表示結果を見ると、あたかもきれいにキャッピングされたかのように見える（図５）。
【００４７】
なお、この方法は、部品どうしが食い込むことがないことを前提条件にしている。一般に、ＣＡＤで設計したモデルでは、通常部品どうしが食い込むことはないが、設計の都合上食い込んでしまう場合もありうる。このようなときは、図７に示すように、断面がベタ塗りされている中に食い込んだ他の部品の裏面３０１が浮かんでいるように見えてしまう。
【００４８】
本発明では、この食い込みの見えてしまう部分ができるだけ少なくなるような方法を用いる。その手順を図６に示す。
【００４９】
まず、ステップ（Ａ）で、前処理として、モデルを読込んだ直後にすべての部品について、バウンディングボックスを求めておく。バウンディングボックスとは、部品を囲む最小の箱形でｘｙｚ各軸に平行な稜線を持つもので、二点（Ｘmin ，Ｙmin ，Ｚmin ），（Ｘmax ，Ｙmax ，Ｚmax ）によって表現できる。
【００５０】
実際の表示処理では、クリッピング平面を有効にした状態で、ステップ（Ｂ）で、ステンシル・バッファという特殊な画像メモリを用いて描画処理を行い、結果として、ポリゴン裏面が見えている画素はステンシルの値が１に、表が見えている場所は０になるように処理を行う。これは、文献２で示されている方法で実現できる。
【００５１】
ここからが本発明による、食い込みを少なくする手法である。各部品について、ステップ（Ｃ）で、バウンディングボックスがクリッピング平面と交差するかどうかを判定する。交差していれば、他の部品の裏面が断面として表示される可能性があるので、その部品のポリゴン裏面を描く。これをステップ（Ｅ）で、すべての部品に対して行い、ステップ（Ｆ）で、描かれた結果を画像として主記憶に保存する。このときは、断面から離れた部品は全く描かれない。ステップ（Ｇ）では一旦画像メモリをクリアし、クリッピング平面を無効にして、ステップ（Ｉ）で、ステンシルの値が１になっている部分だけに保存した画像を描く。最後にステップ（Ｊ）で、クリッピング平面を有効にして、ステップ（Ｋ）で、すべての部品の表側を描く。
【００５２】
こうすることによって、図８に示すように、断面から離れた、いわば関係のない部品を表示から排除することができ、食い込みの数を少なくすることができる。
【００５３】
【発明の効果】
以上説明したように本発明によれば、ユーザが切断された三次元モデルが表示された表示画面上で任意の点を指定するだけで、この点が三次元座標系の測定点に置き換えられ、この測定点を通過する、三次元モデルの表面間の縦横寸法をその寸法線とともに表示することができる。このことにより、寸法線の２端点を一回ずつ指定する従来方法に比べ端点の設定操作が容易になるという効果が得られる。
【００５４】
また、ユーザの繰作により断面の位置を移動させるだけで、その断面位置に合わせて切断三次元モデルの表示が更新されるとともに、その移動先の断面位置に対応する測定点が自動的に求められ、この測定点を基に三次元モデルの表面間の縦横寸法の値および寸法線も自動的に更新されるので、連続して、多数の測定点における三次元モデル表面間の縦横寸法を調べることができる。
【００５５】
加えて、本発明によれば、三次元モデルを、これを構成する部品ごとに識別可能な色で断面を塗りつぶして表示することで、各部品を一目で識別することができるようになり、この面からも、操作性を向上できる。
【図面の簡単な説明】
【図１】本発明の実施形態である三次元グラフィックスシステムを実現するハードウェア構成を示すブロック図
【図２】図１のシステムの処理手順をユーザの操作と並行して示すフローチャート
【図３】三次元モデルの断面を表示する処理の手順を示すフローチャート
【図４】従来の断面キャッピングの表示例
【図５】本発明の断面キャッピングの表示例
【図６】他の部品の食い込みが断面部分に現れにくくする表示方法を示すフローチャート
【図７】部品の食い込みが多く現れる表示例
【図８】部品の食い込みを減らした表示例
【図９】三次元モデルの断面及び寸法線の表示例
【図１０】三次元モデルにおける断面の移動と寸法線の更新例
【図１１】三次元モデルにおける測定点の移動と寸法線の更新例
【図１２】三次元モデルにおける測定点の移動と寸法線の別の更新例
【符号の説明】
１      コンピュータ本体
２      表示装置
３      キーボード
４      マウス
１１      演算処理装置
１２      グラフィックス処理装置
１３      ディスク装置
１４      記憶媒体読込装置
【図１】
0004204713.tif 000002
【図２】
0004204713.tif 000003
【図３】
0004204713.tif 000004
【図４】
0004204713.tif 000005
【図５】
0004204713.tif 000006
【図６】
0004204713.tif 000007
【図７】
0004204713.tif 000008
【図８】
0004204713.tif 000009
【図９】
0004204713.tif 000010
【図１０】
0004204713.tif 000011
【図１１】
0004204713.tif 000012
【図１２】
0004204713.tif 000013