(57)【特許請求の範囲】
【請求項１】
パラメータを設定するコンピュータ実装方法であって、
グラフィカルユーザインターフェース上の第１の地点でのユーザ入力を検出すること（Ｓ２０）であって、ユーザ入力は維持される、検出することと、
前記グラフィカルユーザインターフェース上に前記第１の地点を中心としてパイメニューを表示することであって、前記パイメニューはカスタマイズ可能なパラメータに関連付けられた少なくとも１つの角度セクタ（angular sector）を含む、表示することと、
前記少なくとも１つの角度セクタ内で前記グラフィカルユーザインターフェース上の前記ユーザ入力の第２の地点を検出すること（Ｓ４０）と、
前記第２の地点が検出された前記少なくとも１つの角度セクタを活性化すること（Ｓ５０）であって、前記少なくとも１つの角度セクタは、ユーザによって前記ユーザ入力が維持される間に活性化されたままであり、前記ユーザまたはシステムによって実行される動作が、前記ユーザ入力が維持されている間、前記活性化された少なくとも１つの角度セクタまたは前記活性化された少なくとも１つの角度セクタ内のオブジェクトのみに関する、活性化することと、
前記検出された第２の地点に従って、前記カスタマイズ可能なパラメータの値のセットの中から前記カスタマイズ可能なパラメータの値を選択することであって、前記値のセットは、前記少なくとも１つの角度セクタ内のオブジェクトによって表され、前記選択することは、前記オブジェクトと、前記第１の地点と前記第２の地点との間に延在するセグメントとの間の交差ポイントを識別すること（Ｓ７０）と、前記交差ポイントと関連付けられた値を前記カスタマイズ可能なパラメータの前記値として選択することとを含む、選択することと、
を含むことを特徴とするコンピュータ実装方法。
【請求項２】
前記第２の地点を検出するステップの後、
前記角度セクタの活性化の結果として、前記少なくとも１つの角度セクタ内のオブジェクト上に少なくとも１つのハンドルを表示すること（Ｓ６０）と、
選択するステップの後、さらに、
前記少なくとも１つのハンドルを、前記交差ポイントで前記少なくとも１つの角度セクタ内に配置することとを含むことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項３】
前記少なくとも１つのハンドルを表示するステップはさらに、前記パラメータの前の値によって定義された第１の位置に前記少なくとも１つのハンドルを表示することを含み、前記少なくとも１つのハンドルを配置するステップは、前記少なくとも１つの角度セクタ内の前記少なくとも１つのハンドルを、前記第１の位置から前記交差ポイントへと移動すること（Ｓ８０）を含むことを特徴とする請求項２に記載のコンピュータ実装方法。
【請求項４】
前記少なくとも１つのハンドルの前記第１の位置から前記交差ポイントへの移動は、ラインであるオブジェクトに沿い、前記少なくとも１つのハンドルおよび前記ラインはスライダを形成することを特徴とする請求項３に記載のコンピュータ実装方法。
【請求項５】
前記少なくとも１つのハンドルは、ハンドルのセットの中から選択され、選択は、前記第２の地点と第１の地点との間の距離に従って実施されることを特徴とする請求項２ないし４のいずれか１項に記載のコンピュータ実装方法。
【請求項６】
前記選択するステップの後、前記ユーザ入力を前記第２の地点から第３の地点に変位することによって以前に選択された値を置き換える、カスタマイズ可能なパラメータの第２の値を、値の前記セットの中から選択することをさらに含むことを特徴とする請求項２ないし５のいずれか１項に記載のコンピュータ実装方法。
【請求項７】
値の前記セットの中からの前記第２の値の前記選択は、
前記以前に選択されたパラメータの値からセットのランク付けされた値をトラバースすることであって、トラバースされるランク付けされた値の数は、前記第２の地点から前記第３の地点への前記ユーザ入力の前記変位の距離に比例する、トラバースすることと、
前記第３の地点に達した時点で、前記トラバース中に遭遇した最後の値をカスタマイズ可能なパラメータの値として選択することとによって実施されることを特徴とする請求項６に記載のコンピュータ実装方法。
【請求項８】
前記少なくとも１つのハンドルを、交差ポイントから前記第３の地点に従って取得された第２の位置へ移動することによって、前記選択された第２の値に従って前記少なくとも１つのハンドルを配置するステップをさらに含むことを特徴とする請求項７に記載のコンピュータ実装方法。
【請求項９】
前記第２の地点から第３の地点への変位は、前記少なくとも１つの角度セクタの二等分に対してほぼ直角であることを特徴とする請求項６ないし８のいずれか１項に記載のコンピュータ実装方法。
【請求項１０】
トラバースされるランク付けされた値の数は、前記第２の地点と前記第１の地点との間の第２の距離にさらに比例することを特徴とする請求項７に記載のコンピュータ実装方法。
【請求項１１】
ランク付けされた値をトラバースする間に、現在遭遇している値をリアルタイムで表示することをさらに含むことを特徴とする請求項１ないし１０のいずれか１項に記載のコンピュータ実装方法。
【請求項１２】
前記ユーザ入力を解除し、それによって前記カスタマイズ可能なパラメータの選択された値を検証すること、および、前記グラフィカルユーザインターフェース上に表示された前記パイメニューを除去することをさらに含むことを特徴とする請求項１ないし１１のいずれか１項に記載のコンピュータ実装方法。
【請求項１３】
請求項１ないし１２のいずれか１項に記載の方法を実行するためのコード手段を含むウィジェットであって、
グラフィカルユーザインターフェース上に表示されるパイメニューは、少なくとも１つの角度セクタを区切った少なくとも１つの環状セクタを伴う環帯を含み、少なくとも１つの環状セクタは、カスタマイズ可能なパラメータの選択された値を表示することを特徴とするウィジェット。
【請求項１４】
メモリおよびディスプレイに通信可能に結合されたプロセッサを含むシステムであって、前記メモリは、前記プロセッサに請求項１ないし１２のいずれか１項に記載の方法を実行させる命令を記録することを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムおよびシステムの分野に関し、より具体的には、パラメータを設定するための方法、システム、およびプログラムに関する。
【背景技術】
【０００２】
グラフィカルユーザインターフェースにおいて、パイメニューは、アクションの選択を実行するためまたは機能をトリガするために幅広く使用される。パイメニューは、メニュー項目が中心点の周囲にほぼ円形の配置構成で表示されるため、ラジアルメニューとも呼ばれる。メニュー項目の各々は、項目を表すアイコンまたはテキストに加えて、パイメニューセクタ、すなわちパイメニュー全体のセクタである、選択可能域を有する。パイメニューは一般に、それらの動作を始動するパイメニュー活性化入力によって実装される。次いで、後続の入力は、パイメニュー選択入力、すなわち、パイメニューセクタのうちの１つを選択する入力として解釈され得る。いったんパイメニューセクタが選択されると、通常、そのセクタに割り振られたパイメニュー項目に関連付けられたアクションが実行される。パイメニュー項目に関連付けられたアクションは、項目に関連付けられた１つの値の選択であり得るか、または機能のトリガ、たとえば３Ｄモデル化オブジェクト上へのテクスチャの追加であり得る。
【０００３】
パイメニューは、いくつかの欠点を持つ。第１は、ポインタベースでないユーザ対話に問題があり得ることである。特に、タッチスクリーンに接触している付属器官（たとえば指）が、ユーザ対話の配置およびユーザ対話の両方を実行するため、タッチスクリーンは問題がある。
【０００４】
第２の欠点は、パイメニューにおける選択の正確さが、メニューが提示する項目の数に関係することである。メニュー項目の数が多いほど、選択のためのより高い角度精度が必要である。そのため、パイメニューは、メニュー項目の数とメニューからの選択し易さとの間のトレードオフを伴う。これは、（範囲内の）連続する値の選択という状況において特に問題であり、たとえば、ユーザの作業域を確保しておくためにパイメニューのサイズが制限される。
【０００５】
問題の解決策は、各メニュー項目がサブメニュー項目につながり、それら自体が、ユーザが探している値を見つけるまでサブメニュー項目につながる、パイメニューを実装することである。しかしながらこの種の解決策は、メニュー項目の連続する選択は、カーソルとメニュー項目との間の距離に依存するより高速でより信頼性の高い選択という、パイメニューの動作の原理に逆らうものであるため、満足のいくものではなく、サイズが大きく高速対話のためにポインタに近いメニュースライスは、選択の実行中にメニューを見ることなく選択を使用する。
【０００６】
この状況において、連続する値の範囲内で選択されるパラメータの値をパイメニューにおいて設定するための改良された方法が依然として求められている。
【発明の概要】
【課題を解決するための手段】
【０００７】
したがって、パラメータを設定するコンピュータ実装方法が提供される。方法は、グラフィカルユーザインターフェース上の第１の地点でのユーザ入力を検出することであって、ユーザ入力は維持される、検出すること、グラフィカルユーザインターフェース上に第１の地点を中心としてパイメニューを表示することであって、パイメニューはカスタマイズ可能なパラメータに関連付けられた少なくとも１つの角度セクタ（angular sector）を含む、表示すること、少なくとも１つの角度セクタ内でグラフィカルユーザインターフェース上のユーザ入力の第２の地点を検出すること、および、検出された第２の地点に従って、値のセットの中からカスタマイズ可能なパラメータの値を選択することを含む。
【０００８】
方法は、
−値のセットは少なくとも１つの角度セクタ内のオブジェクトによって表され、選択するステップは、オブジェクトと、第１の地点と第２の地点との間に延在するセグメントとの間の交差ポイントを識別すること、交差ポイントに関連付けられた値をカスタマイズ可能なパラメータの値として選択すること、
−第２の地点を検出するステップの後、少なくとも１つの角度セクタを活性化すること、角度ゾーンの活性化の結果として、少なくとも１つの角度セクタ内のオブジェクト上に少なくとも１つのハンドルを表示すること、および、さらに、選択するステップの後、少なくとも１つのハンドルを、交差ポイントで少なくとも１つの角度セクタ内に配置することを、さらに含み、
−少なくとも１つのハンドルを表示するステップは、パラメータの前の値によって定義された第１の位置に少なくとも１つのハンドルを表示することをさらに含み、少なくとも１つのハンドルを配置するステップは、少なくとも１つの角度セクタ内の少なくとも１つのハンドルを、第１の位置から交差ポイントへと移動すること（Ｓ８０）を含み、
−少なくとも１つのハンドルの第１の位置から交差ポイントへの移動は、ラインであるオブジェクトに沿い、少なくとも１つのハンドルおよびラインはスライダを形成し、
−少なくとも１つのハンドルはハンドルのセットの中から選択され、選択は、第２の地点と第１の地点との間の距離に従って実施され、
−選択するステップの後、ユーザ入力を第２の地点から第３の地点に変位することによって以前に選択された値を置き換える、カスタマイズ可能なパラメータの第２の値を、値のセットの中から選択すること、
−値のセットの中からの第２の値の選択は、以前に選択されたパラメータの値からセットのランク付けされた値をトラバースすることであって、トラバースされるランク付けされた値の数は、第２の地点から第３の地点へのユーザ入力の変位の距離に比例する、トラバースすること、第３の地点に達した時点で、トラバース中に遭遇した最後の値をカスタマイズ可能なパラメータの値として選択すること、
−少なくとも１つのハンドルを、交差ポイントから第３の地点に従って取得された第２の位置へ移動することによって、選択された第２の値に従って少なくとも１つのハンドルを配置するステップ、
−第２の地点から第３の地点への変位は、少なくとも１つの角度セクタの二等分に対してほぼ直角であり、
−トラバースされるランク付けされた値の数は、第２の地点と第１の地点との間の第２の距離にさらに比例し、
−ランク付けされた値をトラバースする間に、現在遭遇している値をリアルタイムで表示すること、
−ユーザ入力を解除し、それによってカスタマイズ可能なパラメータの選択された値を検証すること、および、グラフィカルユーザインターフェース上に表示されたパイメニューを除去すること、
をさらに含むことができる。
【０００９】
上記方法を実行するためのコード手段を含むウィジェットも提供され、グラフィカルユーザインターフェース上に表示されるパイメニューは、少なくとも１つの角度セクタを区切った少なくとも１つの環状セクタを伴う環帯を含み、少なくとも１つの環状セクタは、カスタマイズ可能なパラメータの選択された値を表示する。
【００１０】
メモリおよびディスプレイに通信可能に結合されたプロセッサを含むシステムも提供され、メモリは、プロセッサに上記方法を実行させる命令をその上に記録している。
【００１１】
上記方法を実行するための命令を含むコンピュータプログラムがさらに提供される。
【００１２】
コンピュータプログラムがその上に記録された、コンピュータ可読記憶媒体がさらに提供される。
【００１３】
次に本発明の実施形態が、非限定的な例を用い、図面を参照しながら説明される。
【図面の簡単な説明】
【００１４】
【図１】パイメニューの例を示す図である。
【図２】パイメニューの例を示す図である。
【図３】本発明の例を示す図である。
【図４】本発明の例を示す図である。
【図５】本発明の例を示す図である。
【図６】本発明の例を示す図である。
【図７】本発明の例を示すフローチャートである。
【図８】本発明の他の例を示すフローチャートである。
【図９】本発明を実行するためのシステムの例を示す図である。
【図１０】本発明の例を示す図である。
【発明を実施するための形態】
【００１５】
図７のフローチャートを参照すると、パイメニューを用いてパラメータを設定する、コンピュータ実装方法が提案されている。方法は、グラフィカルユーザインターフェース（ＧＵＩ）上の第１の地点でのユーザ入力の検出を含む。ユーザ入力は維持される。方法は、第１の地点を中心としたパイメニューの表示をさらに含む。パイメニューの表示はＧＵＩ内で実行され、いったん表示されるとＧＵＩの一部である。パイメニューは、カスタマイズ可能なパラメータに関連付けられた少なくとも１つの角度セクタを含む。加えて、方法は、パイメニューの少なくとも角度セクタにおけるユーザ入力の第２の地点の検出を含む。第２の地点はＧＵＩ上にある。方法は、ＧＵＩにおいて第２の地点に従って、カスタマイズ可能なパラメータの値の選択も含む。パラメータの値は、値のセットの中から選択される。典型的には、値のセットは連続する値の範囲を形成する。
【００１６】
本発明の方法は、パラメータ値のセットの中からパラメータ値を選択するための、効率的な解決策を提供する。パイメニューのパイスライスに値を関連付ける代わりに、本発明は、パイスライスにパラメータを関連付けることが可能であり、ユーザ入力の地点に従ってパラメータの値が選択され、このユーザ入力は、パラメータに関連付けられたパイスライスの選択を以前にトリガしたユーザ入力と同じである。パラメータ値の選択は、もはやパイスライスの選択と直接リンクされていないが、これに対してユーザ入力の地点により、値のセットの中から１つの値を選択することが可能であり、パイメニューの利点を保持している。実際には、パイメニュー上での動作は、動作（たとえばパイスライスの選択）を実行するためのユーザ入力軌道に依拠しており、パイメニューが提示する生産性に逆らう精密かつ正確なユーザアクションには依拠していない。加えて、本発明のすべてのステップは、１つの単一ユーザ入力を用いて実行されるため、値の範囲内にある値を選択するためのユーザアクションの数を大幅に低減させる。これは、ユーザアクションの数、および選択を実施するためにマウスによって移動される距離を低減させるのみならず、選択プロセスの速度を増加させる。本発明の他の利点が、説明において論じられる。
【００１７】
方法はコンピュータ実装である。これは、方法のステップ（またはほぼすべてのステップ）が、少なくとも１つのコンピュータ、または任意の同様のシステムによって実行されることを意味する。したがって方法のステップは、場合によっては完全に自動的に、または半自動的に、コンピュータによって実行される。例では、方法のステップのうちの少なくともいくつかをトリガすることは、ユーザコンピュータ間対話を介して実行され得る。要求されるユーザコンピュータ間対話のレベルは、予見され、ユーザの希望を実装するためのニーズと釣り合わされた、自動性（automatism）のレベルに依存し得る。例では、このレベルはユーザ定義済みおよび／または事前定義済みであり得る。
【００１８】
方法のコンピュータ実装の典型的な例は、この目的に適合されたシステムを用いて方法を実行することである。システムは、メモリに結合されたプロセッサおよびグラフィカルユーザインターフェース（ＧＵＩ）を含み得、メモリは、方法を実行するための命令を含むコンピュータプログラムをその上に記録している。メモリは、データベースも記憶し得る。メモリは、こうした記憶に適合された任意のハードウェアであり、場合によってはいくつかの物理的に別個の部分（たとえば、プログラム用の部分、および場合によってはデータベース用の部分）を含む。
【００１９】
「データベース」とは、検索および取り出し用に編成されたデータ（すなわち情報）の任意の集合が意図される。メモリ上に記憶される場合、データベースはコンピュータによる高速の検索および取り出しを可能にする。データベースは、実際には、様々なデータ処理動作と関連して、データの記憶、取り出し、修正、および削除を容易にするように構成される。データベースは、それぞれが１または複数のフィールドからなる記録に分類され得る、ファイルまたはファイルのセットからなり得る。フィールドは、データ記憶の基本単位である。ユーザは、主にクエリを介してデータを取り出すことができる。ユーザは、キーワードおよびソートコマンドを使用して、使用されているデータベース管理システムの規則に従って、データの特定の集合体に関するレポートを取り出すかまたは作成するために、多くの記録内のフィールドを高速で検索、再配置、グループ化、および選択することが可能である。
【００２０】
図９は、本発明の方法を実行するためのシステムの例を示す。システムは、典型的にはコンピュータ、たとえばパーソナルコンピュータである。図９のコンピュータは、内部通信バス１０００に接続された中央処理ユニット（ＣＰＵ）１０１０、同じくバスに接続されたランダムアクセスメモリ（ＲＡＭ）１０７０を含む。コンピュータには、バスに接続されたビデオランダムアクセスメモリ１１００に関連付けられた、グラフィカル処理ユニット（ＧＰＵ）１１１０がさらに提供される。ビデオＲＡＭ  １１００は、従来技術ではフレームバッファとしても知られている。大容量記憶デバイスコントローラ１０２０は、ハードドライブ１０３０などの大容量メモリデバイスへのアクセスを管理する。コンピュータプログラム命令およびデータを有形に具体化するために好適な大容量メモリデバイスは、たとえば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスクおよび取り外し可能ディスクなどの磁気ディスク、磁気光学ディスク、ならびにＣＤ−ＲＯＭディスク１０４０を含む、すべての形の不揮発性メモリを含む。前述のうちのいずれかは、特別に設計されたＡＳＩＣ（特定用途向け集積回路）によって補足されるか、またはこれに組み込まれ得る。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理する。コンピュータは、カーソル制御デバイス、キーボード、またはその他などの、触覚デバイス１０９０も含み得る。カーソル制御デバイスは、ユーザがディスプレイ１０８０上の任意の所望の地点にカーソルを選択的に配置できるようにするために、コンピュータ内で使用される。加えて、カーソル制御デバイスは、ユーザが様々なコマンドを選択すること、および制御信号を入力することを可能にする。カーソル制御デバイスは、制御信号をシステムに入力するためのいくつかの信号生成デバイスを含む。典型的には、カーソル制御デバイスはマウスであり得、マウスのボタンは信号を生成するために使用される。代替または追加として、コンピュータシステムは、反応性パッドおよび／または反応性スクリーンを含むことができる。
【００２１】
本発明は、コンピュータプログラムによって実装され得る。コンピュータプログラムは、コンピュータによって実行可能な命令を含み、命令は、上記システムに方法を実行させるための手段を含む。プログラムは、システムのメモリを含む、任意のデータ記憶媒体上に記録可能であり得る。プログラムは、たとえば、デジタル電子回路において、または、コンピュータハードウェア、ファームウェア、ソフトウェア、もしくはそれらの組み合わせにおいて、実装され得る。プログラムは、装置、たとえばプログラマブルプロセッサによる実行のために機械可読記憶デバイス内に有形に具体化された製品として、実装され得る。方法ステップは、入力データ上での動作および出力の生成によって方法の機能を実行するために命令のプログラムを実行するプログラマブルプロセッサによって、実行され得る。したがってプロセッサは、データ記憶システム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスから、データおよび命令を受信するため、ならびに、それらにデータおよび命令を送信するために、プログラムおよび結合され得る。アプリケーションプログラムは、高水準手続き型もしくはオブジェクト指向プログラミング言語で、または、所望であればアセンブリもしくは機械言語で、実装され得る。いずれの場合も、言語はコンパイラ型またはインタプリタ型の言語であり得る。プログラムは、完全インストールプログラムまたは更新プログラムであり得る。システム上でのプログラムの適用の結果として、いずれの場合も、方法を実行するための命令が生じる。
【００２２】
図７を再度参照すると、ステップＳ１０で、方法を実行するコンピュータシステムによって、ユーザにグラフィカルユーザインターフェース（ＧＵＩ）が示される。ＧＵＩは、ユーザがコンピュータシステムと対話できるようにするインターフェースである。対話は、通常、ユーザ選択可能アイコンのセットを含むメニューおよびツールバーを用いて実行され、各アイコンは、当分野で知られているように、１または複数の動作または機能に関連付けられている。パイメニューはこうしたツールバーである。ＧＵＩは、様々なタイプのグラフィックツールをさらに示し得、たとえば、コンピュータに支援された設計システムのＧＵＩは、オブジェクトの３Ｄ定位を容易にするため、編集済み製品の動作のシミュレーションをトリガするため、または、表示された製品の様々な属性をレンダリングするための、グラフィックツールを含み得る。カーソルは、一般に、ＧＵＩと対話するために使用される、触覚デバイス１０９０のカーソルである。対話は、ＧＵＩを示すタッチ反応性ディスプレイ上で直接実行され得、たとえば、ユーザの指などの付属器官またはスタイラスが、典型的にはＧＵＩと対話するために使用される。本発明は、ユーザ入力またはユーザ対話を受け入れる任意の種類のＧＵＩ上で実施され得ることを理解されよう。
【００２３】
次に、ステップＳ２０で、ユーザ入力が検出される。検出はシステムによって実施され、入力はユーザアクションの結果である。ユーザ入力はＧＵＩとの対話であり、たとえばユーザはマウスのボタンをクリックする、ユーザはマウスのカーソルを移動させる、スクリーン上に指を置く、などである。ユーザ入力の検出は、当分野で知られているように実行される。ディスプレイ上でのユーザ入力の地点（ｘ，ｙ）は、ＧＵＩ上の第１の地点である。重要なことに、ユーザ入力は維持される。これは、ユーザアクションが続く間、システムが信号を継続的に受信することを意味する。たとえばユーザは、マウス上のボタンを継続的に押し下げたまま保持し、ボタンはユーザによって解除されない。したがって、方法のさらなるステップは、特に指定されていない限り、ユーザ入力が維持された状態で実施される。
【００２４】
次いで、ステップＳ３０で、コンピュータシステムによってパイメニューがＧＵＩ上に表示される。これは、当分野で知られているように実行される。たとえば、ＧＵＩが３次元（３Ｄ）シーンを示し、３Ｄ（モデル化）オブジェクトが配置された場合、パイメニューは３Ｄシーンの上に現れ、すなわちパイメニューは、シーンおよびオブジェクトが表示のために投影される平面図上に表示される。
【００２５】
ＧＵＩ上に現れるパイメニューは、第１の地点を中心としている。これは、パイメニューの１つの特定ポイントがユーザ入力の地点を表すポイントと一致することを意味する。
【００２６】
次に図１を参照すると、当分野で知られているような、本発明で使用可能なパイメニュー１０の例が示されている。パイメニュー１０は環帯、すなわちリング状オブジェクトの形を有し、領域は共通の中心を有する２つの同心円によって境界を画されている。ポイント１４はこれら２つの円の共通の中心であり、パイメニュー１０の中心でもある。中心１４は、カーソル１８を用いたユーザ入力の結果として、ＧＵＩ内に定義された第１の地点と一致する。パイメニューは、不規則であり得る放射状の形状を有し、たとえばパイメニューは六角形または中心を有する任意の他の形状であり得、その中心からパイメニューに関連付けられた機能へのアクセスが、中心からほぼ等距離にあることを理解されよう。パイメニューは任意の形状を有し得、前述の六角形などの幾何学的形状に限定されない。パイメニューは８つのパイスライスまたは環状セクタ、たとえば環状セクタ１６に分割される。パイメニューは、中心としてポイント１４を有するディスク１２をさらに含む。
【００２７】
ステップＳ３０に戻ると、第１の地点を中心として現れるパイメニューは、１または複数の角度セクタを含み、各角度セクタはカスタマイズ可能なパラメータに関連付けられている。
【００２８】
角度セクタという表現は、共通のエンドポイントを共有する２本の半直線間に含まれるゾーンを意味する。２本の半直線は、優角でない角度を形成する。図２はパイメニューの別の例であり、２本の半直線２４、２６はパイメニューの中心であるポイント１４を共有している。ゾーン２０はこれら２本の半直線の間に延在し、ゾーンは非優角を含む。優角を含む第２のゾーンもカスタマイズ可能なパラメータに関連付けられ得ることを理解されよう。
【００２９】
カスタマイズ可能パラメータという表現は、値に関連付けられたパラメータを意味し、値は値の範囲に属する。範囲の各値はパラメータに関連付けられ得、一度に１つの値がパラメータに関連付けられることが理解される。値の範囲は、離散値とは反対に、好ましくは連続値のセットを形成する。値という用語はデータの同義語である。値の範囲は有限または無限であり得る。明快にするために、温度が角度セクタに関連付けられたカスタマイズ可能なパラメータであり得、このパラメータに関連付けられた値は温度の範囲（たとえば０〜１００ケルビン）に属する。
【００３０】
さらに図２を参照すると、角度セクタ２０は、この例では環帯のセクタであるパイスライス１６を含む。環状セクタ１６は、角度セクタに関連付けられたパラメータ２１に関する情報（ここではパラメータの名前は「サイズ」）を表示し得、現時点でパラメータに関連付けられた値２２（ここでは値「１」）を表示し得る。
【００３１】
図２はステップＳ２０およびＳ３０を例証しており、この間、ユーザはカーソル１８を制御する触覚デバイスのボタンを押し下げたまま維持し、パイメニューはカーソル１８のヘッドのポイント１４を中心として表される。
【００３２】
次にステップＳ４０で、ユーザ入力の第２の地点がＧＵＩ上で検出され、この第２の地点は角度セクタ内にある。実際には、これはユーザ入力が第１の位置から第２の位置へと移動したことを意味する。たとえばユーザがマウスを作動させ、結果としてカーソルが第１から第２の位置へと移動し、マウスのボタンは押し下げられたまま維持されている。第２の地点は角度セクタ内にあり、これはこの第２の地点のＧＵＩ内の位置が、角度セクタによってカバーされているＧＵＩ内の座標のセットに属する座標（ｘ，ｙ）を有することを意味する。検出は当分野で知られているように実行される。
【００３３】
次に図３を参照すると、ステップＳ４０が例証されている。ユーザはカーソル１８を、図２で表された第１の地点から図３で表された第２の地点へと移動し、ユーザ入力は維持されている。興味深いことに、第２の地点の検出はユーザ入力が環状セクタ１６の上にあるために可能となり、この方法によれば、カーソルが環状セクタの上にない間は第２の地点の検出は行われない。第２の地点の検出は、ユーザ入力が環状セクタ１６を横切った後にのみ可能となり得ることを理解されよう。
【００３４】
次いでステップＳ５０で、ユーザ入力の第２の地点が検出されている角度セクタが、コンピュータシステムによって活性化される。角度セクタを活性化することは、ユーザまたはシステムによって実行される後続の動作が、この角度セクタのみに関することになることを意味する。言い換えれば、ユーザ入力がユーザによって維持されている間、他の角度セクタ（あれば）は無視される。
【００３５】
興味深いことに、図１上に示されたディスク１４は、第２の位置が検出されないニュートラル域であり得るため、角度セクタの活性化は実施されない。これによってユーザは、角度セクタの望ましくない選択をトリガすることなく、第１の位置の周辺でカーソルをわずかに移動させることができる。
【００３６】
ユーザが別の角度セクタを選択したい（すなわち、ユーザが別のパラメータを選択したい）場合、ユーザは、ユーザ入力をニュートラル域１４に戻し、パイメニューの角度セクタのうちの１つの識別を再開することができる。
【００３７】
次に、ステップＳ６０で、選択された角度セクタ内にオブジェクトが表示される。オブジェクトという用語は、パラメータに割り当てられることになる値が選択される、パラメータの値のセットのグラフィカル表現を意味する。
【００３８】
このオブジェクトはライン４４とすることが可能であり、このライン上の位置はパラメータ値に関連付けることができる。典型的には、ライン４４は、ラインおよびハンドル４２を含むスライダ４０の一部である。ハンドルはライン上を移動（またはスライド）することができる。オブジェクト（たとえば、スライダ４０）の表示は、角度セクタ２０の活性化の結果として実施される。スライダはグラフィック要素であり、ユーザはこれを用いて角度セクタに関連付けられたパラメータの値を設定することができる。従来ユーザは、パラメータの値を修正するために、ハンドルをグラブして移動する。代替としてユーザは、ライン上のポイントをクリックして、このポイントでハンドルを移動し、値を適宜変更することも可能である。
【００３９】
オブジェクト（たとえば、スライダ４０）は、好ましくは環状セクタ１６の上部に表示される。有利なことに、スライダを表示するためにさらなるスペースが使用可能である。オブジェクトは環状セクタの下にも表示され得、この場合、スペースが少ないため、スライダの表現はより小さくなる。スライダは環状セクタを覆って表される場合もあり、したがってセクタ上に表される情報はスライダによって少なくとも部分的に隠される。
【００４０】
スライダのラインは典型的には、角度セクタ内に表示された円弧（円弧セグメント）である。円弧は典型的には中心用のポイント１４を有する。パラメータの値が修正される場合、ハンドルはこの円弧をたどることを理解されよう。
【００４１】
スライダは角度セクタの活性化後に表示され、スライダにおけるハンドルの位置はカスタマイズ可能なパラメータの前の値によって定義される。たとえば図４で、パラメータサイズの前の値は「１」であり（この場合、パラメータの値がまだ変更されていないため、前の値は現在の値でもある）、ハンドル４２はこの値「１」に関連付けられた位置で、スライダ４０のライン４４上に表示される。
【００４２】
さらに図４において、スライダは角度セクタ内に表示され、これは、スライダのグラフィック表現が完全にまたは部分的に角度セクタに包含されることを意味する。スライダは活性化された角度セクタの外に表示される場合があり、実際のところ、スライダの表示は角度セクタの活性化に依存し、スライダ上でのアクションは、ユーザ入力によってたどられる軌道に依存する。
【００４３】
角度セクタが活性化された場合、活性化された角度セクタの内側にあるパイメニュー１６の部分のグラフィック表現は、角度セクタの活性化をユーザに通知するために修正され得る。たとえば、図４の環状セクタの表現は、図３に比べてわずかに変更されている。
【００４４】
興味深いことに、ステップＳ６０では２つまたはそれ以上のオブジェクトが表示され得、たとえば角度セクタは２つまたはそれ以上のパラメータに関連付けられることができる。オブジェクトのうちの１つの選択は、これに関連付けられたパラメータの選択をトリガする。オブジェクトのうちの１つの選択は、第１の地点と第２の地点との間の距離に従って実行され得る。たとえば、２つまたはそれ以上のスライダは角度セクタの活性化の結果として表され得、表示されたスライダの中からのスライダの選択は、第１の地点と第２の地点との間の距離に依存する。いずれのスライダが現在使用（または選択）されているかをユーザに示すために、現在選択されているスライダのレンダリングが修正され得る。実際には、これは、ユーザ入力からの距離が最短のオブジェクト（たとえばスライダ）が選択されること、および、本発明に従い、このオブジェクト上の値が選択されることを意味する。他のオブジェクトに関連付けられた値は、たとえこれらのオブジェクトとユーザ入力が交差している場合であっても、一切選択されない。第１のオブジェクトの値が（ユーザ入力とオブジェクトとの間の交差の結果として）選択された後、ユーザはユーザ入力を維持し、他のオブジェクトのうちの１つを選択することができる。ここで選択は、ユーザ入力の位置とオブジェクトとの間の距離に依存し、最も近いオブジェクトが選択される。第２のオブジェクトが選択されると、たとえば図８に関して示されるステップを実行することによって、ユーザは新しい値を選択することが可能である。次に、パラメータの第２の値が選択されると、ユーザは、ユーザ入力の地点と第３のオブジェクトとの間の距離が、ユーザ入力の地点とオブジェクトの間の距離の中の最短距離であるように、カーソルを第３のオブジェクト方向に移動させることによって、第３のオブジェクトを選択することができる。第３のオブジェクトが選択されると、ユーザは、第２のオブジェクトの場合と同じ方法で新しい値を選択することができる。このプロセスは、ユーザが希望する新しいパラメータを選択するまで、反復可能である。明快にするために、ここで、ユーザが色の３つのパラメータを構成する例について考察するが、活性化される角度セクタ内には３つのスライダが表示される。第１のユーザ入力は、角度セクタ内に表示される第１のスライダと交差し、第１のスライダは色のパラメータ「色合い」を表す。ユーザ入力とスライダとの間の交差の結果として色合いが選択されると、ユーザは、色の「彩度」を表す第２のスライダの方向にユーザ入力を移動させる。第２のスライダは、第２のスライダとユーザ入力との間の距離が最短距離である場合に選択される。ユーザは、以下で説明するように、選択された角度セクタの二等分にほぼ直角な方向に、ユーザ入力を移動させる。ユーザは、パラメータ「彩度」の値を選択したい場合、カーソルを第３のスライダの方向へ移動させ、結果として第３が選択される。ユーザは、色のパラメータ「明度」を表す第３のスライダで、同じ方法を進行させる。したがって、ここで色の３つのパラメータ値が構成される。興味深いことに、ユーザはすべてのパラメータを構成する必要がなく、言い換えればユーザは、１つまたは複数のスライダについてのみパラメータ値を選択することが可能であり、他のスライダはそれらの以前の値を保持している。たとえば、ユーザがパラメータ「彩度」に対して新しい値を選択および検証した後、さらなる値は選択されず、パラメータ「明度」はその以前の値を保持する（これが、ここでは現在の値である）。
【００４５】
図７のフローチャートを再度参照すると、ステップＳ７０で、システムは、オブジェクトと、第１の地点と第２の地点との間に延在するセグメントとの間の交差ポイントを識別し、これは、セグメントが第１および第２の地点にリンクしていると言える。言い換えれば、システムは、オブジェクトと第２の地点との間の交差ポイントを識別する。交差ポイントは値に関連付けられ、この値は、ステップＳ８０で、パラメータの以前の値を置き換える新しい値として選択される。したがって値の選択は、第１の地点から移動したときの、ＧＵＩ上のユーザ入力の方向に依拠する。オブジェクト（たとえばスライダ）のポイントと交差ポイントとの間の関連付けは、当分野で知られているように実行される。
【００４６】
再度図４を参照すると、カーソル１８は第１の地点１４から第２の地点４８に移動し、これら２つの地点をリンクしているセグメントは、ポイント４６でスライダと交差する。この交差ポイント４６はパラメータ値「４」に関連付けられる。ユーザ入力は依然として維持されていることに留意されよう。
【００４７】
図２を参照しながら以前に考察されたように、環状セクタ１６は、パラメータ２１およびそのパラメータに現在関連付けられている値２２に関する情報を表示することができる。アクティブな角度セクタに関連付けられたパラメータの値の表示は、リアルタイム表示であり得る。これは、表示される値は選択された値であることを意味する。図５では、カーソル１８が地点５２にとどまる場合、値「４」がパラメータ「サイズ」に関連付けられることが可能である。
【００４８】
ステップＳ６０で表示されるスライダのハンドルは、好ましくは、カスタマイズ可能なパラメータの前の値によって定義される第１の位置に表示される。図４では、ハンドルはスライダの左に位置決めされ、この位置はパラメータ値「１」に関連付けられる。次いで、ユーザ入力がオブジェクト（たとえばスライダ）と交差した後、ステップＳ９０で、ハンドルは、ユーザ入力とオブジェクトとの交差ポイントである新しい位置４６を有する。このポイントは現在のパラメータ値「４」に関連付けられる。ハンドルの位置はリアルタイムで計算され得るため、ハンドルは、現在選択可能なパラメータ値の視覚的指示をユーザに提供することになる。ハンドルは第１の位置から、第２の位置へと、リアルタイムで移動する。これは、環状セクタ内での値のリアルタイム表示と共に実行され得る。
【００４９】
次いで、ステップＳ１００で、ユーザ入力はユーザによって解除される。結果として、値はシステムによって選択され、カスタマイズ可能なパラメータはこの値に関連付けられる。加えて、ユーザ入力の解除の結果として、パイメニューはＧＵＩから除去される。
【００５０】
図６では、ユーザはマウスの左ボタンを解除しており、パラメータ「サイズ」は値「４」を有する。興味深いことに、前に活性化された角度セクタ内部にあるパイメニュー１６の部分のグラフィック表現は、たとえば図３に示されるような、そのオリジナルの様相を取り戻している。興味深いことに、ユーザ入力の解除から期間が経過した後、パイメニューは消える。これによってユーザは、選択された値の視覚的フィードバックを有し得る。
【００５１】
図８のステップＳ９０に戻ると、ユーザは、図７のステップＳ１０からＳ８０の結果として選択された値に満足しない可能性がある。ステップＳ１００でユーザ入力を解除し、ステップＳ１０からＳ１００を再開する代わりに、ユーザは、ユーザ入力を第２の地点から第３の地点へと変位させる（図８、ステップＳ９００）ことによって、カスタマイズ可能なパラメータの新しい値を選択する可能性を有する。ユーザ入力は依然として維持されることに留意されたい。実際のところ、この第２の地点から第３の地点への変位は、選択された角度セクタの二等分に対してほぼ直角である。この、ほぼ直角という表現は、第２の地点５０および第３の地点５２をリンクするセグメントは、６０度から１２０度の間を含む二等分との角度を有することを意味する。第３の地点は、ユーザがパラメータの値を増やしたい場合、二等分の右側に配置される。値を減らすためには、ユーザ入力を二等分の左側に移動することができる。その逆に、ユーザは、値を増やす場合はユーザ入力を二等分の左側に移動し、値を減らす場合は二等分の右側に移動してもよい。これは単に設計の選択肢であることを理解されよう。
【００５２】
値の範囲の中からのパラメータ値の選択は、当分野で知られているように実行される。たとえば、この選択は、ランク付けされた値の範囲のトラバースを含むことができる。ここで、ランク付けという用語は、値の間に順位が存在することを意味し、各値が値のセット内に位置を有する値のチェーンが存在する。トラバースされる値の数は、第２の地点から第３の地点へのユーザ入力の変位の距離に比例する。距離はユークリッド距離、ピクセル数などであり得る。選択される値は、第３の地点に達した時点、すなわちユーザ入力の変位が停止した時点で、トラバース中に遭遇した最後の値である。セットの値をトラバースするための方向は、第３の地点の位置に依存する。たとえば、第３の地点が二等分の右側に置かれている場合、チェーンは左から右へとトラバースされ得る。その反対に、第３の地点が二等分の左側に置かれている場合、チェーンは右から左へとトラバースされ得る。これは単なる設計上の選択であることを理解されよう。
【００５３】
以前に述べられたように、カスタマイズ可能なパラメータは、新しい値の選択が生じる前に、すでに値（ここでは前の値と呼ばれる）に関連付けられることが可能である。ランク付けされた値のトラバースは、第３の地点に応じて前の値から値の範囲の左側または右側へと実行される。
【００５４】
最後の値（すなわち、２つの範囲境界のうちの１つの値）に達すると、たとえユーザが同じ方向に向かってユーザ入力の移動を続行する場合であっても、値の範囲のトラバースは停止する。
【００５５】
パラメータ値の選択は、図８に示されるように、第２の地点と第３の地点との間の距離によって定義され得る。ユーザ入力が変位される間にかなり多くの値がスクロールすることから、精密な値の選択はユーザにとって困難な可能性があり、これは、値の範囲が大きい（すなわち、選択可能な値の数が著しい）場合に特にあてはまる。選択の正確さは向上され得、第１の地点（パイメニューの中心）と第２の地点との間の距離にさらに依存し得、第２の地点と第３の地点との間の同じ距離について、潜在的に選択され得る値の数は同じではない。たとえば、トラバースされるランク付けされた値の数は、第１の地点と第２の地点との間の距離に比例する。
【００５６】
代替として、選択の正確さは、スライダと第２の地点との間の距離にさらに依存し得る。したがって、トラバースされるランク付けされた値の数は、スライダと第２の地点との間のこの第２の距離に比例する。
【００５７】
図１０は、値の選択の正確さが、スライダと、ユーザ入力が検出された第２の地点との間の距離に依存する例を示す。したがって、第２の地点と第３の地点との間で進行される同じ距離について、選択され得るパラメータ値も、第１の地点と第２の地点との間の距離に依存する。図１０では、ユーザ入力とスライダとの間の距離に従って、（ユーザ入力の第２の地点と第３の地点との間の同じ距離について）３つの異なるパラメータ値が選択される。
【００５８】
すでに考察したように、ステップＳ６０で表示されるスライダのハンドルの位置はリアルタイムで計算され得るため、ハンドルは、現在選択可能なパラメータ値の視覚的指示をユーザに提供することになる。ハンドルは第２の位置（Ｓ９０）から、ユーザ入力の第３の地点によって決定された現在の位置（第３の位置）へと、リアルタイムで移動することができる。これは、環状セクタ内での値のリアルタイム表示と共に実行され得る。
【００５９】
コンピュータに本発明を実行させるための命令を含むコンピュータプログラムは、ウィジェットとして埋め込まれ得る。ウィジェットという用語は、ＧＵＩ内に表示されるグラフィカル制御要素を意味する。したがってウィジェットは、ユーザが対話するソフトウェア構成要素である。ウィジェットは、方法を実行するためのコード手段を含む。特に、ウィジェットは、グラフィカルユーザインターフェース上に表示されるパイメニューを表示するための命令を含む。ウィジェットは、図１および図２を参照しながら示されるように、少なくとも１つの角度セクタが区切られた少なくとも１つの環状セクタを備える環帯を表示するための命令を含み得る。たとえば、パイメニューの環状セクタは、カスタマイズ可能なパラメータの選択された値を表示することができる。別の例として、スライダは、少なくとも１つの角度セクタ内の環帯の上または下、すなわち、選択された角度セクタ内の環状セクタの上または下に配置され得る。
【００６０】
本発明は、図９に示されるようなシステム上で実施され得る。プロセッサは、メモリおよびディスプレイデバイスに通信可能に結合される。メモリは、本発明をプロセッサに実行させる命令をその上に記録している。ディスプレイはＧＵＩを示す。システムは、その後ユーザ入力に変換されるユーザアクションを受信するための、触覚デバイスをさらに含む。興味深いことに、本発明は、タッチ反応性ディスプレイを備えるシステム、たとえばタブレット上で実装され得る。
【００６１】
本発明の好ましい実施形態が説明されてきた。本発明の趣旨および範囲を逸脱することなく、様々な修正が実行され得ることを理解されよう。したがって他の実装は、以下の特許請求の範囲内にある。
【図１】
0006767110.tif 000002
【図２】
0006767110.tif 000003
【図３】
0006767110.tif 000004
【図４】
0006767110.tif 000005
【図５】
0006767110.tif 000006
【図６】
0006767110.tif 000007
【図７】
0006767110.tif 000008
【図８】
0006767110.tif 000009
【図９】
0006767110.tif 000010
【図１０】
0006767110.tif 000011