(57)【要約】【課題】  分かり易く使い易い、ＣＡＤシステムでオブジェクトを選択し、処理するためのプロセスを実現する、要素を選択する方法およびプログラムを提供する。【解決手段】  コンピュータのディスプレイにはいくつかの要素が表示される。ユーザには、ディスプレイにわたってカーソルを移動させる力覚提示装置が提供される。カーソルと様々な要素との間の距離が計算され、最短距離の要素がディスプレイ上で強調表示される。ユーザが力覚提示装置を移動させると、カーソルと様々な要素との間の距離に従って、識別された要素が変更される。ユーザは、選択ボタンを作動させることによって識別された要素を選択する。本発明によって、ユーザは、カーソルを選択すべき要素の上に移動させる必要なく、表示されている要素のうちの１つを選択できるようになる。選択プロセスを行うのに要素の形状の事前の知識は必要ない。【選択図】  図３
2005259148.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実施される、ディスプレイ上の１つの要素を選択する方法であって、
ディスプレイ上に少なくとも２つの要素（２２、２４、２６、２８）を表示するステップと、
前記ディスプレイ上に力覚提示装置のカーソル（３０）を表示するステップと、
前記要素と前記カーソルとの間の距離を比較する（４６）ステップと、
前記比較するステップの結果に従って、ディスプレイ上で前記要素のうちの１つを識別する（４８）ステップと、
ユーザがセレクタを作動させて、前記識別された要素を選択する（５２）ステップと
を備えることを特徴とする方法。
【請求項２】
前記比較された距離は、ある要素について、前記カーソル（Ｈ）と前記要素（２２、２４、２６、２８）の点（Ｐ２２、Ｐ２４、Ｐ２６、Ｐ２８）との間のユークリッド距離であることを特徴とする請求項１に記載の方法。
【請求項３】
前記比較された距離は、ある要素について、前記カーソル（Ｈ）と前記要素（２２、２４、２６、２８）の点（Ｐ２２、Ｐ２４、Ｐ２６、Ｐ２８）との間の重み付きのユークリッド距離であることを特徴とする請求項１に記載の方法。
【請求項４】
要素の重み係数は前記ディスプレイ上の前記要素の面を表すことを特徴とする請求項３に記載の方法。
【請求項５】
要素は３Ｄ要素であり、前記要素の前記点は前記３Ｄ要素の重心の前記ディスプレイ面への投影であることを特徴とする請求項２、３、または４に記載の方法。
【請求項６】
前記比較するステップは、前記カーソル（Ｈ）と各要素（２２、２４、２６、２８）の輪郭との間の距離を比較するステップを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記ディスプレイに表示されている要素（６０、６２、６４）は半直線（６６、６８、７０）に関連付けられており、前記比較するステップはカーソル（３０）と関連付けられた半直線との間の距離を比較するステップを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記ディスプレイに表示されている要素（６０、６２、６４）は半直線（６６、６８、７０）に関連付けられており、前記比較するステップはカーソル（３０）と関連付けられた半直線との間の重み付きの距離を比較するステップを含むことを特徴とする請求項１に記載の方法。
【請求項９】
半直線に関連付けられている前記要素（６０、６２、６４）はツールハンドルであることを特徴とする請求項７または８に記載の方法。
【請求項１０】
前記識別するステップは最短距離の前記要素を識別するステップを含むことを特徴とする請求項１乃至９のいずれか１項に記載の方法。
【請求項１１】
コンピュータによって実施される、ディスプレイ上の２組の要素の中から要素を選択する方法であって、
ディスプレイ上に第１の組のうちの少なくとも２つの要素（２２、２４、２６、２８）を表示するステップと、
前記ディスプレイ上に第２の組のうちの少なくとも２つの要素（６０、６２、６４）を表示するステップと、
前記ディスプレイ上に力覚提示装置のカーソル（３０）を表示するステップと、
請求項１乃至１０のいずれかに記載の方法に従って前記第１の組のうちの１つの要素を選択するステップと、
請求項１乃至１０のいずれかに記載の方法に従って前記第２の組のうちの１つの要素を選択するステップと
を備えることを特徴とする方法。
【請求項１２】
前記第１の組の中の要素は表示されているオブジェクトを含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記第２の組の中の要素は前記第１の組の中の要素に作用を加えるツールハンドルを含むことを特徴とする請求項１１に記載の方法。
【請求項１４】
ディスプレイ、力覚提示装置、およびセレクタを有するコンピュータシステムにおいてディスプレイ上の１つの要素を選択するプログラムであって、
前記ディスプレイ上に少なくとも２つの要素（２２、２４、２６、２８）を表示するルーチンと、
前記ディスプレイ上に前記力覚提示装置のカーソル（３０）を表示するルーチンと、
前記要素と前記カーソルとの間の距離を比較する（４６）ルーチンと、
前記比較するステップの結果に従って、前記ディスプレイ上で前記要素のうちの１つを識別する（４８）ルーチンと、
前記ユーザが前記セレクタを作動させて、前記識別された要素を選択する（５２）ルーチンと
を備えたことを特徴とするプログラム。
【請求項１５】
前記比較するルーチンで、前記比較された距離は、ある要素について、前記カーソル（Ｈ）と前記要素（２２、２４、２６、２８）の点（Ｐ２２、Ｐ２４、Ｐ２６、Ｐ２８）との間のユークリッド距離であることを特徴とする請求項１４に記載のプログラム。
【請求項１６】
前記比較するルーチンで、前記比較された距離は、ある要素について、前記カーソル（Ｈ）と前記要素（２２、２４、２６、２８）の点（Ｐ２２、Ｐ２４、Ｐ２６、Ｐ２８）との間の重み付きのユークリッド距離であることを特徴とする請求項１４に記載のプログラム。
【請求項１７】
要素は３Ｄ要素であり、前記比較するルーチンで、前記要素の前記点は前記３Ｄ要素の重心の前記ディスプレイ面への投影であることを特徴とする請求項１５または１６に記載のプログラム。
【請求項１８】
前記ディスプレイに表示されている要素（６０、６２、６４）は半直線（６６、６８、７０）に関連付けられており、前記比較するルーチンはカーソル（３０）と関連付けられた半直線との間の距離を比較するように構成されていることを特徴とする請求項１４に記載のプログラム。
【請求項１９】
半直線に関連付けられている前記要素（６０、６２、６４）はツールハンドルであることを特徴とする請求項１８に記載のプログラム。
【請求項２０】
前記識別するルーチンは最短距離の前記要素を識別するように構成されていることを特徴とする請求項１４乃至１９のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、要素を選択する方法およびプログラムに関する。より詳細には、本発明は、コンピュータプログラムおよびシステムの分野における、部品設計プログラムおよびシステムに関連した、要素を選択する方法およびプログラムに関する。
【背景技術】
【０００２】
ＣＡＴＩＡ（商標）など、部品または部品のアセンブリの設計用に、いくつかのシステムおよびプログラムが市販されている。こうしたいわゆるコンピュータ支援設計（ＣＡＤ）システムによって、ユーザは、部品または部品のアセンブリの複雑な３次元（３Ｄ）モデルを構築し、操作することができる。異なるいくつかのモデリング技法を使用してアセンブリのモデルを作成することができる。これらの技法は、ソリッドモデリング、ワイヤーフレームモデリング、およびサーフィスモデリングを含む。ソリッドモデリング技法は、位相（topological）３Ｄモデルを提供する。ここでは、３Ｄモデルは、例えば相互に連結したエッジ、および面の集まりである。幾何学的には、３Ｄソリッドモデルは、閉じたスキン（ｃｌｏｓｅｄ  ｓｋｉｎ）を画定する、トリミングされたまたは再限定された面の集まりである。トリミングされた面は、エッジによって囲まれた位相（topological）面に対応する。閉じたスキンは、部品の材料で満たされた３Ｄ空間の境界領域を画定する。一方、ワイヤーフレームモデリング技法を使用して、モデルを簡単な３Ｄラインの集まりとして表すことができ、サーフィス（surface）モデリングを使用して、モデルを外面の集まりとして表すことができる。ＣＡＤシステムは、パラメトリックモデリング技法など、これらおよび他のモデリング技法を結合することができる。したがってＣＡＤシステムは、エッジまたはラインを、場合によっては面とともに使用して、モデリングされたオブジェクト（対象物）の表現を提供する。モデリングされたオブジェクトは、いくつかのラインまたはエッジまたは他の要素を含む。これらの要素は、設計プロセスにおいてシステムのユーザによって作用を受け得る。ユーザは、例えば、モデリングされたオブジェクトの１つの所与の要素を選択し、または指定して、そのプロパティを表示し、それを消去し、または取り消す、あるいは選択された要素に作用を加えることができることを望む場合がある。従来技術は、後述するように、設計システムで、マウスなどの力覚提示装置（ｈａｐｔｉｃ  ｄｅｖｉｃｅ）を使用して要素を選択することを提案している。従来技術のソリューションについて、マウスを参照して説明する。マウスを配置することによって、コンピュータのディスプレイにカーソルが配置される。マウスは、ユーザが作用を加えて「クリック」することができるボタンを備えている。
【０００３】
コンピュータシステムのディスプレイに表示されている要素を選択する既知のソリューションは、ユーザがマウスのボタンをクリックしたときにマウスのカーソルが配置されている要素を選択することである。こうしたシステムでは、ユーザは、ディスプレイ上のカーソルが選択すべき要素の上にくるようにマウスを移動させる必要がある。そうである場合、ユーザは、マウスのボタンを押して要素を選択する。このソリューションでは、ユーザは、カーソルが選択すべき要素の上にくるようにマウスを移動させることが必要となる。これによって、様々なオブジェクトを選択する必要があるとき、結果としてマウスのかなりの移動を伴う場合がある。また、このことは、選択すべき要素がディスプレイ上の別のものに近い場合にも問題を引き起こす可能性があり、ユーザは実際に、該当するものではなく、たまたま該当するものの近くにある要素を選択する可能性がある。
【０００４】
要素の選択の問題に対処するために、カーソルが配置されている要素を強調表示することが提案されている。このソリューションは、ＣＡＴＩＡ（商標）というＤａｓｓａｕｌｔ  Ｓｙｓｔｅｍｅｓが提供するＣＡＤシステムで使用されており、このシステムでは、マウスのカーソルがディスプレイ上の要素の範囲内に置かれると、要素がディスプレイ上で強調表示される。これによって、マウスボタンをクリックするとユーザが選択することになる要素の表示が随時ユーザに提供される。このソリューションは、ディスプレイ上のいくつかの要素の中から１つの要素を選択する問題に対処する。
【０００５】
また、従来技術は、ユーザがディスプレイ上の１つの要素を選択するのを助ける選択ゾーン（ｐｉｃｋｉｎｇ  ｚｏｎｅ）を使用することも提案している。選択ゾーンは、ディスプレイの仮想ゾーンであり、表示された要素に関連付けられ、この要素以上に広がる。カーソルが選択ゾーン内にあるときはいつでも、マウスボタンをクリックすることによって関連付けられた要素が選択される。このソリューションは、Ｍｉｃｒｏｓｏｆｔ（登録商標）  Ｗｏｒｄ  ２０００のメニューに使用されており、メニューまたはツールバーにある機能を表す各アイコンまたはテキストは、矩形の選択ゾーンを備えている。ユーザがマウスを移動させ、したがってカーソルがツールバーの様々な項目上を移動すると、対応する選択ゾーンが強調表示される。こうした選択ゾーンを提供することによって選択が容易になる。というのは、この要素を選択できるようにするために、マウスのカーソルを該当する要素上に正確に置く必要はないからである。しかし、こうした選択ゾーンは、異なるオブジェクトの位置があらかじめ定義されており、したがって選択ゾーンをあらかじめ定義することもできるメニューまたはツールバーでは定義しやすい。
【０００６】
設計システムにおける別の問題は、ユーザが、例えば表示されている要素の形状を変更するために、表示されている要素に作用を加えることができるようにすることである。従来技術の１つのソリューションは、ユーザによって選択することができるハンドルを表示されている要素に提供することである。こうしたハンドルを、Ｍｉｃｒｏｓｏｆｔ（登録商標）  Ｗｏｒｄ  ２０００で作成した画像の場合について、図１に例示している。図１は、９つのハンドルがある楕円２を示している。ハンドル４、６、８、および１０は、楕円を含む矩形のそれぞれの角に配置されており、その辺は、それぞれ楕円の長軸および短軸に平行である。ハンドル４、６、８、および１０を使用して、対向するハンドルを中心とした比例変換で、楕円を拡大および縮小することができる。これは、カーソルをハンドルのうちの１つの上に置き、ボタンを押し、ハンドルを適切な位置にドラッグしてハンドルを放すことによって行われる。ハンドル１２、１４、１６、および１８は、矩形の辺の中央に配置され、矩形の辺に平行な方向に楕円を伸縮するために使用される。最後のハンドル２０は、実質的に楕円の中央に配置されている回転の中心の周りで楕円を回転させるため使用される。この従来技術のシステムのハンドルは、要素が選択されたときにのみ表示される。例えば図１では、ハンドルは、楕円が選択されたとき、つまりユーザが楕円内のある点をクリックしたときにのみ表示される。各ハンドルは、選択ゾーンを有しており、ユーザがハンドルを選択しドラッグするのを助ける。
【０００７】
ハンドルは、選択ゾーンと同様に、カーソルがディスプレイ上を移動するようにマウスを移動させることをユーザに依然として要求する。設計システム、あるいはより一般的に任意のシステムで、選択する要素または作用を加えるハンドルが多数存在する場合、このことによって、かなりの距離にわたってマウスが移動することになる。さらに、要素を選択するために、マウスカーソルを正確に要素または要素の選択ゾーン上に配置する必要がある。このことは、マウスの特定の位置に気を配ることをユーザに要求する。
【０００８】
いくつかの文献に上述のような従来の技術に関連した技術内容が開示されている（例えば、特許文献１〜４参照）。
【０００９】
【特許文献１】米国特許第５、７５７、３５８号明細書
【特許文献２】特開平６−３０９４２５号公報
【特許文献３】特開平５−５０７５６８号公報
【特許文献４】特開平７−２７１５４７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
したがって、コンピュータシステムのユーザがシステム上に表示されている要素を選択することができるソリューションが必要である。このソリューションは、好ましくは、分かり易く使い易いものであるべきである。また、好ましくは、マウスまたは力覚提示装置の重要な移動を回避すべきである。また、好ましくは、ユーザが極めて特定の位置にマウスを配置する必要性を回避すべきである。
【００１１】
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、分かり易く使い易い、ＣＡＤシステムでオブジェクトを選択し、処理するためのプロセスを実現する、要素を選択する方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明によれば、
−  ディスプレイ上に少なくとも２つの要素を表示するステップ
−  ディスプレイ上に力覚提示装置のカーソルを表示するステップ
−  要素とカーソルとの間の距離を比較するステップ
−  比較するステップの結果に従って、ディスプレイ上で要素のうちの１つを識別するステップ
−  ユーザがセレクタを作動させて、識別された要素を選択するステップ
を含むディスプレイ上の要素を選択するための、コンピュータによって実施されるプロセスが提供される。
【００１３】
このプロセスでは、比較された距離は、ある要素について、
−  カーソルと要素のある点との間のユークリッド距離
−  カーソルと要素のある点との間の重み付きユークリッド距離
この場合要素の重み係数は、ディスプレイ上の要素の表面を表し得る
−  カーソルと要素の輪郭との間の距離
であり得る。
【００１４】
ある点を使用する場合、３Ｄ要素では、３Ｄ要素の重心のディスプレイ面への投影となり得る。
【００１５】
ツールハンドルなどの要素は、半直線に関連付けることができ、この場合距離は、カーソルと関連付けられた半直線との間の距離、またはカーソルと関連付けられた半直線との間の重み付きの距離となり得る。
【００１６】
識別するステップでは、最短距離の要素をユーザに通知することができる。
【００１７】
また、本発明は、
−  ディスプレイ上に前記第１の組のうちの少なくとも２つの要素を表示するステップ、
−  ディスプレイ上に第２の組のうちの少なくとも２つの要素を表示するステップ、
−  前記ディスプレイ上に力覚提示装置のカーソルを表示するステップ、
−  上述したプロセスに従って第１の組のうちの１つの要素を選択するステップ、
−  上述したプロセスに従って第２の組のうちの１つの要素を選択するステップ
を含むディスプレイ上の２つの組の要素の中から要素を選択するための、コンピュータによって実施されるプロセスを提供する。
【００１８】
これによってオブジェクト、およびオブジェクトに作用を加えるためのツールハンドルを表示し、選択することができるようになる。
【００１９】
本発明は、ディスプレイ、力覚提示装置、およびセレクタを有するコンピュータシステムでディスプレイ上の１つの要素を選択するプログラムをさらに提供する。プログラムは、プロセスの様々なステップを実行するルーチンを有する。
【発明の効果】
【００２０】
本発明によれば、分かり易く使い易い、ＣＡＤシステムでオブジェクトを選択し、処理するためのプロセスを実現できる。
【発明を実施するための最良の形態】
【００２１】
以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。非限定的な例によって、また添付の図面を参照して、本発明を具現化するＣＡＤシステムについて説明する。
【００２２】
本発明によって、カーソルの位置に従ってディスプレイ上の１つの要素を選択することができるようになる。様々な要素とカーソルとの間の距離が計算される。距離が比較され、カーソルに最も近い要素を、強調表示または他の任意のソリューションによってユーザに通知する。したがってユーザは、カーソルを選択ゾーン内や要素上に移動させて識別された要素を選択する必要がない。本発明は、ディスプレイ上に表示された、モデリングされたオブジェクトの一部などのオブジェクトに適用される。この実施形態については、図２および図３を参照して後述する。また、本発明は、ハンドルおよびツールに適用される。この実施形態については、図４から図６を参照して後述する。図７は、本発明がモデリングされたオブジェクトおよびハンドルの両方の選択に使用される一例を示している。
【００２３】
図２は、本発明の一実施形態における様々な要素を含むディスプレイを示す図である。これは、いくつかの要素２２、２４、２６、および２８、および力覚提示装置のカーソル３０を示している。コンピュータシステムのユーザが力覚提示装置を移動させると、カーソルはディスプレイ上を移動する。ユーザは、力覚提示装置やその他のボタンまたは他の任意の同様のセレクタのおかげで要素を選択することもできる。力覚提示装置の操作および使用自体は知られており、これ以上は説明しない。
【００２４】
図３は、本発明の一実施形態によるプロセスを示すフローチャートである。ステップ４０〜４４で、各要素と力覚提示装置のカーソルとの間の距離が計算される。ステップ４６〜５２で、距離を使用して、ユーザが表示された要素を選択できるようにする。
【００２５】
ステップ４０で、コンピュータディスプレイ上に表示されている要素ごとに、３Ｄ識別点（ｉｄｅｎｔｉｆｙｉｎｇ  ｐｏｉｎｔ）が計算される。この点は、例えば該当する要素の重心（barycentreまたはcentre of gravity）でもよい。１つの点だけでなく、要素を表すいくつかの点を使用することもできる。
【００２６】
ステップ４２で、ステップ４０で計算された３Ｄ識別点がディスプレイの２Ｄ面に投影される。これは、表示されている要素ごとに、ディスプレイ上の２Ｄ識別点を提供する。説明上、２Ｄ識別点は、図２に参照Ｐｉとして示されており、要素ごとにｉ＝２２、２４、２６、および２８とする。本発明の実際の実施形態では、２Ｄ識別点をユーザに対して表示する必要はない。図２の参照Ｈは、力覚提示装置を示す。
【００２７】
３Ｄ識別点を投影することによってこの２Ｄ識別点を計算することにより、様々な要素の３Ｄビューを表す識別点を提供することができる。１つの利点は、ステップ４０で計算された３Ｄ識別点を、モデリングされたオブジェクトの任意のビューに使用することができ、したがって、表示されているビューが変わった場合、重心を再度計算する必要がないことである。実行すべき唯一のステップは、ディスプレイ面へのすでに計算されている重心の投影である。この投影は容易に行われ、長い計算は必要ない。３Ｄ識別点を使用する別の利点は、要素の一部が隠れている場合でさえ、ディスプレイ上の識別点が各要素の実際の形状を表すことである。例えば図２では、この矩形の一部が要素２４および２８によって隠れている場合でさえ、識別点Ｐ２６は実際には矩形２６の中心にある。
【００２８】
ステップ４４で、ディスプレイの要素ごとに、カーソルと２Ｄ識別点との間の距離δｉが計算される。このステップで、単にディスプレイにおけるカーソルの座標、および２Ｄ識別点の座標を使用して、該当する距離を計算することができる。本発明の最も簡単な実施形態では、距離は、ディスプレイの座標系での通常のユークリッド距離である。したがって、図２の参照を使用すると、要素ｉと力覚提示装置ｈとの間の距離δｉはＨＰｉである。
【００２９】
また、表示されている要素のサイズを考慮に入れて距離を計算することもできる。これによって、ディスプレイ上のサイズがより大きい要素をより簡単に識別し、選択することができる。この場合、要素ｉが与えられた場合、距離δｉは、ユークリッド距離ＨＰｉをディスプレイ上の要素のサイズｓｉで割った割合として計算される。したがって次のようになる。
【００３０】
δｉ＝ＨＰｉ／ｓｉ
これには、より大きい要素がより容易に識別されるという効果がある。
【００３１】
別のソリューションは、カーソルと要素の輪郭との間の最短距離として距離を計算することである。このソリューションは、特に細長い要素に関して有利である。こうした要素の場合、カーソルがオブジェクトの輪郭に近い場合でさえ、２Ｄ識別点への距離が重要となり得る。
【００３２】
ステップ４６では、計算された距離が比較される。距離の計算および比較には多くのソリューションがあることを理解されよう。図３の例では、ステップ４４と４６は別のものであり、事実上、例えば
−  第１の要素までの距離を計算し、
−  次の要素ごとに、次の要素までの距離を計算し、それを前に計算された距離と比較し、次の要素までの距離がより短い場合、前に計算された距離を次の要素までの距離に置き換える
ことによって両方のステップを同時に進めることができる。すべての要素が走査されると、最短距離が取得される。
【００３３】
ステップ４８では、比較の結果に基づいて、要素のうちの１つをユーザに通知する。識別された要素が最も近い要素、すなわちステップ４６で計算された距離が最短のものである要素であることが好ましい。距離が画面上でのユークリッド距離である例では、図２の要素２４が識別されることになり、実際に図２の例では次のようになる。
ＨＰ２４＜ＨＰ２２＜ＨＰ２６＜ＨＰ２８
【００３４】
重み付きの距離ＨＰｉ／ｓｉを使用すると、実際には次のようになり、要素２２が選択されることになる。
ＨＰ２４／ｓ２４＜ＨＰ２２／ｓ２２
【００３５】
この例では要素２２が識別されるが、その識別点Ｐ２４は、要素２２の識別点Ｐ２２よりカーソルＨから離れている。輪郭への距離を使用する場合、要素２６が選択されることになる。
【００３６】
ユーザへの通知（ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｔｏ）は、様々な方法で行うことができる。要素を強調表示することができる。色分けを使用したり、要素をディスプレイ上で点滅させたりすることができる。一般的に言えば、要素のどれが現在識別されているかをユーザが理解できるようにする任意のソリューションを使用することができる。前の例では、完全に表示されている要素の識別について述べており、表示されている要素のエッジをユーザが選択することもできることに留意されたい。こうした実施形態では、単に、様々なエッジを選択すべき要素としてみなす。一方の実施形態を使用するか、他方の実施形態を使用するか、つまり選択プロセスの粒度は、単にユーザによって行われる仕事（タスク）のタイプに依存する。
【００３７】
本発明は、実際にはカーソルが要素のうちの１つの上に置かれていない場合でさえ、要素のうちの１つの識別を提供する。したがって、図２の例では、カーソルＨがたとえ要素のうちの１つの上に置かれていなくても、要素のうちの１つが識別される。さらに、選択ゾーンを計算する必要がなく、したがって本発明は、表示する要素の事前の知識がなくても実行することができる。
【００３８】
ステップ５０で、プロセスは、ユーザ選択があるかどうか、言い換えればユーザが選択ボタンなどを押したかどうかをテストする。そうである場合、ステップ５２で、識別された要素が選択される。そうでない場合、プロセスはステップ５４に進み、カーソルが移動したかどうかをテストする。
【００３９】
カーソルが移動した場合、プロセスはステップ４４に進み、要素までの新しい距離を計算する。そうでない場合、プロセスはステップ４８に進み、最も近い要素を識別する。
【００４０】
図３を参照して開示したプロセスによって、ユーザは、ディスプレイ上でカーソルを大幅に移動させる必要なく、表示された要素のうちの１つを選択することができる。これは、従来技術の選択ゾーン方法とは異なり、表示されている要素の事前の知識なく行うことができる。
【００４１】
上記では、本発明を、例えば設計システムでモデリングされたオブジェクトの一部など、モデリングされたオブジェクトに関して説明している。また、本発明は、説明するように、ハンドルおよびツールにも適用される。ツールは１組のハンドルであり、各ハンドルを使用して、事前に選択されたオブジェクトに作用を加えることができる。こうした実施形態では、ツールのハンドルは、実際には直線または半直線であるが、適切な記号によってユーザに表示される。距離は、カーソルとハンドル記号に対応する直線または半直線との間で計算される。
【００４２】
図４は、本発明の一実施形態によるツールを示す図である。図４のツールは、ディスプレイ面にわたって事前に選択されたオブジェクトを移動させる（displace）ために使用される。ツールは３つのハンドルを含み、
−  ディスプレイ面上での垂直移動（translation）
−  ディスプレイ面上での水平移動
−  斜めの（obliqueまたはslanted）方向への移動
にそれぞれ対応する。具体的には、図４に示すように、ツール５８は、まず垂直ベクトルまたは矢印６０を含む。ベクトル６０は、事前に選択されたオブジェクトについての垂直移動を続行するために使用することができるハンドルである。またツール５８は、水平ベクトルまたは矢印６２も含む。ベクトル６２は、事前に選択されたオブジェクトについての水平移動を続行するために使用することができるハンドルである。図４でＯとして参照記号が付されている、同じ原点を有する両方のベクトルがユーザに表される。図４の例では、ツールは、ディスプレイの右下角に表示されるものとし、したがって、ベクトル６０はディスプレイの上部を指し、ベクトル６２はディスプレイの左を指す。ツールは、さらに正方形６４を含む。正方形６４は、事前に選択されたオブジェクトの斜めの方向への移動を続行するために使用することができるハンドルである。正方形６４は、ベクトル６０および６２の近くにツール５８内で表されている。
【００４３】
選択上、各ツールハンドルは、実際にはベクトル６０および６２の共通の原点Ｏから始まる半直線である。半直線６６は、垂直であり、ベクトル６０のようにディスプレイの上部に向けられている。半直線６８は水平であり、ベクトル６２のようにディスプレイの左に向けられている。半直線７０は、半直線６６および６８を二等分している。半直線６６、６８、および７０、および原点基準Ｏは、ユーザには表示されておらず、ベクトル６０および６２、および正方形６４のみが表示されている。
【００４４】
ツールのハンドルのうちの１つを選択するために、本発明は、ディスプレイ上のカーソルとハンドルとの間の距離を考慮することを提案している。具体的には、距離は、カーソルＨと半直線６６、６８、および７０との間のディスプレイ面上の距離として計算される。図４は、３０およびＨと参照記号が付されたカーソル、および半直線７０へのカーソルの投影を示している。カーソルと半直線７０との間の距離は、カーソルと半直線７０へのその投影との間のユークリッド距離である。カーソルと他の半直線との間の距離も同様に計算される。図２の実施形態と同様に、例えばハンドルのうちの１つが他のものより頻繁に選択されるべきである場合、これらのユークリッド距離に重み付けすることができる。
【００４５】
計算された距離は比較され、比較ステップの結果に従ってハンドルのうちの１つが識別される。上記のように、最も近いハンドルを使用することができる。ステップ４８に関して上述したように、該当するハンドルを強調表示する、または点滅させるなど、ハンドルのうちの１つを識別するためにいくつかのソリューションを使用することができる。図４の位置では、カーソルは、半直線６６および６８より半直線７０に近く、したがってハンドル６４が例えば強調表示されるなどして識別されることになる。
【００４６】
次いでユーザは、対応するツールを使用するために、識別されたハンドルを選択することができる。図４の例では、ユーザは、選択ボタンなどを押すことによってハンドル６４を選択することになる。
【００４７】
この場合もまた、本発明は、ユーザが選択すべきハンドルにカーソルを移動させる必要性を回避する。図４の例では、カーソルをディスプレイの下方に移動させることによって、ハンドル６２が識別されることになる。一方、カーソルをディスプレイの上方、またはディスプレイの右方に移動させることによって、ハンドル６０が識別されることになる。図１で示した従来技術のソリューションでそうであるように、ユーザは、カーソルをハンドルの方に移動させる必要がなく、またカーソルを極めて特定の位置に移動させる必要もない。
【００４８】
図５は、本発明のさらに別の実施形態によるツールを示す図である。図５のツールは、３Ｄディスプレイにおける様々な方向への移動に対応する異なる６つのハンドルを含む。具体的には、ツールは、３つのベクトル８０、８２、および８４を含み、これによってユーザは、事前に選択されたオブジェクトを３方向に移動させることができる。３方向は、３Ｄ空間における３つの直交する方向、例えば３Ｄ空間における１組の座標のｘ、ｙ、ｚ方向に対応する。ディスプレイ面は、例えばベクトル８２を含み、ベクトル８０および８４のベクトルの和に垂直なものとして定義することができる。ツールはさらに、３つの正方形８６、８８、および９０を含み、正方形のそれぞれによって、ユーザは、所与の平面において事前に選択されたオブジェクトを移動させることができ、したがって正方形８６は、ベクトル８０および８２によって画定された平面における移動に対応し、正方形８８は、ベクトル８２および８４によって画定された平面における移動に対応し、正方形９０は、ベクトル８０および８４によって画定された平面における移動に対応する。
【００４９】
図４を参照して説明したように、カーソルの位置、およびカーソルとハンドルに対応する半直線との間の距離に従って、ハンドルのうちの１つがユーザに通知される。図５は、半直線９２、９４、９６、９８、１００、および１０２を示している。これらはそれぞれのハンドルに対応し、カーソルと様々な各ハンドルとの間の距離の計算に使用される。この場合もまた、識別されたハンドルは最短距離のものであり、図５の例では、カーソル３０は、他の任意の半直線より半直線９４に近く、言い換えれば、半直線９４はハンドル８２により近く、したがってこのハンドルが識別され、ユーザによって選択される。
【００５０】
図５では、半直線９２、９４、９６、９８、１００、および１０２は、ハンドル８０、８２、８４、８６、８８、および９０と重なり合っている。また、半直線から離れた位置にハンドルを表示することもできる。例えば、半直線をディスプレイの中央から始めることができ、ハンドルはディスプレイの隅に表示される。
【００５１】
図６は、本発明によるさらに別のツールの図である。図６のツールは、図５のものと似ており、３つのベクトル８０、８２、および８４を含む。しかし、正方形８６、８８、および９０は、３つの弧１０４、１０６、および１０８に置き換えられている。各弧は、対向するベクトル軸の周りの回転を表すハンドルであり、したがって弧１０４は、ベクトル８０の軸の周りの回転を可能にするハンドルである。様々なハンドルの操作および選択は、図５を参照して説明したものに似ており、これ以上は説明しない。
【００５２】
他のツール、例えばテキストゾーン、スクロールメニュー、または実際に「ハンドル」を形成する個別の選択肢を有する他の任意のタイプのツールを提供することができる。
【００５３】
図７を参照して次に説明するように、図２および図４の実施形態を同時に使用することができる。力覚提示装置は、選択ボタン付きのマウスである。選択ボタンは、押してすぐに放したときは、モデリングされたオブジェクトのうちの１つを選択するユーザの意思を表す。選択ボタンは、押してドラッグしたときは、ハンドルのうちの１つを選択するユーザの意思を表す。図７は、図４のツール５８とともに、図２の様々な要素２２、２４、２６、および２８を示している。参照６０、６２、６４は、簡潔にするために、図７には繰り返して表示してはいない。
【００５４】
カーソル３０は、図４で表した位置にあると仮定する。図２を参照して説明したように、要素２２、２４、２６、および２８のうちの１つ、例えば要素２４が識別される。図４を参照して説明したように、ハンドルのうちの１つ、例えばハンドル６４が識別される。ユーザが選択ボタンをクリックすると、要素２４が選択され、これは、要素２４を強調表示し、点滅させることによって、または識別された要素の参照を含むバナーを表示させることによってユーザに表示される。言い換えれば、選択された要素の個別の表現が提供される。
【００５５】
次にユーザが力覚提示装置を画面の右方に移動させると仮定する。その場合、要素２８が識別される。要素２４は選択されたままであることに留意されたい。また、ハンドル６０も識別される。ユーザは、選択ボタンを押し、放した場合、要素２４を選択する代わりに要素２８を選択する。この時点で要素２４の選択が解除される。しかし、要素２４が選択されており、ユーザが選択ボタンを押し、このボタンを押したままマウスを動かす場合、ユーザは、ツール５８のハンドル６０を選択し、要素２４を垂直方向に移動させるであろう。この場合、要素２４の移動量は、選択ボタンが押されている間のマウスの垂直移動に応じて決まる。
【００５６】
別の実施形態では、ツールの位置は、選択されたオブジェクトに従って変わり得る。例えば、この場合も要素２４が選択されていると仮定する。この時点で、ツール５８を画面の右下角に配置する代わりに、要素２４の近くまたはその上に表示させることができる。このことはさらにマウスの移動を低減し、ツールの選択を容易にする。
【００５７】
比較として、従来技術のソリューションでは、要素２４を移動させるために、ユーザは、次のように続行する必要がある。
−  まず、カーソルを要素２４上に移動させ、要素２４を選択する
−  次に、カーソルをハンドル６０に移動させ、ハンドルを選択する
−  次いでカーソルを垂直方向に移動させて要素２４を移動させる。
これでは、カーソルを移動させるパスがより多くなってしまう。さらに、ハンドル６０を選択するには、カーソルをハンドル上に正確に配置する必要がある。
【００５８】
したがって、本発明によってユーザは、力覚提示装置の大幅な移動を続行する必要なく、また力覚提示装置のカーソルを極めて特定の位置に置く必要なく、ディスプレイ上の様々な要素を選択できるようになる。
【００５９】
本発明は、上記の詳細な説明で示した例に限定されない。したがって図３の例では、選択プロセスは、連続的に行われると仮定する。要素が選択されると、プロセスを停止することができることは理解されよう。距離のいくつかの例について、図２および図３を参照して説明した。ユーザは、距離のうちの１つを選択することができ、または例えばユーザによって行われる作業のタイプに従って、要素の識別に使用される距離のタイプを変更することができる。図４の実施形態では、ツールは、ディスプレイの右下角に表示されるものとしているが、例えばディスプレイの別の角のどこかに配置することができる。この場合、表示されているハンドルおよび基礎を成す半直線は、それに応じて配向されることになる。図７の説明で、単一の選択ボタンおよび異なるアクションを使用して、モデリングされたオブジェクトの選択とハンドルの選択との間を区別する。当然、個別の選択ボタンなど、他のソリューションを使用することもできる。例えば２ボタンマウスでは、左ボタンはオブジェクトの選択に使用し、右ボタンはツールハンドルの選択に使用することができる。
【００６０】
いくつかのツールを同時に使用することができる。その場合、カーソルと様々なツールとの間の距離に従って、第１のステップで適切なツールを選択することができる。ツールが選択されると、再度距離に従って、選択されたツールの１つのハンドルが選択される。言い換えれば、上記で開示したプロセスは、繰り返され、または段階的に行われる。
【図面の簡単な説明】
【００６１】
【図１】従来技術の設計システムにおけるそのハンドルを含む楕円の例を示す図である。
【図２】本発明を適用できる実施形態の様々な要素を含むディスプレイを示す図である。
【図３】本発明を適用できる実施形態のプロセスを示すフローチャートである。
【図４】本発明を適用できる実施形態のツールを示す図である。
【図５】本発明を適用できる実施形態のツールを示す図である。
【図６】本発明を適用できる実施形態のツールを示す図である。
【図７】本発明を適用できる実施形態のシステムのディスプレイを示す図である。
【符号の説明】
【００６２】
２２、２４、２６、２８  要素
３０  カーソル
５８  ツール
【図１】
2005259148.tif 000003
【図２】
2005259148.tif 000004
【図３】
2005259148.tif 000005
【図４】
2005259148.tif 000006
【図５】
2005259148.tif 000007
【図６】
2005259148.tif 000008
【図７】
2005259148.tif 000009