説明

コンピュータ画面上に表示されるオブジェクトを可視化する方法、プログラムおよびプロダクト編集システム

【課題】シーン中のオブジェクトの可視化の方法、プログラムおよび製品編集システムにおいて、シーン中の変更をユーザによりよく理解させ、エルゴノミクスを向上する。
【解決手段】本発明による方法は、アクティブオブジェクトまでの距離に従って対象オブジェクトの(描画プロパティのような)プロパティを変更する(S30)ことによって、オブジェクトの間の距離を示すことを目指す。通常、アクティブオブジェクトの所に光源がシミュレートされ加えられ、それに従ってシーンが動的に変更される(S30〜S50)。このような方法は、オブジェクトの間の距離の基本的具体化を回避する。したがって、外的要素のどの表示も必須ではなく、起こり得る干渉が防止される。さらに、本方法は、定義上、たとえば対象オブジェクトの描画の段階的変更を可能にする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ実施プログラムおよびシステムの分野に関し、より詳細には、コンピュータ画面上にオブジェクトを表示するGUI(グラフィカルユーザインタフェース)を提供するプロダクト編集システムに関する。
【背景技術】
【0002】
プロダクト設計をオーサリングするソフトウェアソリューションに関するコンピュータ支援設計、すなわちCADを含むようなプロダクト編集システムが公知である。同様に、CAEは、コンピュータ支援エンジニアリングを表す頭字語であり、たとえば、将来のプロダクトの物理的挙動をシミュレートするソフトウェアソリューションに関する。CAMは、コンピュータ支援製造を表し、通常、製造プロセスおよび操作を定義するソフトウェアソリューションを含む。
【0003】
本件特許出願人によってCATIAという商標で提供されているような、プロダクトを形成するオブジェクト(もしくはパーツ)またはオブジェクトからなるアセンブリの設計のためのいくつかの製品およびプログラムが市場に出回っている。こうしたCADシステムにより、ユーザ(たとえば、設計者)は、オブジェクトまたはオブジェクトからなるアセンブリの複雑な3次元(3D)モデルを構築し操作することができる。したがってCADシステムは、エッジまたは直線を用いて、場合によっては面を用いて、モデル化オブジェクトを表現する。直線またはエッジは、たとえば非一様有理Bスプライン(NURBS)など、様々なやり方で表すことができる。こうしたCADシステムは、パーツまたはパーツからなるアセンブリを、ほぼ幾何形状の仕様であるモデル化オブジェクトとして管理する。具体的には、CADファイルは、幾何形状を生成するための仕様を含み、幾何形状が表現を生成させる。幾何形状および表現は、単一のCADファイルまたは複数のCADファイルに格納することができる。CADシステムは、設計者に対するモデル化オブジェクトを示すグラフィックツールを含む。こうしたツールは、複雑なオブジェクトの表示専用である。CADシステムにおいて、オブジェクトを表すファイルの典型的なサイズは、1つのパーツにつき1メガバイトの範囲であり、アセンブリは、数千のパーツを含むことができる。CADシステムは、オブジェクトのモデルを管理し、こうしたモデルは電子ファイルに格納される。
【0004】
コンピュータ支援技法において、GUI(グラフィカルユーザインタフェース)は、技法の効率に関して重要な役割を果たす。具体的には、GUIは、ユーザ/コンピュータ対話をもたらす。
【0005】
CADシステムの観点から見ると、オブジェクトは基本的に、少なくとも名称を含むファイルである。こうしたファイルは、データベース上に格納することができる。データベースは、様々なデータ処理操作と併せてデータの格納、取出し、変更、および消去を容易にするように構造化される。データベースは概して、レコードに分解することができる1つのファイルまたは1組のファイルからなり、レコードはそれぞれ、1つまたは複数のフィールドからなる。フィールドは、データ記憶の基本単位である。ユーザは、主に照会によりデータベース情報を取り出す。キーワードおよびソートコマンドを使って、ユーザは、多くのレコード中のフィールドを素早く探索し、並べ直し、グループ化し、選択して、使われているデータベース管理システムの規則に従って特定のデータ集合についてのレポートを取り出し、または作成することができる。
【0006】
CADシステムは、ユーザに対してモデル化オブジェクトを表すグラフィックツールを含む。モデル化オブジェクトは、オブジェクトの間の空間的関係が定義されるシーン中に表される。シーンは、少なくとも2つのオブジェクトからなる。こうしたグラフィックツールは、複雑なオブジェクトの作成、表示、変更に専用である。具体的には、オブジェクト、またはオブジェクトのパーツのプロパティの変更は、オブジェクトのプロパティを決定する1つまたは複数のパラメータの変更により行うことができる。オブジェクトのプロパティは、オブジェクトの1組の属性、つまり、オブジェクトを表す1組の品質または特徴である。1つまたは複数のパラメータの変更は、オブジェクトに対するグラフィックツールのアクションから生じる場合がある。このようなケースでは、オブジェクトのプロパティの変更は、変更が保存されるので永続変更である。たとえば、ユーザは、立方体オブジェクトの荒いエッジに丸みをつけるように、フライス加工ツールを使うことができる。フライス加工ツールは、立方体オブジェクトの1つまたは複数のパラメータに作用し、オブジェクトの幾何プロパティを変更する。たとえば、フライス加工ツールは、立方体オブジェクトのエッジをフライス加工する。したがって、立方体オブジェクトの1つまたは複数のパラメータに対してフライス加工ツールによって実施される変更は、永続変更である。
【0007】
ただし、ユーザが、オブジェクトの1つまたは複数のプロパティの容易な段階的変更を望む場合もあるし、前記プロパティの動的変更を望む場合もある。たとえば、ユーザが、フライス加工ツールと立方体オブジェクトとの間の距離に従って、立方体オブジェクトの幾何プロパティに対するフライス加工ツールの段階的アクションを望む場合がある。
【0008】
したがって、コンピュータ画面上に表示されるオブジェクトの可視化の分野における重要な1つの問題は、ユーザが、このオブジェクトと別のオブジェクト、すなわち対象オブジェクト(所与のオブジェクト)に対して作用するアクティブオブジェクト(たとえば、ツール)との間の距離に従って、シーンに表示される所与のオブジェクトを移動し、またはオブジェクトのプロパティを変更することを望む場合があることである。
【0009】
あるオブジェクトと別のオブジェクトとの間の距離の算定の問題について、本明細書で論じてきた。いくつかのソリューションでは、シーンに表示される2つのオブジェクトの間の距離の測定を可能にする。
【0010】
シーンに表示される2つのオブジェクトの間の距離を設計者が測定することを可能にするために、本明細書で論じるソフトウェアのほとんどは、オブジェクトを識別する手段を提供する。実際、距離の測定は、少なくとも2つのオブジェクトが識別される場合に可能であるに過ぎない。概して、ソフトウェアは、画面の法線方向において最も近いオブジェクトまたはオブジェクトのパーツを選択することを可能にする「選択モード」と呼ばれる専用モードを用いる。
【0011】
伝統的には、選択されたオブジェクトは、どのようなオブジェクトが選択されるかを設計者に視覚的に示すようにハイライトされる。ただし、このようなソリューションは、様々な理由により、上記問題に効率的に応えていない。たとえば、選択は、シーン中の3Dオブジェクトではないマウスカーソルに基づく。したがって、カーソルは、画面の2D面内を移動するだけである。したがって、選択は、面の法線方向にある第1のオブジェクトに制限される。さらに、このような選択プロセスでは、オブジェクト属性は変更されず、選択されたオブジェクトにオーバーレイが追加されて選択が可視的になることに留意されたい。
【0012】
オブジェクトまたはオブジェクトのパーツが「選択モード」により設計者によって選択されると、2つのオブジェクトの間の距離を測定することができる。
【0013】
2つのオブジェクトの間の距離を測定する第1の公知のソリューションは、3Dの自然な像を再現する立体視である。このソリューションは、視点をわずかにずらした2つの画像を計算し、次いで、2つの画像を重ねるものである。有用なものとするために、設計者は、特殊な眼鏡をかける必要がある。要するに、この方法は、2倍の計算を必要とする(フレームごとに単一の画像ではなく2つの画像が要求される)。この方法は、特定の装置をさらに必要とする。最後に、人間の視覚に似せることに主として焦点を当てているので、正確な情報を提供することができず、実際に提供していない。
【0014】
第2のソリューションは、投影壁に依拠する。投影壁は、軸平行でありシーンの境界を定める面である。こうした壁は、オブジェクトの2D投影を表示するのに使われる。この技法は、上述したオブジェクト選択に関する問題を解決する。ただし、表示がシーンに十分に統合される場合でも、視覚上は非常に複雑になる。さらに、各投影を別々にとるのは、距離に関する厳密な情報を集めるのに十分ではない。
【0015】
第3のソリューションは、選択された2つのオブジェクトの間の距離が画面上で「物理的に」具現化されるパネルの表示に依拠する。ここで、オブジェクトセットのリストを介した選択、または専用の手段(たとえば、マウスポインタ)での、シーンにあるオブジェクトの直接選択を含む、オブジェクトの様々な選択方式が利用可能である。このようなソリューションは、厳密な結果をもたらすにも関わらず、いくつかの重大な欠点を提示する。たとえば、オブジェクトの選択は、複数のオブジェクトまたはオブジェクトのパーツを含む大規模なシーンでは面倒な場合がある。もう1つの欠点は、オブジェクトの間の距離を示すパネルが、画面上に表示され、たくさんの視覚部分をとることがあり、シーン中のオブジェクトがパネルによって部分的または全体的に隠されるので、情報がシーンに統合されないことである。
【0016】
先に言及した欠点を解消するために、別のソリューションが開発されている。シーン中でのパネルの表示を避けるために、このソリューションは、測定の結果をシーンに直接表示することを本質とする。この目標を達成するために、対象となっているオブジェクトの間の直線が描かれ、この直線が描かれると、数値が直線上に表示され、測定の結果を示す。ただし、このようなソリューションには、いくつかの欠点がある。これについて、公知のソリューションを図2に示す。この図に示すように、2つのオブジェクト、すなわち立方体および球体は、グラフィカルユーザインタフェースに表示されるシーンのパーツである。球体と立方体との間の距離を測定するために、矢印が描かれる。矢印は、2つのオブジェクトをつなげ、より厳密には、矢印は、表示される2つのオブジェクトの一方にそれぞれが属する2つの点、すなわち球体の中心と、球体の手前にある立方体の面の点とを結ぶ。矢印が描かれると、対応する距離が専用のバナー上に表示される。
【0017】
したがって、距離の測定は、矢印を判定する、選択された点に依存する。矢印の作成は、特にユーザが3Dシーンにおいて点を位置決めしなければならないときは、困難な場合がある。たとえば、図2に示すように、ユーザは、球体の中心を、グラフィカル指示のおかげで容易に選択することができる。反対に、ユーザが立方体と、立方体に面する球体の最も近い点との間の距離を測定したい場合、このような点の選択は直観的でない。
【0018】
さらに、シーンが複数のオブジェクトを含む場合、およびユーザがシーンのオブジェクトの間のいくつかの距離を測定したい場合、それぞれの数の矢印が判定され描かれなければならない。こうすることにより、矢印は、互いと交差する場合があり、適切なデータの解釈が危うくなる場合がある。
【0019】
したがって、現在のプロダクト編集システムでは、このオブジェクトと別のオブジェクトとの間の距離に従って、シーンに表示されるオブジェクトのプロパティを変更することが可能ではない。
【0020】
したがって、上で簡単に論じた既存のソリューションの制限により、コンピュータ画面上のシーンに表示されるオブジェクトを可視化し、シーンに表示されるオブジェクトの間の距離に従ってシーンのプロパティを変更する改良型方法が必要である。
【発明の概要】
【課題を解決するための手段】
【0021】
本発明は、したがって、コンピュータ画面上に表示されるオブジェクトの可視化のコンピュータ実施方法を提供する。オブジェクトは、プロダクト編集システムのグラフィカルユーザインタフェース内のシーンに表示される。この方法は、
・シーンに表示される少なくとも2つのオブジェクトの中から第1のオブジェクトおよび第2のオブジェクトを識別するステップであって、第1のオブジェクトはアクティブオブジェクトとして識別される、ステップと、
・第1のオブジェクトと第2のオブジェクトとの間の距離に従って、第2のオブジェクトのプロパティを変更するステップと、
・第2のオブジェクトの変更されたプロパティに従って、シーンを変更するステップとを含む。
【0022】
本方法は、以下の特徴の1つまたは複数を含み得る。
【0023】
・第2のオブジェクトのプロパティを変更するステップおよびシーンを変更するステップは、シーン中の第1のオブジェクトをユーザが作動させるのに伴って実施される。
【0024】
・オブジェクトを識別するステップにおいて、第1のオブジェクトは、ユーザが第1のオブジェクトを作動させると第2のオブジェクトに作用するツールである。
【0025】
・本方法は、プロパティを変更するステップにおいて、変更されるプロパティは、シーンにある前記第2のオブジェクトの描画プロパティであることをさらに含み、シーンを変更するステップは、変更されたプロパティに従って、シーンにある前記第2のオブジェクトの描画を変更することを含む。
【0026】
・本方法は、第2のオブジェクトのプロパティを変更するステップおよびシーンを変更するステップにおいて、第1のオブジェクトの所で加えられる光源の効果をシミュレートすることをさらに含み、そうすることによって前記プロパティは、シミュレートされた光源に従って変更される。
【0027】
・シミュレートするステップにおいて、光源の効果は、第1のオブジェクトの場所に従ってシミュレートされ、シミュレーションは、第1のオブジェクトの構成および/または幾何形状を無視する。
【0028】
・シーンを変更するステップは、シミュレートされる光源とは別個に第1のオブジェクトを描画することをさらに含む。
【0029】
・プロパティを変更するステップ、および/またはシーンを変更するステップは、第2のオブジェクトを描画するシェーダプログラムを実行することをさらに含み、第1のオブジェクトは、前記シェーダとは別個に描画される。
【0030】
・プロパティを変更するステップは、第2のオブジェクトの表面の鏡面反射率を変更することを含む。
【0031】
・プロパティを変更するステップは、第2のオブジェクトの表面の表面法線を変更することを含む。
【0032】
・プロパティを変更するステップは、第1のオブジェクトおよび第2のオブジェクトによって定義される方向に従って、第2のオブジェクトのプロパティを変更することをさらに含む。
【0033】
・プロダクト編集システムはデータベースを備え、データベースは前記オブジェクトの仕様を含み、仕様は、前記オブジェクトの幾何形状および表現の生成を可能にし、本方法は、変更されたプロパティを前記データベース上に格納するステップをさらに含む。
【0034】
・プロダクト編集システムはデータベースを備え、データベースは前記オブジェクトの仕様を含み、仕様は、前記オブジェクトの幾何形状および表現の生成を可能にし、変更されたプロパティを前記データベース上に格納せずに、変更されたプロパティをメモリ上に格納するステップをさらに含む。
【0035】
・シーンは、3次元オブジェクトシーンである。
【0036】
・識別するステップは、第1のオブジェクトが、デフォルトで、またはユーザ選択により、アクティブオブジェクトとして識別されることを含む。
【0037】
・プロパティを変更するステップは、描画プロパティ、幾何プロパティ、および物理プロパティのうち、1つまたは複数のプロパティを変更することを含む。
【0038】
本発明は、コンピュータ画面上に表示されるオブジェクトの可視化のコンピュータ実施方法をさらに提供する。オブジェクトは、プロダクト編集システムのグラフィカルユーザインタフェース内のシーンに表示される。この方法は、
・シーンに表示される少なくとも2つのオブジェクトの中から第1のオブジェクトおよび第2のオブジェクトを識別するステップであって、第1のオブジェクトがアクティブオブジェクトとして識別される、ステップと、
・第1のオブジェクトと第2のオブジェクトとの間の距離に従って第2のオブジェクトのプロパティを変更するステップであって、変更されるプロパティは、シーンにある前記第2のオブジェクトの描画プロパティの一時変更である、ステップと、
・第2のオブジェクトの一時的に変更されたプロパティに従ってシーンを変更するステップとを含み、
第1のオブジェクトは、ユーザが第1のオブジェクトを作動すると第2のオブジェクトのプロパティの永続変更を実施する、第2のオブジェクトに作用するツールである。
【0039】
本発明は、さらに、コンピュータ可読媒体に格納されたコンピュータプログラムであって、前記コンピュータプログラムがロードされたコンピュータに、本方法のステップすべてをとらせるコード手段を備える、プロダクト編集システムのグラフィカルユーザインタフェース中にオブジェクトを表示するコンピュータプログラムに関する。
【0040】
本発明は、さらに、本方法のステップすべてを実施するためのプログラムコード手段を備えるプロダクト編集システムに関する。
【図面の簡単な説明】
【0041】
【図1】CADのようなGUI(グラフィカルユーザインタフェース)の例を示す図である。
【図2】従来技術のソリューションを示す図である。
【図3】本発明を実施するプロセスを示すフローチャートである。
【図4A】本発明が実施される、2つのオブジェクトからなるシーンを示す概略図である。
【図4B】本発明が実施される、2つのオブジェクトからなるシーンを示す概略図である。
【図4C】本発明が実施される、2つのオブジェクトからなるシーンを示す概略図である。
【図4D】本発明が実施される、2つのオブジェクトからなるシーンを示す概略図である。
【図5】本発明の一実施形態に従って表示することができる、図1のグラフィカルユーザインタフェース内のシーン中のアクティブオブジェクトを例示する図である。
【発明を実施するための形態】
【0042】
次に、本発明を実施するシステムについて、非限定的例として、添付の図面を参照して説明する。
【0043】
本発明は、シーン中のオブジェクトの可視化の方法を対象とする。本発明による方法は、アクティブオブジェクトまでの距離に従って対象オブジェクトの(描画プロパティのような)プロパティを変更することによって、オブジェクトの間の距離を示すことを目指す。
【0044】
通常、アクティブオブジェクトの所に光源がシミュレートされ加えられ、それに従ってシーンが動的に変更される。このような変更は、オブジェクトプロパティの変更が保存されないので、「一時変更」または「描画変更」と呼ばれる。このような方法は、オブジェクトの間の距離の基本的具体化を回避する。したがって、外的要素のどの表示も必須ではなく、起こり得る干渉が防止される。さらに、シーンにある外的要素を計算する必要はない。その結果、計算資源が保護され、たとえば、システムの他の機能に割り振ることができる。したがって、システムの全体的処理性能が向上される。重要なこととして、ユーザは、シーンにあるただ1つのオブジェクト、すなわちアクティブオブジェクトを識別する。その結果、識別ステップには比較的時間がかからず、ユーザは他の作業に集中することができる。さらに、このような方法は、定義上、たとえば対象オブジェクトの描画の段階的変更を可能にする。したがって、シーンにおける変更がユーザによってよりよく理解され、ユーザには対象物に対するより優れた制御が与えられる。
【0045】
オブジェクトのプロパティは、オブジェクトの1組の属性、つまり、オブジェクトを表す1組の品質または特徴である。CADの分野において、オブジェクトのプロパティは、描画プロパティ、幾何プロパティ、および物理プロパティを指すが、それに限定されない。
【0046】
図1を参照すると、例示するグラフィカルユーザインタフェース(すなわち、GUI)100は、標準メニューバー110、120、ならびに下部およびサイドツールバー140、150を有する、典型的なCADのようなインタフェースでよい。このようなメニューバーおよびツールバーは、1組のユーザ選択可能アイコンを含む。各アイコンは、当該分野において公知である、1つまたは複数の操作または機能に関連づけられる。
【0047】
こうしたアイコンの一部は、GUI100に表示されるようなモデル化プロダクト200またはプロダクト200のパーツを編集し、かつ/または働きかけるように適合されたソフトウェアツールに関連づけられる。以下の説明において、「プロダクト」、「パーツ」、「アセンブリ」などは、分かりやすくするために「パーツ」と呼ばれる場合がある。「パーツ」という概念は実際には、「オブジェクト」という概念に一般化することができ、オブジェクトは、設計プロダクトの単なる「物理的」パーツでも、より全般的には、設計プロセスに関わる(ただし、必ずしも完成プロダクト「には」関わらない)どのソフトウェアツールでもよいことに留意されたい。
【0048】
ソフトウェアツールは、ワークベンチにグループ化することができる。各ワークベンチは、ソフトウェアツールのサブセットを備える。具体的には、ワークベンチの1つは、モデル化プロダクト200の幾何特徴の編集に適した編集ワークベンチである。操作の際、ユーザ(たとえば、設計者)はたとえば、オブジェクト200のパーツを予め選択し、次いで、操作を開始し(たとえば、次元、色などを変え)、または適切なアイコンを選択することによって幾何制約を編集することができる。たとえば、典型的なCAD操作は、画面上に表示される3Dモデル化オブジェクトの打抜きまたは折曲げというモデリングである。このような操作は、本発明による方法から多大な利益を受けることができる。
【0049】
GUIはたとえば、表示されるプロダクト200に関するデータ250を表示することができる。図1の例では、「特徴ツリー」として表示されるデータ250、およびその3D表現200は、ブレーキキャリパおよびディスクを含むブレーキアセンブリに関する。GUIはさらに、たとえば、オブジェクトの3D配向を容易にし、編集済みプロダクトの操作のシミュレーションをトリガする、様々なタイプのグラフィックツール130、400を示すことも、表示されるプロダクト200の様々な属性を描画することもできる。
【0050】
図3は、本発明の詳細な実施形態を反映するフローチャートを示す。この図を参照すると、この方法は、コンピュータ画面のシーンに表示されるオブジェクトの可視化をもたらすことを目指す。具体的には、本発明による方法は、第1のオブジェクトまでの距離に従って第2のオブジェクトの(たとえば描画プロパティのような)プロパティを変更することによって、オブジェクトの間の距離を算定することを目指す。
【0051】
距離とは、オブジェクトがどれだけ離れているかを記述したものである。つまり、距離は、2つのオブジェクトの間の分離の度合いである。距離は、物理的長さ、期間、または他の基準に基づく推定を指す。
【0052】
通常、オブジェクトは、図1を参照して説明したGUI中のシーンに表示される(ステップS10)。シーンは、オブジェクトの間の空間的関係が記述される空間である。シーンは、少なくとも2つのオブジェクトからなり、オブジェクトは、モデル化オブジェクトでも3次元(3D)モデル化オブジェクトでもよい。したがって、シーンが3Dモデル化オブジェクトからなる場合、そのシーンは、3D空間である。
【0053】
3次元(3D)モデル化オブジェクトとは、3次元(3D)空間におけるオブジェクトの記述である。3D空間とは、物質界の幾何モデルであり、このモデルは、座標を用いて3次元空間内のすべての点を記述する幾何形状によって数学的に表すことができる。ついでながら、3次元空間の他の記述法も存在する。3Dモデル化オブジェクトは本質的に、幾何形状が生成される仕様を指す。したがって、3Dモデル化オブジェクトとは、3Dオブジェクト、つまり、たとえば三角形、直線、曲面など、様々な幾何エンティティでつながれた、3D空間における点の集合体を示す数学的記述である。
【0054】
3Dモデル化オブジェクトは、3Dモデル化オブジェクトの3D表現で表される。概して、3D表現は、GUI中に表示され、したがって、シーン(すなわち、3Dシーン)に表示することができる。この表現は、モデルから画像を生成するプロセスとして一般に定義される描画(3D描画とも言う)の結果である。通常、3Dモデル化オブジェクトの生成は、3Dモデルオブジェクトを表すデータを計算することによって達成される。
【0055】
オブジェクトの描画は、オブジェクト自体には直接依存せず、オブジェクト描画を変更することになるパラメータを使って実施することができる。このような変更は、オブジェクトプロパティの変更が保存されないので、「一時変更」または「描画変更」と呼ばれる。反対に、オブジェクトのプロパティを変更することは、プロパティの変更が保存される場合は永続変更である。
【0056】
表現により、3Dモデル化オブジェクトに働きかけることが可能になり、つまり、ユーザは、表示される3D表現により3Dモデル化オブジェクトを構築し取り扱うことができる。たとえば、ユーザは、視点、3Dモデル化オブジェクトの表示される3D表現の視角をオンザフライで扱うことができる。対照的に、2D表現では、ユーザはこのような取扱いを行うことができない。
【0057】
実際には、シーンの第1のオブジェクトが、ステップS20に示すようにアクティブオブジェクトとして識別される。システムの観点から、前記アクティブオブジェクトは、このようなものとして識別される。シーンの第1のオブジェクトの識別は、ユーザ選択が起こると実施することができる。ユーザは、たとえばキーボード、マウス、スタイラスなどの力覚装置により選択を実施することができる。たとえば、2つのボタンをもつマウスでは、左ボタンは、アクティブオブジェクトの選択に使うことができよう。システムは、アクティブオブジェクトをデフォルトで、すなわちユーザ選択を必要とせずに識別することもできる。システムは、シーンに表示されるオブジェクトの中から1つまたは複数の第2のオブジェクトをさらに識別する。1つまたは複数の第2のオブジェクトは、操作を受けるべきオブジェクトであり、対象オブジェクトとも言う。その結果、シーンのオブジェクトは、ユーザによって、またはシステムによってデフォルトで識別されるアクティブオブジェクトと、システムによって識別される少なくとも1つの対象オブジェクトという2つのタイプにカテゴリ化することができる。
【0058】
本発明において実施される識別は、シーンに表示される1つまたは複数の対象オブジェクトをユーザが識別する必要がないので、当該分野において公知であるソリューションと比較して有利である。実際、対象オブジェクトを識別するのは、特にシーンが過密であり、または非常に接近し、またはオーバーラップするいくつかの対象オブジェクトを含むときは、ユーザにとって困難であり厄介な作業となる場合がある。
【0059】
通常、第1のオブジェクト、すなわちアクティブオブジェクトは、少なくとも1つの第2のオブジェクト、すなわち図1を参照して上で言及した対象オブジェクトに作用するツールである。それにも関わらず、また、例証目的でのみ、第1のオブジェクトはこれ以降、シーン中で識別される対象オブジェクトに作用し得るアクティブオブジェクトと見なされる。
【0060】
次に、ステップS30で、対象オブジェクトのプロパティが、アクティブオブジェクトと対象オブジェクトとの間の現在の距離に従って変更される。後で例示するが、問題となるプロパティは、描画プロパティでよいであろう。
【0061】
次いで、シーンは、ステップS40で、対象オブジェクトの変更されたプロパティに従って変更される。たとえば、対象オブジェクトの描画プロパティが影響を受ける。
【0062】
上で言及したように、このような方法では、基本的に画面中のオブジェクトの間の距離を具現化する必要はなく、そうすることによって外的要素の表示が破棄される。したがって、外的要素がシーンのビューに干渉しないので、ユーザは、外的要素によって妨害されず、自分の作業により集中しやすくなる。さらに、シーン(特に、オブジェクトの相対的な位置およびその中の透視)は、ユーザによってよりよく理解される。さらに、外的要素およびシーンでのその表示を計算する必要がない。結論として、計算資源が保護され、たとえば、他のタスクに割り振ることができる。
【0063】
好ましくは、対象オブジェクトのプロパティは、動的に、したがって段階的に変更される。つまり、対象オブジェクトおよびシーンのプロパティを変更するステップは、ユーザがシーン中のアクティブオブジェクトを作動させる(ステップS50)のに伴って実施される。実際には、ユーザがシーン中のアクティブオブジェクトを移動すると、アクティブオブジェクトと対象オブジェクトとの間のシーンにおける距離が変えられ、プロパティが、変化した距離に従って変更される。
【0064】
操作の際、アクティブオブジェクトの作動は、たとえばキーボード、マウス、スタイラスなどの力覚装置により実施することができる。ただし、アクティブオブジェクトの作動は、こうした装置に限定されず、当該分野において公知のいかなる適切な手段も使うことができる。
【0065】
したがって、シーンの段階的変更が達成され、それによってシーン中の変更がユーザにとって直観的になる。具体的には、動的プロセスにより、ユーザとの対話が向上する。すなわち、アクティブオブジェクト(または対象オブジェクト)を移動する(S60)ときでも、オブジェクトの相対的配置の変更がユーザにとって絶えず明らかになるので、ユーザは、対象オブジェクトをより動かしやすくなる。
【0066】
さらに、アクティブオブジェクトは、アクティブオブジェクトとして識別される第1のオブジェクトをユーザが作動すると第2のオブジェクトに作用を及ぼすツールでよい。図1を参照して上で言及したように、オブジェクトおよびシーンに働きかける様々なタイプのグラフィックツールがある。この場合、第2のオブジェクトに作用するツールは、第2のオブジェクトのプロパティの永続変更を実施し、つまり、プロパティの変更が保存される。
【0067】
通常、変更されるプロパティは、対象オブジェクトの描画プロパティである。したがって、シーンの変更は主に対象物の描画の変更に依拠する。この点において、描画は一般に、モデルから画像を生成するプロセスとして定義されることに留意されたい。モデルは、程度の差はあるが、網羅的な3Dオブジェクトの記述でよい。描画の結果は、このオブジェクトの一定の特性を示すオブジェクト可視化属性(色、透明度レベル、テクスチャ、照明パラメータ、陰影づけなど)に当てはまる代替的な可視化を示す。こうした特性は、物理特性、電気抵抗特性、または可能性としては他の特性でもよい。
【0068】
したがって、ユーザがシーン中のアクティブオブジェクトを作動させると、対象オブジェクトの描画が動的に変更される。したがって、ユーザは、対象オブジェクトのプロパティにおける変更を容易に、段階的に把握することができる。たとえば、ユーザは、立方体オブジェクト(対象オブジェクト)の粗いエッジに丸みをつけるようにフライス加工ツール(アクティブオブジェクト)を使う場合、立方体オブジェクトに対してフライス加工ツールによって実施される変化を、容易に段階的に見ることができる。
【0069】
さらに、本方法は、アクティブオブジェクトに加えられる光源の効果のシミュレーションを含んでもよい。この場合、問題となるプロパティは、シミュレートされる光源に従って変更される。
【0070】
好ましくは、ユーザは、ツールである、シーン中のアクティブオブジェクトの上で選択および作動を行う。ツール上で作動が行われると、オブジェクトの距離の変化を動的に表すための描画変更(または一時変更)が実施される。変更されたシーン描画に基づいて、ユーザは、オブジェクト間の距離がユーザの要求を満たすと推定することができる。その結果ユーザは、オブジェクトプロパティの永続変更をシステムに依頼することができる(たとえば、ツールは、対象オブジェクトperformに働きかける)。このように、一時的描画変更により、ユーザは、実施するべき、時間のかかる距離に基づくオブジェクト変更のリアルタイムの直観的視覚フィードバックを得ることができる。
【0071】
光源はここでは、(特に、対象オブジェクトの物理プロパティをシミュレートする際は)どのような電磁波源や熱源も意図する。ユーザは、距離を判定するために点のペアを事前に選択する必要なく、相対距離の変化を絶えず自然に見ることができる。さらに、光源のシミュレーションは、ユーザが干渉なしで同時に感知することができる、対象オブジェクトの表面にある多くの点(理論上、無限大)を照らすことになる。
【0072】
光源の効果は、アクティブオブジェクトの場所に従ってシミュレートされるが、シミュレーションは、アクティブオブジェクトの構成および/または幾何形状を無視することが好ましい。したがって、シミュレートされる光源は対象オブジェクトに達することができる。すなわち対象オブジェクトは、光源がアクティブオブジェクト「内に」位置決めされる場合でも、アクティブオブジェクトによって照明を施される。したがって、本実施形態では、光源は、アクティブオブジェクトおよびそれに従って描画される周辺オブジェクトに単に加えられるのではなく、光シミュレーションの観点から、アクティブオブジェクトはシーンにはないと見なされる。たとえば、ラスター化プロセスにおいてシミュレートされる光源は、メッシュの内側に入れられたとしても、アクティブオブジェクトの幾何形状によって遮られない。コンピュータグラフィックスの分野では、ラスター化は、ベクトルグラフィックス形式で記述される画像を撮影し、ディスプレイでの出力用にラスター画像に変換するタスクである。
【0073】
さらに、アクティブオブジェクトは、好ましくはシミュレートされる光源とは別個に描画することができる。したがって、基本的に、アクティブオブジェクトは、シーン中のオブジェクトをユーザによってより区別し易くするために、他のどの対象オブジェクトとしても照明されない。したがって、ユーザはさらに、光源がアクティブオブジェクトの中に囲まれる場合でも、アクティブオブジェクトを通過し得る光によって妨害されることなく、アクティブオブジェクトを見ることができる。
【0074】
好ましくは、対象オブジェクトおよび/またはシーンのプロパティは、シェーダの実行により変更することができる。コンピュータグラフィックスの分野において、シェーダとは、グラフィック資源によって、主に描画効果を実施するのに使われる、1組のソフトウェア命令である。したがって、シェーダプログラムは、対象オブジェクトの描画を得るように実行される。ここでは、アクティブツールは、シーン中の対象オブジェクトを描画するのに使われるシェーダプログラムに依存せずに描画されるのが好ましい。結論として、アクティブオブジェクトが、対象オブジェクトを描画するのに使われるシェーダに依存せずに描画されるので、計算資源が保護される。
【0075】
さらに、対象オブジェクトのプロパティの変更は、オブジェクト表面の鏡面反射率の変更を含めることができる。3D描画の分野において、鏡面性とは、表面が有する鏡面反射率の量を表す数量である。このようなプロパティは、ハイライトのサイズを決定するための光沢とともに、鏡面ハイライトの明るさを決定するのに使われる。さらに、点光源からの直接的な光の鏡面反射は、鏡面ハイライトとしてモデル化される。その結果、光の鏡面反射の計算が鏡面ハイライトの計算として少ない計算資源しか必要としないので、いくつかの計算資源が保存される。
【0076】
対象オブジェクトのプロパティの変更は、表面の表面法線(または単に法線)の変更も含むことができることが好ましい。コンピュータグラフィックスの分野において、法線は、平らな陰影づけのための光源への表面の配向、または曲面を模造するために隅(頂点)それぞれの配向を判定するのに使われる。したがって、法線は、照明算出に使われる。
【0077】
より全般的には、変更されたプロパティは、描画プロパティ、幾何プロパティ、および物理プロパティというプロパティの中から選ぶことができる。描画プロパティは、たとえば色、透明度レベル、テクスチャ、照明パラメータ、陰影づけなどの属性によって特徴づけることができる、オブジェクトの可視化に関する幾何プロパティは、図形のサイズ、形状、および相対的な位置に関し、空間のプロパティと関連する。物理プロパティは、オブジェクトまたは実体の識別を変えずに測定することも知覚することもできる、オブジェクトまたは実体のどの側面でもよい。本発明は、上で引用したプロパティに限定されず、対象オブジェクトのどのプロパティも変更され得る。
【0078】
対象オブジェクトのプロパティは、アクティブオブジェクトおよび対象オブジェクトまでの距離に加え、こうしたオブジェクトによって定義される方向に従って変更することができることが好ましい。これは通常、無指向性光ではなく指向性光がシミュレートされるときに起こる。そうすることによって、ユーザは、対象オブジェクトに対してよりうまく焦点を当てられるようになる。
【0079】
通常、プロダクト編集システムは、シーンに表示されるオブジェクトの仕様を含むデータベースを備える。具体的には、データベースに格納されたオブジェクトの仕様により幾何形状が生成され、幾何形状により、オブジェクト表現が生成される。変更されたプロパティは、同じデータベース上に格納することもアップデートすることもできることが好ましい。
【0080】
変形版では、変更されたプロパティは、プロセスを高速化するために、揮発性メモリ上に格納することができる。
【0081】
先に言及したように、オブジェクトは、シーンに表示される。通常、シーンは、3次元オブジェクトシーンである。
【0082】
実際には、ユーザは最初に、第1のアクティブオブジェクトを選択することができ、そうすることによって、光源が自動的に前記アクティブオブジェクトに加わる。ユーザは次いで、別のアクティブオブジェクトに切り換えることができ、そうすることによって、光源は、現在選択されているアクティブオブジェクトに自動的に加わる(ステップS70)。したがって、システムは、光源を加えるべき場所を自動的に決定する。たとえば、システムは、光源がアクティブオブジェクトの重心に加えられると決定することができる。光源の場所は重心に限定されず、適切などの場所も、システムによって自動的に選択することができる。
【0083】
ついでながら、ユーザは、選択されたアクティブオブジェクト上で光源が加えられる場所を選ぶことができる。実際、アクティブオブジェクトは、ユーザが光源を加えることを望み得るいくつかの場所を提示することができる。選択されたツール上の、光源を加えるべき場所の自由な選択により、光源の場所がユーザの選択を反映するので、ユーザとシーンとの間の対話が向上する。場所の選択は、たとえばキーボード、マウス、スタイラスなどの力覚装置により実施することができる。場所の選択はこうした装置に限定されず、当該分野において公知である適切などの手段によっても実施することができる。
【0084】
変形版では、第1のオブジェクトは、人間工学的状況に依存して、デフォルトでアクティブオブジェクトとして識別することができる。
【0085】
図4A、4B、4C、4Dは、図3のフローチャートにおける本発明のステップS20〜S50の結果を例示する。ここでは、2つのオブジェクト(500〜600)が企図される。こうしたオブジェクトは、通常は図1に示すようなプロダクト編集システムのグラフィカルユーザインタフェース中のコンピュータ画面上に表示されることを意図するが、ここに表される3次元オブジェクトシーンは、2つのオブジェクト500、600のみに制限する。
【0086】
図4Aは、初期ビューを表す。アクティブオブジェクトとして識別される第1のオブジェクト500は、球形形状である。対象オブジェクトとして識別される第2のオブジェクト600は、立方体である。アクティブオブジェクト500は、立方体に作用することを意図したツールである。たとえば、このツールは、立方体に形状を与える、先に言及したフライス加工ツールである。
【0087】
図4に示す実施形態において、ツールの選択は、上で言及した事前のユーザ選択(図示せず)の結果である。
【0088】
光源はここでは、ツールの所でシミュレートされ加えられる。電磁波源または熱源も、ツールに加えることができることに留意されたい。ただし、ここで、ユーザは、相対距離の変化を絶えず見ることができる利点がある。上述したように、シミュレーションでは好ましくは、先に見たように計算資源を保護するように、ツールの構成および/または幾何形状を無視する。
【0089】
次に、光源のシミュレーションは、ここでは図形を輪郭線で示す、立方体(対象オブジェクト)の鏡面性700に影響を与える。立方体の描画は、それに従って影響を受ける。
【0090】
図4B〜4Dにおいて見られるように、ユーザがツール(アクティブオブジェクト)を立方体の面の近くに徐々に移動する間、鏡面性は段階的に影響を受ける。最後の図(図4D)において、それ以上の光反射が現れないので、ユーザは、ツールが立方体に接触しているかまたはまさに接触するところであることを知らされる。したがって、一時的描画変更により、ユーザは、ツールと立方体の面との間の距離のリアルタイムな直観的視覚フィードバックを得ることができ、その結果ユーザは、オブジェクトプロパティの永続変更をシステムに依頼することができる(たとえば、ツールは、対象オブジェクトperformに働きかける)。このような段階的図示は、伝統的な、矢印に基づく距離の図示では不可能であることに留意されたい。
【0091】
したがって、ユーザは、アクティブオブジェクト(ツール)と対象オブジェクト(立方体)との間の距離を、容易に、段階的に、および動的に算定することができる。このように、アクティブオブジェクトと対象オブジェクトとの間の距離のユーザ知識、およびより全般的にはシーンのユーザ知識が向上される。
【0092】
図5は、天井700近くの中間に配置されるツール500(ここでは白色)の典型的なスクリーンショットを示す。天井が優勢的に照らされるが、シーン中の他のオブジェクト600、620、700aも、影響を受け得る。ただし、描画は、関係のある相対距離に依存するので、ユーザは、問題となっている各オブジェクトの相対的状況を容易に把握することができる。したがって、シーンは、ユーザによってよりよく理解される。
【0093】
上記方法は、CAD/CAM/CAEシステム、またはオブジェクトのビューを可変視点から表示するのに使われるどのシステムによっても定義されることが可能などの構成のどのオブジェクトにも適用できることを理解されたい。本発明は、デジタル電子回路機構でも、コンピュータハードウェア、ファームウェア、ソフトウェアでも、これらの組合せでも実装することができる。本発明の機器は、プログラム可能プロセッサによる実行のために、マシン可読記憶装置として有形に実施されるコンピュータプログラム製品で実装することができる。また、本発明の方法ステップは、入力データに作用し、出力を生成することによって、本発明の機能を実施するための命令からなるプログラムを実行するプログラム可能プロセッサによって実施することができる。
【0094】
本発明は、データ記憶システム、少なくとも1つの入力装置、および少なくとも1つの出力装置との間でデータおよび命令を受信し、データおよび命令を伝送するように結合された少なくとも1つのプログラム可能プロセッサを含むプログラム可能システム上で実行可能な1つまたは複数のコンピュータプログラムで実装できることが好ましい。アプリケーションプログラムは、所望される場合、高度な手続き型言語またはオブジェクト指向プログラミング言語でも、アセンブリ言語またはマシン言語でも実装することができる。いずれのケースでも、言語は、コンパイラ型言語でもインタープリタ型言語でもよい。
【0095】
概して、プロセッサは、読出し専用メモリおよび/またはランダムアクセスメモリから命令およびデータを受信することになる。コンピュータプログラム命令およびデータを有形に実施するのに適した記憶装置は、例として、EPROM、EEPROM、およびフラッシュメモリ装置などの半導体メモリ装置と、内部ハードディスクおよび取外し可能ディスクなどの磁気ディスクと、光磁気ディスクと、CD−ROMディスクとを含む、あらゆる形の不揮発性メモリを含む。上記のいずれも、特殊設計ASIC(特定用途向け集積回路)によって補完することも、それに組み込むこともできる。
【0096】
本発明の好ましい実施形態について説明した。本発明の精神および範囲から逸脱することなく、様々な変更を行うことができることが理解されよう。したがって、他の実装形態も、添付の請求項の範囲内である。たとえば、電磁波源や熱源、ならびに重力源など、他のオブジェクトのプロパティに影響し、または対話することができるどのソースも、ツールの所に加えることができよう。

【特許請求の範囲】
【請求項1】
コンピュータ画面上に表示されるオブジェクトの可視化のコンピュータ実施方法であって、前記オブジェクトは、プロダクト編集システムのグラフィカルユーザインタフェース内のシーンに表示される(S10)方法において、
・前記シーンに表示される少なくとも2つのオブジェクトの中から第1のオブジェクトおよび第2のオブジェクトを識別するステップであって、前記第1のオブジェクトはアクティブオブジェクトとして識別される、ステップ(S20)と、
・前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に従って、前記第2のオブジェクトのプロパティを変更するステップ(S30)と、
・前記第2のオブジェクトの前記変更されたプロパティに従って、前記シーンを変更するステップ(S40)と
を含むことを特徴とする方法。
【請求項2】
前記第2のオブジェクトのプロパティを変更するステップおよび前記シーンを変更するステップは、前記シーン中の第1のオブジェクトをユーザが作動させる(S50)のに伴って実施されることを特徴とする請求項1に記載の方法。
【請求項3】
前記オブジェクトを識別するステップにおいて、前記第1のオブジェクトは、ユーザが前記第1のオブジェクトを作動させると前記第2のオブジェクトに作用する(S60)ツールであることを特徴とする請求項2に記載の方法。
【請求項4】
・前記プロパティを変更するステップにおいて、変更される前記プロパティは、前記シーンにある第2のオブジェクトの描画プロパティであり、
・前記シーンを変更するステップは、前記変更されたプロパティに従って、前記シーンにある第2のオブジェクトの描画を変更するステップを含む
ことを特徴とする請求項1、2または3に記載の方法。
【請求項5】
前記第2のオブジェクトのプロパティを変更するステップ、および前記シーンを変更するステップは、前記第1のオブジェクトの所で加えられる光源の効果をシミュレートするステップを含み、
前記プロパティは、前記シミュレートされた光源に従って変更される
ことを特徴とする請求項1から4のいずれか一項に記載の方法。
【請求項6】
・前記シミュレートするステップにおいて、前記光源の効果は、前記第1のオブジェクトの場所に従ってシミュレートされ、前記シミュレーションは、前記第1のオブジェクトの構成および/または幾何形状を無視することを特徴とする請求項5に記載の方法。
【請求項7】
前記シーンを変更するステップは、シミュレートされる前記光源とは別個に前記第1のオブジェクトを描画するステップをさらに含むことを特徴とする請求項5または6に記載の方法。
【請求項8】
前記プロパティを変更するステップ、および/または前記シーンを変更するステップは、前記第2のオブジェクトを描画するシェーダプログラムを実行するステップをさらに含み、
前記第1のオブジェクトは、前記シェーダとは別個に描画される
ことを特徴とする請求項7に記載の方法。
【請求項9】
前記プロパティを変更するステップは、前記第2のオブジェクトの表面の鏡面反射率を変更するステップを含むことを特徴とする請求項5から7のいずれか一項に記載の方法。
【請求項10】
前記プロパティを変更するステップは、前記第2のオブジェクトの表面の表面法線を変更するステップを含むことを特徴とする請求項5から7のいずれか一項に記載の方法。
【請求項11】
前記プロパティを変更するステップは、前記第1のオブジェクトおよび前記第2のオブジェクトによって定義される方向に従って、前記第2のオブジェクトのプロパティを変更するステップをさらに含むことを特徴とする請求項1から10のいずれか一項に記載の方法。
【請求項12】
前記プロダクト編集システムはデータベースを備え、前記データベースは前記オブジェクトの仕様を含み、前記仕様は、前記オブジェクトの幾何形状および表現の生成を可能にし、
前記方法は、
・前記変更されたプロパティを前記データベース上に格納するステップをさらに含むことを特徴とする請求項10に記載の方法。
【請求項13】
前記プロダクト編集システムはデータベースを備え、前記データベースは前記オブジェクトの仕様を含み、前記仕様は、前記オブジェクトの幾何形状および表現の生成を可能にし、
前記方法は、
・前記変更されたプロパティを前記データベース上に格納せずに、前記変更されたプロパティをメモリ上に格納するステップをさらに含むことを特徴とする請求項10に記載の方法。
【請求項14】
前記シーンは、3次元オブジェクトシーンであることを特徴とする請求項1から13のいずれか一項に記載の方法。
【請求項15】
前記識別するステップにおいて、前記第1のオブジェクトは、デフォルトで、またはユーザ選択により、アクティブオブジェクトとして識別される(S70)ことを特徴とする請求項1から14のいずれか一項に記載の方法。
【請求項16】
前記プロパティを変更するステップは、
・描画プロパティ、
・幾何プロパティ、および
・物理プロパティのうち、1つまたは複数のプロパティを変更するステップを含むことを特徴とする請求項1から15のいずれか一項に記載の方法。
【請求項17】
前記第2のオブジェクトに作用するツールは、前記第2のオブジェクトの前記プロパティの永続変更を実施することを特徴とする請求項3に記載の方法。
【請求項18】
・前記第1のオブジェクトと前記第2のオブジェクトとの間の距離に従って前記第2のオブジェクトのプロパティを変更するステップにおいて、変更される前記プロパティは、前記シーンにある第2のオブジェクトの描画プロパティの一時変更であり、
・前記シーンを変更するステップは、前記一時的に変更されたプロパティに従って、前記シーンにある第2のオブジェクトの描画を一時的に変更するステップを含むことを特徴とする請求項4から17のいずれか一項に記載の方法。
【請求項19】
コンピュータ可読媒体に格納されたコンピュータプログラムであって、前記コンピュータプログラムがロードされたコンピュータに、請求項1から18のいずれか一項に記載の前記ステップすべてをとらせるコード手段を備えることを特徴とするプロダクト編集システムのグラフィカルユーザインタフェース中にオブジェクトを表示するコンピュータプログラム。
【請求項20】
請求項1から18のいずれか一項に記載の前記ステップすべてを実施するためのプログラムコード手段を備えることを特徴とするプロダクト編集システム。

【図1】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図4C】
image rotate

【図4D】
image rotate

【図2】
image rotate

【図5】
image rotate


【公開番号】特開2010−262637(P2010−262637A)
【公開日】平成22年11月18日(2010.11.18)
【国際特許分類】
【外国語出願】
【出願番号】特願2010−92169(P2010−92169)
【出願日】平成22年4月13日(2010.4.13)
【出願人】(500102435)ダッソー システムズ (52)
【氏名又は名称原語表記】DASSAULT SYSTEMES
【Fターム(参考)】