(58)【調査した分野】(Int.Cl.,DB名)
前記少なくとも1つのハンドルを表示するステップはさらに、前記パラメータの前の値によって定義された第1の位置に前記少なくとも1つのハンドルを表示することを含み、前記少なくとも1つのハンドルを配置するステップは、前記少なくとも1つの角度セクタ内の前記少なくとも1つのハンドルを、前記第1の位置から前記交差ポイントへと移動すること(S80)を含むことを特徴とする請求項2に記載のコンピュータ実装方法。
前記少なくとも1つのハンドルの前記第1の位置から前記交差ポイントへの移動は、ラインであるオブジェクトに沿い、前記少なくとも1つのハンドルおよび前記ラインはスライダを形成することを特徴とする請求項3に記載のコンピュータ実装方法。
前記選択するステップの後、前記ユーザ入力を前記第2の地点から第3の地点に変位することによって以前に選択された値を置き換える、カスタマイズ可能なパラメータの第2の値を、値の前記セットの中から選択することをさらに含むことを特徴とする請求項2ないし5のいずれか1項に記載のコンピュータ実装方法。
前記少なくとも1つのハンドルを、交差ポイントから前記第3の地点に従って取得された第2の位置へ移動することによって、前記選択された第2の値に従って前記少なくとも1つのハンドルを配置するステップをさらに含むことを特徴とする請求項7に記載のコンピュータ実装方法。
前記ユーザ入力を解除し、それによって前記カスタマイズ可能なパラメータの選択された値を検証すること、および、前記グラフィカルユーザインターフェース上に表示された前記パイメニューを除去することをさらに含むことを特徴とする請求項1ないし11のいずれか1項に記載のコンピュータ実装方法。
【背景技術】
【0002】
グラフィカルユーザインターフェースにおいて、パイメニューは、アクションの選択を実行するためまたは機能をトリガするために幅広く使用される。パイメニューは、メニュー項目が中心点の周囲にほぼ円形の配置構成で表示されるため、ラジアルメニューとも呼ばれる。メニュー項目の各々は、項目を表すアイコンまたはテキストに加えて、パイメニューセクタ、すなわちパイメニュー全体のセクタである、選択可能域を有する。パイメニューは一般に、それらの動作を始動するパイメニュー
活性化入力によって実装される。次いで、後続の入力は、パイメニュー選択入力、すなわち、パイメニューセクタのうちの1つを選択する入力として解釈され得る。いったんパイメニューセクタが選択されると、通常、そのセクタに割り振られたパイメニュー項目に関連付けられたアクションが実行される。パイメニュー項目に関連付けられたアクションは、項目に関連付けられた1つの値の選択であり得るか、または機能のトリガ、たとえば3Dモデル化オブジェクト上へのテクスチャの追加であり得る。
【0003】
パイメニューは、いくつかの欠点を持つ。第1は、ポインタベースでないユーザ対話に問題があり得ることである。特に、タッチスクリーンに接触している付属器官(たとえば指)が、ユーザ対話の配置およびユーザ対話の両方を実行するため、タッチスクリーンは問題がある。
【0004】
第2の欠点は、パイメニューにおける選択の正確さが、メニューが提示する項目の数に関係することである。メニュー項目の数が多いほど、選択のためのより高い角度精度が必要である。そのため、パイメニューは、メニュー項目の数とメニューからの選択し易さとの間のトレードオフを伴う。これは、(範囲内の)連続する値の選択という状況において特に問題であり、たとえば、ユーザの作業域を確保しておくためにパイメニューのサイズが制限される。
【0005】
問題の解決策は、各メニュー項目がサブメニュー項目につながり、それら自体が、ユーザが探している値を見つけるまでサブメニュー項目につながる、パイメニューを実装することである。しかしながらこの種の解決策は、メニュー項目の連続する選択は、カーソルとメニュー項目との間の距離に依存するより高速でより信頼性の高い選択という、パイメニューの動作の原理に逆らうものであるため、満足のいくものではなく、サイズが大きく高速対話のためにポインタに近いメニュースライスは、選択の実行中にメニューを見ることなく選択を使用する。
【0006】
この状況において、連続する値の範囲内で選択されるパラメータの値をパイメニューにおいて設定するための改良された方法が依然として求められている。
【発明の概要】
【課題を解決するための手段】
【0007】
したがって、パラメータを設定するコンピュータ実装方法が提供される。方法は、グラフィカルユーザインターフェース上の第1の地点でのユーザ入力を検出することであって、ユーザ入力は維持される、検出すること、グラフィカルユーザインターフェース上に第1の地点を中心としてパイメニューを表示することであって、パイメニューはカスタマイズ可能なパラメータに関連付けられた少なくとも1つの角度セクタ(angular sector)を含む、表示すること、少なくとも1つの角度セクタ内でグラフィカルユーザインターフェース上のユーザ入力の第2の地点を検出すること、および、検出された第2の地点に従って、値のセットの中からカスタマイズ可能なパラメータの値を選択することを含む。
【0008】
方法は、
−値のセットは少なくとも1つの角度セクタ内のオブジェクトによって表され、選択するステップは、
オブジェクトと、第1の地点と第2の地点との間に延在するセグメントとの間の交差ポイントを識別すること、交差ポイントに関連付けられた値をカスタマイズ可能なパラメータの値として選択すること、
−第2の地点を検出するステップの後、少なくとも1つの角度セクタを
活性化すること、角度ゾーンの
活性化の結果として、少なくとも1つの角度セクタ内のオブジェクト上に少なくとも1つのハンドルを表示すること、および、さらに、選択するステップの後、少なくとも1つのハンドルを、交差ポイントで少なくとも1つの角度セクタ内に配置することを、さらに含み、
−少なくとも1つのハンドルを表示するステップは、パラメータの前の値によって定義された第1の位置に少なくとも1つのハンドルを表示することをさらに含み、少なくとも1つのハンドルを配置するステップは、少なくとも1つの角度セクタ内の少なくとも1つのハンドルを、第1の位置から交差ポイントへと移動すること(S80)を含み、
−少なくとも1つのハンドルの第1の位置から交差ポイントへの移動は、ラインであるオブジェクトに沿い、少なくとも1つのハンドルおよびラインはスライダを形成し、
−少なくとも1つのハンドルはハンドルのセットの中から選択され、選択は、第2の地点と第1の地点との間の距離に従って実施され、
−選択するステップの後、ユーザ入力を第2の地点から第3の地点に変位することによって以前に選択された値を置き換える、カスタマイズ可能なパラメータの第2の値を、値のセットの中から選択すること、
−値のセットの中からの第2の値の選択は、以前に選択されたパラメータの値からセットのランク付けされた値をトラバースすることであって、トラバースされるランク付けされた値の数は、第2の地点から第3の地点へのユーザ入力の変位の距離に比例する、トラバースすること、第3の地点に達した時点で、トラバース中に遭遇した最後の値をカスタマイズ可能なパラメータの値として選択すること、
−少なくとも1つのハンドルを、交差ポイントから第3の地点に従って取得された第2の位置へ移動することによって、選択された第2の値に従って少なくとも1つのハンドルを配置するステップ、
−第2の地点から第3の地点への変位は、少なくとも1つの角度セクタの二等分に対してほぼ直角であり、
−トラバースされるランク付けされた値の数は、第2の地点と第1の地点との間の第2の距離にさらに比例し、
−ランク付けされた値をトラバースする間に、現在遭遇している値をリアルタイムで表示すること、
−ユーザ入力を解除し、それによってカスタマイズ可能なパラメータの選択された値を検証すること、および、グラフィカルユーザインターフェース上に表示されたパイメニューを除去すること、
をさらに含むことができる。
【0009】
上記方法を実行するためのコード手段を含むウィジェットも提供され、グラフィカルユーザインターフェース上に表示されるパイメニューは、少なくとも1つの角度セクタを区切った少なくとも1つの環状セクタを伴う環帯を含み、少なくとも1つの環状セクタは、カスタマイズ可能なパラメータの選択された値を表示する。
【0010】
メモリおよびディスプレイに通信可能に結合されたプロセッサを含むシステムも提供され、メモリは、プロセッサに上記方法を実行させる命令をその上に記録している。
【0011】
上記方法を実行するための命令を含むコンピュータプログラムがさらに提供される。
【0012】
コンピュータプログラムがその上に記録された、コンピュータ可読記憶媒体がさらに提供される。
【0013】
次に本発明の実施形態が、非限定的な例を用い、図面を参照しながら説明される。
【発明を実施するための形態】
【0015】
図7のフローチャートを参照すると、パイメニューを用いてパラメータを設定する、コンピュータ実装方法が提案されている。方法は、グラフィカルユーザインターフェース(GUI)上の第1の地点でのユーザ入力の検出を含む。ユーザ入力は維持される。方法は、第1の地点を中心としたパイメニューの表示をさらに含む。パイメニューの表示はGUI内で実行され、いったん表示されるとGUIの一部である。パイメニューは、カスタマイズ可能なパラメータに関連付けられた少なくとも1つの角度セクタを含む。加えて、方法は、パイメニューの少なくとも角度セクタにおけるユーザ入力の第2の地点の検出を含む。第2の地点はGUI上にある。方法は、GUIにおいて第2の地点に従って、カスタマイズ可能なパラメータの値の選択も含む。パラメータの値は、値のセットの中から選択される。典型的には、値のセットは連続する値の範囲を形成する。
【0016】
本発明の方法は、パラメータ値のセットの中からパラメータ値を選択するための、効率的な解決策を提供する。パイメニューのパイスライスに値を関連付ける代わりに、本発明は、パイスライスにパラメータを関連付けることが可能であり、ユーザ入力の地点に従ってパラメータの値が選択され、このユーザ入力は、パラメータに関連付けられたパイスライスの選択を以前にトリガしたユーザ入力と同じである。パラメータ値の選択は、もはやパイスライスの選択と直接リンクされていないが、これに対してユーザ入力の地点により、値のセットの中から1つの値を選択することが可能であり、パイメニューの利点を保持している。実際には、パイメニュー上での動作は、動作(たとえばパイスライスの選択)を実行するためのユーザ入力軌道に依拠しており、パイメニューが提示する生産性に逆らう精密かつ正確なユーザアクションには依拠していない。加えて、本発明のすべてのステップは、1つの単一ユーザ入力を用いて実行されるため、値の範囲内にある値を選択するためのユーザアクションの数を大幅に低減させる。これは、ユーザアクションの数、および選択を実施するためにマウスによって移動される距離を低減させるのみならず、選択プロセスの速度を増加させる。本発明の他の利点が、説明において論じられる。
【0017】
方法はコンピュータ実装である。これは、方法のステップ(またはほぼすべてのステップ)が、少なくとも1つのコンピュータ、または任意の同様のシステムによって実行されることを意味する。したがって方法のステップは、場合によっては完全に自動的に、または半自動的に、コンピュータによって実行される。例では、方法のステップのうちの少なくともいくつかをトリガすることは、ユーザコンピュータ間対話を介して実行され得る。要求されるユーザコンピュータ間対話のレベルは、予見され、ユーザの希望を実装するためのニーズと釣り合わされた、自動性(automatism)のレベルに依存し得る。例では、このレベルはユーザ定義済みおよび/または事前定義済みであり得る。
【0018】
方法のコンピュータ実装の典型的な例は、この目的に適合されたシステムを用いて方法を実行することである。システムは、メモリに結合されたプロセッサおよびグラフィカルユーザインターフェース(GUI)を含み得、メモリは、方法を実行するための命令を含むコンピュータプログラムをその上に記録している。メモリは、データベースも記憶し得る。メモリは、こうした記憶に適合された任意のハードウェアであり、場合によってはいくつかの物理的に別個の部分(たとえば、プログラム用の部分、および場合によってはデータベース用の部分)を含む。
【0019】
「データベース」とは、検索および取り出し用に編成されたデータ(すなわち情報)の任意の集合が意図される。メモリ上に記憶される場合、データベースはコンピュータによる高速の検索および取り出しを可能にする。データベースは、実際には、様々なデータ処理動作と関連して、データの記憶、取り出し、修正、および削除を容易にするように構成される。データベースは、それぞれが1または複数のフィールドからなる記録に分類され得る、ファイルまたはファイルのセットからなり得る。フィールドは、データ記憶の基本単位である。ユーザは、主にクエリを介してデータを取り出すことができる。ユーザは、キーワードおよびソートコマンドを使用して、使用されているデータベース管理システムの規則に従って、データの特定の集合体に関するレポートを取り出すかまたは作成するために、多くの記録内のフィールドを高速で検索、再配置、グループ化、および選択することが可能である。
【0020】
図9は、本発明の方法を実行するためのシステムの例を示す。システムは、典型的にはコンピュータ、たとえばパーソナルコンピュータである。
図9のコンピュータは、内部通信バス1000に接続された中央処理ユニット(CPU)1010、同じくバスに接続されたランダムアクセスメモリ(RAM)1070を含む。コンピュータには、バスに接続されたビデオランダムアクセスメモリ1100に関連付けられた、グラフィカル処理ユニット(GPU)1110がさらに提供される。ビデオRAM 1100は、従来技術ではフレームバッファとしても知られている。大容量記憶デバイスコントローラ1020は、ハードドライブ1030などの大容量メモリデバイスへのアクセスを管理する。コンピュータプログラム命令およびデータを有形に具体化するために好適な大容量メモリデバイスは、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスクおよび取り外し可能ディスクなどの磁気ディスク、磁気光学ディスク、ならびにCD−ROMディスク1040を含む、すべての形の不揮発性メモリを含む。前述のうちのいずれかは、特別に設計されたASIC(特定用途向け集積回路)によって補足されるか、またはこれに組み込まれ得る。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。コンピュータは、カーソル制御デバイス、キーボード、またはその他などの、触覚デバイス1090も含み得る。カーソル制御デバイスは、ユーザがディスプレイ1080上の任意の所望の地点にカーソルを選択的に配置できるようにするために、コンピュータ内で使用される。加えて、カーソル制御デバイスは、ユーザが様々なコマンドを選択すること、および制御信号を入力することを可能にする。カーソル制御デバイスは、制御信号をシステムに入力するためのいくつかの信号生成デバイスを含む。典型的には、カーソル制御デバイスはマウスであり得、マウスのボタンは信号を生成するために使用される。代替または追加として、コンピュータシステムは、反応性パッドおよび/または反応性スクリーンを含むことができる。
【0021】
本発明は、コンピュータプログラムによって実装され得る。コンピュータプログラムは、コンピュータによって実行可能な命令を含み、命令は、上記システムに方法を実行させるための手段を含む。プログラムは、システムのメモリを含む、任意のデータ記憶媒体上に記録可能であり得る。プログラムは、たとえば、デジタル電子回路において、または、コンピュータハードウェア、ファームウェア、ソフトウェア、もしくはそれらの組み合わせにおいて、実装され得る。プログラムは、装置、たとえばプログラマブルプロセッサによる実行のために機械可読記憶デバイス内に有形に具体化された製品として、実装され得る。方法ステップは、入力データ上での動作および出力の生成によって方法の機能を実行するために命令のプログラムを実行するプログラマブルプロセッサによって、実行され得る。したがってプロセッサは、データ記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスから、データおよび命令を受信するため、ならびに、それらにデータおよび命令を送信するために、プログラムおよび結合され得る。アプリケーションプログラムは、高水準手続き型もしくはオブジェクト指向プログラミング言語で、または、所望であればアセンブリもしくは機械言語で、実装され得る。いずれの場合も、言語はコンパイラ型またはインタプリタ型の言語であり得る。プログラムは、完全インストールプログラムまたは更新プログラムであり得る。システム上でのプログラムの適用の結果として、いずれの場合も、方法を実行するための命令が生じる。
【0022】
図7を再度参照すると、ステップS10で、方法を実行するコンピュータシステムによって、ユーザにグラフィカルユーザインターフェース(GUI)が示される。GUIは、ユーザがコンピュータシステムと対話できるようにするインターフェースである。対話は、通常、ユーザ選択可能アイコンのセットを含むメニューおよびツールバーを用いて実行され、各アイコンは、当分野で知られているように、1または複数の動作または機能に関連付けられている。パイメニューはこうしたツールバーである。GUIは、様々なタイプのグラフィックツールをさらに示し得、たとえば、コンピュータに支援された設計システムのGUIは、オブジェクトの3D定位を容易にするため、編集済み製品の動作のシミュレーションをトリガするため、または、表示された製品の様々な属性をレンダリングするための、グラフィックツールを含み得る。カーソルは、一般に、GUIと対話するために使用される、触覚デバイス1090のカーソルである。対話は、GUIを示すタッチ反応性ディスプレイ上で直接実行され得、たとえば、ユーザの指などの付属器官またはスタイラスが、典型的にはGUIと対話するために使用される。本発明は、ユーザ入力またはユーザ対話を受け入れる任意の種類のGUI上で実施され得ることを理解されよう。
【0023】
次に、ステップS20で、ユーザ入力が検出される。検出はシステムによって実施され、入力はユーザアクションの結果である。ユーザ入力はGUIとの対話であり、たとえばユーザはマウスのボタンをクリックする、ユーザはマウスのカーソルを移動させる、スクリーン上に指を置く、などである。ユーザ入力の検出は、当分野で知られているように実行される。ディスプレイ上でのユーザ入力の地点(x,y)は、GUI上の第1の地点である。重要なことに、ユーザ入力は維持される。これは、ユーザアクションが続く間、システムが信号を継続的に受信することを意味する。たとえばユーザは、マウス上のボタンを継続的に押し下げたまま保持し、ボタンはユーザによって解除されない。したがって、方法のさらなるステップは、特に指定されていない限り、ユーザ入力が維持された状態で実施される。
【0024】
次いで、ステップS30で、コンピュータシステムによってパイメニューがGUI上に表示される。これは、当分野で知られているように実行される。たとえば、GUIが3次元(3D)シーンを示し、3D(モデル化)オブジェクトが配置された場合、パイメニューは3Dシーンの上に現れ、すなわちパイメニューは、シーンおよびオブジェクトが表示のために投影される平面図上に表示される。
【0025】
GUI上に現れるパイメニューは、第1の地点を中心としている。これは、パイメニューの1つの特定ポイントがユーザ入力の地点を表すポイントと一致することを意味する。
【0026】
次に
図1を参照すると、当分野で知られているような、本発明で使用可能なパイメニュー10の例が示されている。パイメニュー10は環帯、すなわちリング状オブジェクトの形を有し、領域は共通の中心を有する2つの同心円によって境界を画されている。ポイント14はこれら2つの円の共通の中心であり、パイメニュー10の中心でもある。中心14は、カーソル18を用いたユーザ入力の結果として、GUI内に定義された第1の地点と一致する。パイメニューは、不規則であり得る放射状の形状を有し、たとえばパイメニューは六角形または中心を有する任意の他の形状であり得、その中心からパイメニューに関連付けられた機能へのアクセスが、中心からほぼ等距離にあることを理解されよう。パイメニューは任意の形状を有し得、前述の六角形などの幾何学的形状に限定されない。パイメニューは8つのパイスライスまたは環状セクタ、たとえば環状セクタ16に分割される。パイメニューは、中心としてポイント14を有するディスク12をさらに含む。
【0027】
ステップS30に戻ると、第1の地点を中心として現れるパイメニューは、1または複数の角度セクタを含み、各角度セクタはカスタマイズ可能なパラメータに関連付けられている。
【0028】
角度セクタという表現は、共通のエンドポイントを共有する2本の半直線間に含まれるゾーンを意味する。2本の半直線は、優角でない角度を形成する。
図2はパイメニューの別の例であり、2本の半直線24、26はパイメニューの中心であるポイント14を共有している。ゾーン20はこれら2本の半直線の間に延在し、ゾーンは非優角を含む。優角を含む第2のゾーンもカスタマイズ可能なパラメータに関連付けられ得ることを理解されよう。
【0029】
カスタマイズ可能パラメータという表現は、値に関連付けられたパラメータを意味し、値は値の範囲に属する。範囲の各値はパラメータに関連付けられ得、一度に1つの値がパラメータに関連付けられることが理解される。値の範囲は、離散値とは反対に、好ましくは連続値のセットを形成する。値という用語はデータの同義語である。値の範囲は有限または無限であり得る。明快にするために、温度が角度セクタに関連付けられたカスタマイズ可能なパラメータであり得、このパラメータに関連付けられた値は温度の範囲(たとえば0〜100ケルビン)に属する。
【0030】
さらに
図2を参照すると、角度セクタ20は、この例では環帯のセクタであるパイスライス16を含む。環状セクタ16は、角度セクタに関連付けられたパラメータ21に関する情報(ここではパラメータの名前は「サイズ」)を表示し得、現時点でパラメータに関連付けられた値22(ここでは値「1」)を表示し得る。
【0031】
図2はステップS20およびS30を例証しており、この間、ユーザはカーソル18を制御する触覚デバイスのボタンを押し下げたまま維持し、パイメニューはカーソル18のヘッドのポイント14を中心として表される。
【0032】
次にステップS40で、ユーザ入力の第2の地点がGUI上で検出され、この第2の地点は角度セクタ内にある。実際には、これはユーザ入力が第1の位置から第2の位置へと移動したことを意味する。たとえばユーザがマウスを作動させ、結果としてカーソルが第1から第2の位置へと移動し、マウスのボタンは押し下げられたまま維持されている。第2の地点は角度セクタ内にあり、これはこの第2の地点のGUI内の位置が、角度セクタによってカバーされているGUI内の座標のセットに属する座標(x,y)を有することを意味する。検出は当分野で知られているように実行される。
【0033】
次に
図3を参照すると、ステップS40が例証されている。ユーザはカーソル18を、
図2で表された第1の地点から
図3で表された第2の地点へと移動し、ユーザ入力は維持されている。興味深いことに、第2の地点の検出はユーザ入力が環状セクタ16の上にあるために可能となり、この方法によれば、カーソルが環状セクタの上にない間は第2の地点の検出は行われない。第2の地点の検出は、ユーザ入力が環状セクタ16を横切った後にのみ可能となり得ることを理解されよう。
【0034】
次いでステップS50で、ユーザ入力の第2の地点が検出されている角度セクタが、コンピュータシステムによって
活性化される。角度セクタを
活性化することは、ユーザまたはシステムによって実行される後続の動作が、この角度セクタのみに関することになることを意味する。言い換えれば、ユーザ入力がユーザによって維持されている間、他の角度セクタ(あれば)は無視される。
【0035】
興味深いことに、
図1上に示されたディスク14は、第2の位置が検出されないニュートラル域であり得るため、角度セクタの
活性化は実施されない。これによってユーザは、角度セクタの望ましくない選択をトリガすることなく、第1の位置の周辺でカーソルをわずかに移動させることができる。
【0036】
ユーザが別の角度セクタを選択したい(すなわち、ユーザが別のパラメータを選択したい)場合、ユーザは、ユーザ入力をニュートラル域14に戻し、パイメニューの角度セクタのうちの1つの識別を再開することができる。
【0037】
次に、ステップS60で、選択された角度セクタ内にオブジェクトが表示される。オブジェクトという用語は、パラメータに割り当てられることになる値が選択される、パラメータの値のセットのグラフィカル表現を意味する。
【0038】
このオブジェクトはライン44とすることが可能であり、このライン上の位置はパラメータ値に関連付けることができる。典型的には、ライン44は、ラインおよびハンドル42を含むスライダ40の一部である。ハンドルはライン上を移動(またはスライド)することができる。オブジェクト(たとえば、スライダ40)の表示は、角度セクタ20の
活性化の結果として実施される。スライダはグラフィック要素であり、ユーザはこれを用いて角度セクタに関連付けられたパラメータの値を設定することができる。従来ユーザは、パラメータの値を修正するために、ハンドルをグラブして移動する。代替としてユーザは、ライン上のポイントをクリックして、このポイントでハンドルを移動し、値を適宜変更することも可能である。
【0039】
オブジェクト(たとえば、スライダ40)は、好ましくは環状セクタ16の上部に表示される。有利なことに、スライダを表示するためにさらなるスペースが使用可能である。オブジェクトは環状セクタの下にも表示され得、この場合、スペースが少ないため、スライダの表現はより小さくなる。スライダは環状セクタを覆って表される場合もあり、したがってセクタ上に表される情報はスライダによって少なくとも部分的に隠される。
【0040】
スライダのラインは典型的には、角度セクタ内に表示された円弧(円弧セグメント)である。円弧は典型的には中心用のポイント14を有する。パラメータの値が修正される場合、ハンドルはこの円弧をたどることを理解されよう。
【0041】
スライダは角度セクタの
活性化後に表示され、スライダにおけるハンドルの位置はカスタマイズ可能なパラメータの前の値によって定義される。たとえば
図4で、パラメータサイズの前の値は「1」であり(この場合、パラメータの値がまだ変更されていないため、前の値は現在の値でもある)、ハンドル42はこの値「1」に関連付けられた位置で、スライダ40のライン44上に表示される。
【0042】
さらに
図4において、スライダは角度セクタ内に表示され、これは、スライダのグラフィック表現が完全にまたは部分的に角度セクタに包含されることを意味する。スライダは
活性化された角度セクタの外に表示される場合があり、実際のところ、スライダの表示は角度セクタの
活性化に依存し、スライダ上でのアクションは、ユーザ入力によってたどられる軌道に依存する。
【0043】
角度セクタが
活性化された場合、
活性化された角度セクタの内側にあるパイメニュー16の部分のグラフィック表現は、角度セクタの
活性化をユーザに通知するために修正され得る。たとえば、
図4の環状セクタの表現は、
図3に比べてわずかに変更されている。
【0044】
興味深いことに、ステップS60では2つまたはそれ以上のオブジェクトが表示され得、たとえば角度セクタは2つまたはそれ以上のパラメータに関連付けられることができる。オブジェクトのうちの1つの選択は、これに関連付けられたパラメータの選択をトリガする。オブジェクトのうちの1つの選択は、第1の地点と第2の地点との間の距離に従って実行され得る。たとえば、2つまたはそれ以上のスライダは角度セクタの
活性化の結果として表され得、表示されたスライダの中からのスライダの選択は、第1の地点と第2の地点との間の距離に依存する。いずれのスライダが現在使用(または選択)されているかをユーザに示すために、現在選択されているスライダのレンダリングが修正され得る。実際には、これは、ユーザ入力からの距離が最短のオブジェクト(たとえばスライダ)が選択されること、および、本発明に従い、このオブジェクト上の値が選択されることを意味する。他のオブジェクトに関連付けられた値は、たとえこれらのオブジェクトとユーザ入力が交差している場合であっても、一切選択されない。第1のオブジェクトの値が(ユーザ入力とオブジェクトとの間の交差の結果として)選択された後、ユーザはユーザ入力を維持し、他のオブジェクトのうちの1つを選択することができる。ここで選択は、ユーザ入力の位置とオブジェクトとの間の距離に依存し、最も近いオブジェクトが選択される。第2のオブジェクトが選択されると、たとえば
図8に関して示されるステップを実行することによって、ユーザは新しい値を選択することが可能である。次に、パラメータの第2の値が選択されると、ユーザは、ユーザ入力の地点と第3のオブジェクトとの間の距離が、ユーザ入力の地点とオブジェクトの間の距離の中の最短距離であるように、カーソルを第3のオブジェクト方向に移動させることによって、第3のオブジェクトを選択することができる。第3のオブジェクトが選択されると、ユーザは、第2のオブジェクトの場合と同じ方法で新しい値を選択することができる。このプロセスは、ユーザが希望する新しいパラメータを選択するまで、反復可能である。明快にするために、ここで、ユーザが色の3つのパラメータを構成する例について考察するが、
活性化される角度セクタ内には3つのスライダが表示される。第1のユーザ入力は、角度セクタ内に表示される第1のスライダと交差し、第1のスライダは色のパラメータ「色合い」を表す。ユーザ入力とスライダとの間の交差の結果として色合いが選択されると、ユーザは、色の「彩度」を表す第2のスライダの方向にユーザ入力を移動させる。第2のスライダは、第2のスライダとユーザ入力との間の距離が最短距離である場合に選択される。ユーザは、以下で説明するように、選択された角度セクタの二等分にほぼ直角な方向に、ユーザ入力を移動させる。ユーザは、パラメータ「彩度」の値を選択したい場合、カーソルを第3のスライダの方向へ移動させ、結果として第3が選択される。ユーザは、色のパラメータ「明度」を表す第3のスライダで、同じ方法を進行させる。したがって、ここで色の3つのパラメータ値が構成される。興味深いことに、ユーザはすべてのパラメータを構成する必要がなく、言い換えればユーザは、1つまたは複数のスライダについてのみパラメータ値を選択することが可能であり、他のスライダはそれらの以前の値を保持している。たとえば、ユーザがパラメータ「彩度」に対して新しい値を選択および検証した後、さらなる値は選択されず、パラメータ「明度」はその以前の値を保持する(これが、ここでは現在の値である)。
【0045】
図7のフローチャートを再度参照すると、ステップS70で、システムは、
オブジェクトと、第1の地点と第2の地点との間に延在するセグメントとの間の交差ポイントを識別し、これは、セグメントが第1および第2の地点にリンクしていると言える。言い換えれば、システムは、オブジェクトと第2の地点との間の交差ポイントを識別する。交差ポイントは値に関連付けられ、この値は、ステップS80で、パラメータの以前の値を置き換える新しい値として選択される。したがって値の選択は、第1の地点から移動したときの、GUI上のユーザ入力の方向に依拠する。オブジェクト(たとえばスライダ)のポイントと交差ポイントとの間の関連付けは、当分野で知られているように実行される。
【0046】
再度
図4を参照すると、カーソル18は第1の地点14から第2の地点48に移動し、これら2つの地点をリンクしているセグメントは、ポイント46でスライダと交差する。この交差ポイント46はパラメータ値「4」に関連付けられる。ユーザ入力は依然として維持されていることに留意されよう。
【0047】
図2を参照しながら以前に考察されたように、環状セクタ16は、パラメータ21およびそのパラメータに現在関連付けられている値22に関する情報を表示することができる。アクティブな角度セクタに関連付けられたパラメータの値の表示は、リアルタイム表示であり得る。これは、表示される値は選択された値であることを意味する。
図5では、カーソル18が地点52にとどまる場合、値「4」がパラメータ「サイズ」に関連付けられることが可能である。
【0048】
ステップS60で表示されるスライダのハンドルは、好ましくは、カスタマイズ可能なパラメータの前の値によって定義される第1の位置に表示される。
図4では、ハンドルはスライダの左に位置決めされ、この位置はパラメータ値「1」に関連付けられる。次いで、ユーザ入力がオブジェクト(たとえばスライダ)と交差した後、ステップS90で、ハンドルは、ユーザ入力とオブジェクトとの交差ポイントである新しい位置46を有する。このポイントは現在のパラメータ値「4」に関連付けられる。ハンドルの位置はリアルタイムで計算され得るため、ハンドルは、現在選択可能なパラメータ値の視覚的指示をユーザに提供することになる。ハンドルは第1の位置から、第2の位置へと、リアルタイムで移動する。これは、環状セクタ内での値のリアルタイム表示と共に実行され得る。
【0049】
次いで、ステップS100で、ユーザ入力はユーザによって解除される。結果として、値はシステムによって選択され、カスタマイズ可能なパラメータはこの値に関連付けられる。加えて、ユーザ入力の解除の結果として、パイメニューはGUIから除去される。
【0050】
図6では、ユーザはマウスの左ボタンを解除しており、パラメータ「サイズ」は値「4」を有する。興味深いことに、前に
活性化された角度セクタ内部にあるパイメニュー16の部分のグラフィック表現は、たとえば
図3に示されるような、そのオリジナルの様相を取り戻している。興味深いことに、ユーザ入力の解除から期間が経過した後、パイメニューは消える。これによってユーザは、選択された値の視覚的フィードバックを有し得る。
【0051】
図8のステップS90に戻ると、ユーザは、
図7のステップS10からS80の結果として選択された値に満足しない可能性がある。ステップS100でユーザ入力を解除し、ステップS10からS100を再開する代わりに、ユーザは、ユーザ入力を第2の地点から第3の地点へと変位させる(
図8、ステップS900)ことによって、カスタマイズ可能なパラメータの新しい値を選択する可能性を有する。ユーザ入力は依然として維持されることに留意されたい。実際のところ、この第2の地点から第3の地点への変位は、選択された角度セクタの二等分に対してほぼ直角である。この、ほぼ直角という表現は、第2の地点50および第3の地点52をリンクするセグメントは、60度から120度の間を含む二等分との角度を有することを意味する。第3の地点は、ユーザがパラメータの値を増やしたい場合、二等分の右側に配置される。値を減らすためには、ユーザ入力を二等分の左側に移動することができる。その逆に、ユーザは、値を増やす場合はユーザ入力を二等分の左側に移動し、値を減らす場合は二等分の右側に移動してもよい。これは単に設計の選択肢であることを理解されよう。
【0052】
値の範囲の中からのパラメータ値の選択は、当分野で知られているように実行される。たとえば、この選択は、ランク付けされた値の範囲のトラバースを含むことができる。ここで、ランク付けという用語は、値の間に順位が存在することを意味し、各値が値のセット内に位置を有する値のチェーンが存在する。トラバースされる値の数は、第2の地点から第3の地点へのユーザ入力の変位の距離に比例する。距離はユークリッド距離、ピクセル数などであり得る。選択される値は、第3の地点に達した時点、すなわちユーザ入力の変位が停止した時点で、トラバース中に遭遇した最後の値である。セットの値をトラバースするための方向は、第3の地点の位置に依存する。たとえば、第3の地点が二等分の右側に置かれている場合、チェーンは左から右へとトラバースされ得る。その反対に、第3の地点が二等分の左側に置かれている場合、チェーンは右から左へとトラバースされ得る。これは単なる設計上の選択であることを理解されよう。
【0053】
以前に述べられたように、カスタマイズ可能なパラメータは、新しい値の選択が生じる前に、すでに値(ここでは前の値と呼ばれる)に関連付けられることが可能である。ランク付けされた値のトラバースは、第3の地点に応じて前の値から値の範囲の左側または右側へと実行される。
【0054】
最後の値(すなわち、2つの範囲境界のうちの1つの値)に達すると、たとえユーザが同じ方向に向かってユーザ入力の移動を続行する場合であっても、値の範囲のトラバースは停止する。
【0055】
パラメータ値の選択は、
図8に示されるように、第2の地点と第3の地点との間の距離によって定義され得る。ユーザ入力が変位される間にかなり多くの値がスクロールすることから、精密な値の選択はユーザにとって困難な可能性があり、これは、値の範囲が大きい(すなわち、選択可能な値の数が著しい)場合に特にあてはまる。選択の正確さは向上され得、第1の地点(パイメニューの中心)と第2の地点との間の距離にさらに依存し得、第2の地点と第3の地点との間の同じ距離について、潜在的に選択され得る値の数は同じではない。たとえば、トラバースされるランク付けされた値の数は、第1の地点と第2の地点との間の距離に比例する。
【0056】
代替として、選択の正確さは、スライダと第2の地点との間の距離にさらに依存し得る。したがって、トラバースされるランク付けされた値の数は、スライダと第2の地点との間のこの第2の距離に比例する。
【0057】
図10は、値の選択の正確さが、スライダと、ユーザ入力が検出された第2の地点との間の距離に依存する例を示す。したがって、第2の地点と第3の地点との間で進行される同じ距離について、選択され得るパラメータ値も、第1の地点と第2の地点との間の距離に依存する。
図10では、ユーザ入力とスライダとの間の距離に従って、(ユーザ入力の第2の地点と第3の地点との間の同じ距離について)3つの異なるパラメータ値が選択される。
【0058】
すでに考察したように、ステップS60で表示されるスライダのハンドルの位置はリアルタイムで計算され得るため、ハンドルは、現在選択可能なパラメータ値の視覚的指示をユーザに提供することになる。ハンドルは第2の位置(S90)から、ユーザ入力の第3の地点によって決定された現在の位置(第3の位置)へと、リアルタイムで移動することができる。これは、環状セクタ内での値のリアルタイム表示と共に実行され得る。
【0059】
コンピュータに本発明を実行させるための命令を含むコンピュータプログラムは、ウィジェットとして埋め込まれ得る。ウィジェットという用語は、GUI内に表示されるグラフィカル制御要素を意味する。したがってウィジェットは、ユーザが対話するソフトウェア構成要素である。ウィジェットは、方法を実行するためのコード手段を含む。特に、ウィジェットは、グラフィカルユーザインターフェース上に表示されるパイメニューを表示するための命令を含む。ウィジェットは、
図1および
図2を参照しながら示されるように、少なくとも1つの角度セクタが区切られた少なくとも1つの環状セクタを備える環帯を表示するための命令を含み得る。たとえば、パイメニューの環状セクタは、カスタマイズ可能なパラメータの選択された値を表示することができる。別の例として、スライダは、少なくとも1つの角度セクタ内の環帯の上または下、すなわち、選択された角度セクタ内の環状セクタの上または下に配置され得る。
【0060】
本発明は、
図9に示されるようなシステム上で実施され得る。プロセッサは、メモリおよびディスプレイデバイスに通信可能に結合される。メモリは、本発明をプロセッサに実行させる命令をその上に記録している。ディスプレイはGUIを示す。システムは、その後ユーザ入力に変換されるユーザアクションを受信するための、触覚デバイスをさらに含む。興味深いことに、本発明は、タッチ反応性ディスプレイを備えるシステム、たとえばタブレット上で実装され得る。
【0061】
本発明の好ましい実施形態が説明されてきた。本発明の趣旨および範囲を逸脱することなく、様々な修正が実行され得ることを理解されよう。したがって他の実装は、以下の特許請求の範囲内にある。