JP5468005B2 - コンピュータインターフェースのためのインターフェースエレメント - Google Patents

コンピュータインターフェースのためのインターフェースエレメント Download PDF

Info

Publication number
JP5468005B2
JP5468005B2 JP2010524305A JP2010524305A JP5468005B2 JP 5468005 B2 JP5468005 B2 JP 5468005B2 JP 2010524305 A JP2010524305 A JP 2010524305A JP 2010524305 A JP2010524305 A JP 2010524305A JP 5468005 B2 JP5468005 B2 JP 5468005B2
Authority
JP
Japan
Prior art keywords
interface element
area
displayed
influence
size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010524305A
Other languages
English (en)
Other versions
JP2010539566A (ja
JP2010539566A5 (ja
Inventor
トレント・アプティド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Smart Internet Technology CRC Pty Ltd
Original Assignee
Smart Internet Technology CRC Pty Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2007904925A external-priority patent/AU2007904925A0/en
Application filed by Smart Internet Technology CRC Pty Ltd filed Critical Smart Internet Technology CRC Pty Ltd
Publication of JP2010539566A publication Critical patent/JP2010539566A/ja
Publication of JP2010539566A5 publication Critical patent/JP2010539566A5/ja
Application granted granted Critical
Publication of JP5468005B2 publication Critical patent/JP5468005B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Description

本発明は、一般に、コンピューティングシステムのためのインターフェースに関し、特に、コンピュータインターフェース上のオブジェクトを操作するためのシステム、方法、及びインターフェースに関するが、これに限らない。
対話型のデスクトップインターフェースは、現在のコンピュータのオペレーティングシステムの一部として知られている。いくつかのコンピューティングアプリケーションでは、対話型のテーブルトップインターフェースを有することが望ましい。対話型のテーブルトップインターフェースは、テーブルトップディスプレイ上で1人又はそれ以上のユーザとの相互作用を可能にする。対話型のテーブルトップインターフェースは、多数のユーザによるデジタル写真などのオブジェクトの協調的な共有を促進する。このようなインターフェースは、テーブルトップディスプレイ上に投影される画像を備える。例えば、画像は、埋め込みスクリーン又はデータプロジェクタの使用によって投影されてもよい。1人又はそれ以上のユーザは、例えば、表示される画像のオブジェクトを操作するために、インターフェースの入力を介して表示される画像と相互作用してもよい。例えば、インターフェースへの入力は、画像が投影されるテーブルトップの接触感知面(touch sensitive surface)によって提供される。この形式のコンピュータインターフェースは、いわゆる「広範囲に普及した(pervasive)」コンピューティングを促進する。
Margaret R.Minsky, "Manipulating simulated objects with real-world gestures using a force and position sensitive screen", SIGGRAPH Computer Graphics, 18 (3), pp. 195-203, 1984. ISSN0097-8930. doi: http://doi.acm.org/10.1145/800031.808598
しかしながら、多くのオブジェクトがテーブルトップコンピュータのインターフェースに表示されるとき、インターフェースは乱雑となる。これは、ユーザが表示されるオブジェクトと容易に相互作用することを妨げ、かつユーザの生産性を減少させる。
本発明の第1の態様によれば、コンピューティングインターフェースのインターフェースエレメントとの相互作用が可能な表示されるオブジェクトを操作する方法であって、上記コンピューティングインターフェースは、上記表示されるオブジェクトを表示エリアに表示するディスプレイモジュールと、ユーザ入力を受信する入力モジュールとを有し、上記方法は、上記表示されるオブジェクトを上記インターフェースエレメントと相互作用させるユーザ入力を受信することと、上記表示されるオブジェクトを上記受信された入力の性質にしたがって操作することとを含み、上記操作は、上記インターフェースエレメントに対して上記表示されるオブジェクトのサイズを変化させることを含む方法を提供する。
一実施形態では、上記受信された入力が、上記表示されるオブジェクトの上記インターフェースエレメントに属するとして指定された上記表示エリアの領域の中への移動、領域の外への移動、又は領域を通った移動となるとき、上記表示されるオブジェクトのサイズが変化する。
一実施形態では、上記ユーザ入力は、上記ユーザ入力が上記表示されるオブジェクトを直接的に移動させる相互作用となる方法で、上記表示エリア内での上記表示されるオブジェクトの移動となる。
一実施形態では、上記ユーザ入力は、上記表示されるオブジェクトを上記インターフェースエレメントの上記領域の中へ、上記領域の外へ、又は上記領域を通って移動させる。
一実施形態では、上記ユーザ入力は、間接的に上記表示されるオブジェクトの移動となる。
一実施形態では、上記ユーザ入力は、上記インターフェースエレメントの上記領域を上記表示エリア内で再定義し、上記インターフェースエレメントと上記表示されるオブジェクトとの相互作用となる。
一実施形態では、上記インターフェースエレメントの上記領域を再定義することは、上記領域を上記表示エリア内で移動する形式である。
一実施形態では、上記インターフェースエレメントの上記領域を再定義することは、上記領域を上記表示エリア内でサイズ変更する形式である。
一実施形態では、上記ユーザ入力は、上記インターフェースエレメントの操作属性(manipulation property)の起動を示し、上記インターフェースエレメントと上記表示されるオブジェクトとの相互作用となる。
一実施形態では、上記オブジェクトのサイズは、上記領域を通る移動の方向にしたがって変化させられる。好ましくは、上記方向は、半径方向である。
一実施形態では、上記オブジェクトのサイズは、上記オブジェクトが上記領域の中心に向かって移動されるにつれて縮小される。一実施形態では、上記オブジェクトのサイズは、上記オブジェクトが上記領域の中心から遠ざけられるにつれて拡大される。
一実施形態では、上記方法は、複数の表示されるオブジェクトを上記受信された入力の性質にしたがって操作することを含む。
一実施形態では、影響はさらに、上記領域の中へ、上記領域の外へ、又は上記領域を通って移動するすべての表示されるオブジェクトのサイズを変化させることを含む。
一実施形態では、影響はさらに、上記領域が移動されるときに、上記領域の内部に位置するすべての表示されるオブジェクトを上記領域とともに移動させることを含む。
一実施形態では、影響はさらに、上記領域が移動されるときに、上記領域が上記表示エリアの禁止されたゾーンに遭遇しない場合、上記領域の内部に位置するすべての表示されるオブジェクトを上記領域とともに移動させることを含み、上記領域が上記表示エリアの禁止されたゾーンに遭遇した場合、上記領域は、上記禁止されたゾーンに入ることを防止され、かつ上記表示されるオブジェクトは、上記受信された入力にしたがって移動し続ける。
一実施形態では、上記操作はさらに、上記ユーザ入力が上記インターフェースエレメントの操作属性の起動を示すとき、上記領域内のすべての表示されるオブジェクトを上記領域の中心に向かって移動させることを含む。
一実施形態では、上記操作はさらに、上記ユーザ入力が上記インターフェースエレメントの操作属性の起動を示すとき、上記表示エリア内のすべての表示されるオブジェクトを上記領域の中心に向かって移動させることを含む。
一実施形態では、上記操作はさらに、上記ユーザ入力が上記インターフェースエレメントの操作属性の起動を示すとき、選択された属性(property)を有する表示されるオブジェクトを上記領域の中心に向かって移動させることを含む。
一実施形態では、上記操作はさらに、上記領域の中心に到達する表示されるオブジェクトを隠すことを含む。
一実施形態では、上記操作は、上記受信された入力が上記インターフェースエレメントの操作属性の起動を示すとき、上記領域内のすべての表示されるオブジェクトを上記領域の中心から遠ざけることである。
一実施形態では、上記操作は、上記受信された入力が上記インターフェースエレメントの操作属性の起動を示すとき、上記表示エリア内のすべての表示されるオブジェクトを上記領域の中心から遠ざけることである。
一実施形態では、上記操作はさらに、上記受信された入力が上記インターフェースエレメントの操作属性の起動を示すとき、選択された属性を有する表示されるオブジェクトを上記領域の中心から遠ざけることを含む。
一実施形態では、上記操作はさらに、上記受信された入力が上記インターフェースエレメントの操作属性の起動を示すとき、上記領域内部の表示されるオブジェクトを削除することを含む。
一実施形態では、影響はさらに、上記受信された入力が上記インターフェースエレメントのサイズ変更を示すとき、上記領域内部の表示されるオブジェクトをサイズ変更することを含む。好ましくは、上記オブジェクトの上記サイズ変更は、上記インターフェースエレメントの上記サイズ変更と同一のタイプ及び/又は比例するものである。一実施形態では、上記オブジェクトの上記サイズ変更は、上記インターフェースエレメントの上記領域のサイズに比例する。
一実施形態では、上記操作はさらに、上記受信された入力が上記インターフェースエレメントの操作属性の起動を示すとき、上記領域内部の隠された表示されるオブジェクトを見せることを含む。
一実施形態では、上記インターフェースエレメントの表現は、上記領域内部に表示される。一実施形態では、表現はブラックホールである。
本発明の第2の態様によれば、コンピューティングインターフェースのインターフェースエレメントと相互作用する表示エリア内に表示されるオブジェクトを操作するコンピュータプログラムを記憶するコンピュータ読み取り可能な記憶媒体であって、上記コンピュータプログラムは、コンピュータによって実行されるときに、上記コンピュータに、上記表示されるオブジェクトを上記インターフェースエレメントと相互作用させるユーザ入力を受信させ、上記表示されるオブジェクトを上記受信された入力の性質にしたがって操作させる命令を備え、上記操作は、上記受信された入力が、上記表示されるオブジェクトの上記インターフェースエレメントに属するとして指定された上記表示エリアの領域の中への移動、領域の外への移動、又は領域を通った移動となるとき、上記表示されるオブジェクトのサイズを変化させることを含むコンピュータ読み取り可能な記憶媒体を提供する。
本発明の第3の態様によれば、コンピューティングインターフェースのインターフェースエレメントと相互作用する表示されるオブジェクトを操作する装置であって、上記装置は、表示エリアを有するディスプレイと、ユーザ入力と、プロセッサとを備え、上記プロセッサは、上記表示されるオブジェクトを上記インターフェースエレメントと相互作用させるユーザ入力を受信し、上記表示されるオブジェクトに上記受信された入力の性質にしたがって影響を及ぼすように構成され、上記操作は、上記受信された入力が、上記表示されるオブジェクトの上記インターフェースエレメントに属するとして指定された上記表示エリアの領域の中への移動、領域の外への移動、又は領域を通った移動となるとき、上記表示されるオブジェクトのサイズを変化させることを含む装置を提供する。
本発明の第4の態様によれば、コンピューティングインターフェースのインターフェースエレメントと相互作用する表示されるオブジェクトを操作する装置であって、上記装置は、表示エリアを有するディスプレイと、ユーザ入力と、上記表示されるオブジェクトを上記インターフェースエレメントと相互作用させるユーザ入力を受信する手段と、上記表示されるオブジェクトを上記受信された入力の性質にしたがって操作する手段とを備え、上記操作は、上記受信された入力が、上記表示されるオブジェクトの上記インターフェースエレメントに属するとして指定された上記表示エリアの領域の中への移動、領域の外への移動、又は領域を通った移動となるとき、上記表示されるオブジェクトのサイズを変化させることを含む装置を提供する。
本発明の第5の態様によれば、表示エリアをカバーする表示を生成するディスプレイモジュールとユーザ入力を受信する入力モジュールとを有するコンピューティングインターフェースのためのインターフェースエレメントであって、上記エレメントは、上記表示されるオブジェクトを上記インターフェースエレメントと相互作用させるあるユーザ入力をインターフェースエレメント入力として指定するインターフェースエレメント相互作用モジュールと、インターフェースエレメント入力が受信されたとき、上記表示内のオブジェクトを上記受信された入力の性質にしたがって操作するオブジェクト操作モジュールとを備え、上記操作モジュールは、表示されるオブジェクトを上記領域の中へ、上記領域の外へ、又は上記領域を通って移動させるにつれて、上記入力が示す表示されるオブジェクトのサイズを変化させるように構成されるインターフェースエレメントを提供する。
本発明のより良い理解を提供するために、好ましい実施形態が、添付の図面を参照して単なる例として説明されるであろう。
本発明の実施形態に係るインターフェースエレメントを提供するように設けられたコンピューティングシステムの概略図である。 本発明の実施形態に係るインターフェースエレメントを表示するインターフェースのスクリーンショットである。
本発明の一態様は、コンピュータインターフェースのスクリーンの乱雑さを削減する新しいインターフェースエレメントを提供する。本明細書で説明される実施形態では、コンピュータインターフェースは、テーブルトップコンピューティングシステムによって提供される表面実装(surface-mount)ディスプレイに表示される。インターフェースエレメントは、ユーザ入力に基づいて、インターフェース上に表示されるオブジェクトを操作するように、又はオブジェクトに影響を与えるように動作する。一実施形態では、オブジェクトを操作することは、受信された入力が、オブジェクトがインターフェースエレメントに関連したディスプレイの領域の中へ、領域の外へ、又は領域を通って移動される結果となるとき、表示されるオブジェクトのサイズを変化させることを含む。例えば、テーブルトップコンピュータのユーザが、ユーザインターフェース上に現在表示されている10個のオブジェクト(例えば、デジタル写真)のうちの1つに焦点を当てることを望む場合、ユーザは、他の9個のオブジェクトのうちの任意の1つ又はそれ以上をインターフェースエレメントに向けてドラッグして、それらのサイズを効果的に最小化してもよい。
上述した機能性を実行するために、図1を参照して、テーブルトップコンピュータ102は、マザーボード110、中央処理装置112、ランダムアクセスメモリ114、ハードディスク116、及びネットワークハードウェア118を含むコンピュータハードウェアを備える。テーブルトップコンピュータ102はまた、画像(すなわち、ユーザインターフェース)をテーブルトップの表面上に投影するプロジェクタの形式でディスプレイ109を含む。テーブルトップコンピュータ102はまた、ユーザ入力を入力装置から受信する入力モジュール111を含む。入力装置を用いて、テーブルトップコンピュータのユーザは、ユーザインターフェース上に表示されるオブジェクトを操作する。
ハードウェアに加えて、テーブルトップコンピュータ102は、ハードディスク上に存在し、かつハードウェアと協働して、ソフトウェアアプリケーションが実行される環境を提供する(マイクロソフトコーポレーションによって製造されかつライセンスを与えられているマイクロソフトウィンドウズ(登録商標)XPオペレーティングシステムなどの)オペレーティングシステムを含む。この点で、テーブルトップコンピュータ102のハードディスク116は、ユーザインターフェースを表示するビデオ出力装置を制御するディスプレイモジュールを有する。
本明細書で説明される実施形態では、オブジェクトはデジタル写真の形式であるが、テキストファイル又はコンピュータで生成されたグラフィック画像などの他のオブジェクトが、等しく表示されかつ操作されることが理解されるであろう。一実施形態では、インターフェース111への入力は、画像が投影されるテーブルトップの接触感知面によって提供される。
本明細書で説明される実施形態では、オブジェクトは、テーブルトップ上に表示可能なデジタル画像の形式である。画像は、口語的に「写真」と呼ばれてもよい。写真は、長方形のオブジェクトとして表示エリア内に表示される。写真は、指、ペン、スタイラス、又はカーソルなどのポインタを用いて「ドラッグ」の動作を模倣することによって、テーブルトップの全域で移動されることができる。ポインタの接触は、入力装置によって受信され、かつ入力として解釈される。写真は、入力に依存して、例えば、移動、回転、及びサイズ変更などの他の方法で操作されることができる。
多くの写真が表示される場合、表示エリアが乱雑になる。これは、ユーザの生産性を減少させる。したがって、実施形態は、現在ユーザによって必要とされていないオブジェクトを「保持する」ことができるインターフェースエレメントを提供する。保持されたオブジェクトは、サイズ変更されて、乱雑さの削減を支援する。さらに、本発明の一実施形態は、インターフェースエレメントが写真を表示エリアから一時的に除去することを可能にする。別の実施形態では、写真は永久に削除される。
図2を参照すると、絵を用いて表されたインターフェースエレメント212を表示するテーブルトップコンピュータのユーザインターフェース210のスクリーンショットが示されており、今後、ブラックホールと呼ばれる。ブラックホールは、典型的に円形であり、そのような形状はユーザに即座に認識可能である。しかしながら、ブラックホールは、任意の適切な形式をとってもよいことが理解されるであろう。ブラックホール212は、インターフェースの一部を形成する。ブラックホール212は、ユーザインターフェース210の一部である影響の領域を有する。影響の領域に入る、又は領域内に移動する(写真などの)オブジェクト214は、ブラックホール212の影響特性によって影響を受ける。ブラックホール212は、影響の領域を分割する中心部分218及び周辺220を備える。一実施形態では、オブジェクトが中心部分の内部である(又は中心部分に接触している)か、又は(中心部分に接触することなく)周辺の内部である(又は周辺に接触している)かに依存して、領域内のオブジェクトに対して、中心部分はあるタイプの影響を有し、かつ周辺は別のタイプの影響を有する。
周辺220の内部で移動するオブジェクト214は、ユーザ入力がオブジェクトをブラックホールの中心に向かって移動させるか、又はブラックホールの中心から遠ざけるかにしたがって、自動的にそのサイズが変更される。サイズ変更は、オブジェクトを移動させるユーザ入力への実時間のフィードバックを与えるために、即座であり、かつ移動に比例する。特に、オブジェクトが中心に向かって移動するとき、オブジェクトはサイズが縮小され、かつオブジェクトが中心から遠ざかるとき、オブジェクトは拡大される。この連続的なフィードバックは、移動の方向に依存して、写真がブラックホールに「吸い込まれる」、又はブラックホールから「吐き出される」という外観を与える。
一実施形態では、中心部分は、その内部に移動されたオブジェクトを隠す。もう1つの実施形態では、中心部分に接触するオブジェクトは、ディスプレイから削除される。中心部分は、ブラックホールの幾何学的な中心点であってもよく、又は(小さい)中心のエリアであってもよい。
図2は、ブラックホール212の使用を概略的に示し、図2では、写真214が指型のカーソルポインタ216によって示されるように選択され、かつブラックホール212の中心に向かって移動される。ブラックホールは、オブジェクトがホールの中心に向かって移動するにつれて、写真のサイズを縮小することによって、オブジェクトの表示されるサイズに影響する。これは、現在使用されていない写真が邪魔にならないように移動され、又は削除されることができるので、テーブルトップインターフェース210の乱雑さを制御することを支援する。
インターフェースは、ディスプレイ内でのオブジェクトの位置、スケール、及び方向をメモリに維持することによって、オブジェクトを表示する。ディスプレイは、OpenGLなどのグラフィックAPIを用いて繰り返し再描画される。ディスプレイが再描画されるごとに、OpenGLは、正しい位置並びに方向で、そのオブジェクトのためのテクスチャ、及び装飾を描画する。相互作用が発生したとき、インターフェースは、どのオブジェクトが選択されたか、及びオブジェクトのどこで選択が発生したかを決定する。
インターフェースは、その後、入力が選択されたオブジェクトをどのように操作するかを決定する。これは、入力が選択されたオブジェクトを移動させるか、及びどのように移動させるかを決定することを含む。インターフェースエレメントは、オブジェクトの移動が、オブジェクトをブラックホールによって影響を及ぼされるようにするかを決定する。これを実装するための(C++コードの形式の)命令の例として付録Aを参照する。代替として、ブラックホールが選択された場合、インターフェースエレメントは、ブラックホールの操作が他のオブジェクトに影響するかを決定する。
図2では、ユーザがオブジェクト214の上方のテーブルトップ又はスクリーンに接触し(又はマウス、トラックボール、又は他の入力装置によって指図されるカーソルを用いて接触し)、かつオブジェクトをブラックホールの影響の領域の中へドラッグすることが示されている。オブジェクトの中心がブラックホールの中心に接近するよりは、指ポインタ216がブラックホールの中心に接近する。オブジェクトの中心は、ちょうどポインタの移動とともに動く。ブラックホールは、入力がオブジェクトをこの影響の領域の内部に移動させ、かつオブジェクトが移動するにつれて、オブジェクトをサイズにおいて縮小させることを認識する。ポインタが中心部分に到達すると、写真は隠される。例えば、以下の付録Bを参照。
ブラックホールの周辺に置かれた写真は、単純にそれらを選択し、かつ外にドラッグすることによって回復される。これは、写真がブラックホールによって影響される前のサイズに戻るように写真を拡大するであろう。
ブラックホールがサイズ変更された場合、影響の領域内部の写真は、そのサイズを反比例して変更する。一実施形態では、これは、影響の領域内のオブジェクトのスケールされたサイズがブラックホールのサイズに比例して縮小されることに起因し、したがって、ブラックホールのサイズが小さくなるにつれて、オブジェクト上のその縮小効果が減少する。したがって、ブラックホールから写真を除去するもう1つの方法は、ブラックホールのサイズを縮小することであり、その結果、ブラックホール内部の写真は、サイズが拡大し、かつ選択され、ブラックホールの影響の領域から外にドラッグされる。
ブラックホールの影響の領域に置かれたオブジェクトは、取り付けられる。言い換えると、ブラックホールが移動される場合、オブジェクトはブラックホールとともに移動する。
アルゴリズムが使用されて、ブラックホールの周りの写真の階層化を決定する。あるアルゴリズムは、ブラックホールが移動されるときに、ブラックホール内のオブジェクトを保ち、別のアルゴリズムは、画像のサイズ、ブラックホールのサイズ、及びそれぞれの画像の中心とブラックホールの中心との間のユークリッド距離に基づいて、影響の領域内部のオブジェクトのサイズを決定する。
オブジェクトをブラックホールから除去するもう1つの方法は、ユーザが、パーソナルスペースなどのブラックホールが入ることを禁止されている表示エリアのゾーンに、ブラックホールを移動させることを試みることである。ブラックホールは、パーソナルスペースに移動されることができないが、ブラックホールに張り付いたオブジェクトは、そのスペースに入ることができ、かつユーザがペン/スタイラスなどを移動させ続けるにつれて、外にドラッグされる。したがって、ブラックホールは、パーソナルスペースの境界に引っ掛かり、一方、写真は、パーソナルスペースの中へ移動される。
ユーザがブラックホールの選択された位置を持つとき、これは、ブラックホールの1つ又はそれ以上の操作を起動させることができる。一実施形態では、操作特性は、影響の領域内のすべてのオブジェクトを永久に削除する。別の実施形態では、操作特性はまた、テーブルトップ上の他の画像をブラックホールに向かって連続的に移動させてもよく、「重力」の外観を提供する。そのような他の操作特性は、ブラックホール内部の画像を放射状に移動させ、かつテーブルトップ上の他の画像をブラックホールから遠ざけることであり、「反重力」の外観を提供する。他のものは、重力が特定の特性を有するオブジェクトにのみ影響することである。
様々な他の操作特性が、当業者には容易に明らかとなるであろう。このような操作特性は、ユーザに直観的なフィードバックを提供する。
いくつかの実施形態では、連続的な移動は一定の速度で発生する。もう1つの実施形態では、入力がアクティブな間、連続的な移動は加速する。オブジェクトはその後、「はじくこと(flicking)」に関係して後述するように、「仮想の運動量」を与えられてもよく、かつ「仮想の摩擦」にしたがってもよい。一実施形態では、連続的な移動は、ブラックホールの中心の領域の接線に沿う。一実施形態では、それぞれのオブジェクトの移動の速度は、ブラックホールの中心点とオブジェクトの中心点との距離の逆数に比例する。
テーブルトップ上のオブジェクトは、「はじくこと」にしたがってもよい。はじくことは、オブジェクトに関連した運動量を提供し、運動量は、仮想の摩擦力によって反対に作用される。(はじくことは、非特許文献1で説明されており、参照により本明細書に含まれる。)
画像がブラックホールの方向へはじかれ、かつ画像が影響の領域に遭遇するとき、仮想の重力がシミュレーションされ、オブジェクトをブラックホールの中心部分に向かって加速させる。使用されるアルゴリズムは、オブジェクトの運動量を維持し、かつブラックホールの中心へ向かう加速度を適用する。アルゴリズムは、重力の物理学を厳密にモデリングすることができ、ユーザの行動への現実的なフィードバックを維持する。したがって、オブジェクトは簡単に消滅せず、むしろ、オブジェクトがブラックホールに衝突するとき、オブジェクトは、ブラックホールの中心に向かって内側にらせん運動をするであろう。
オブジェクトが、進行中の軌道に留まることが可能である。しかしながら、アルゴリズムは含まれた項を有することができ、その結果、成分方向の速度における変化が速度と逆方向であるとき、中心へ向かう加速度は増大する。これは、オブジェクトが直接的に中心へ向かうことを熱心に目標としない場合でも、オブジェクトの経路に、ブラックホールの中心に向かってらせん運動をすることを助力させる。オブジェクトが中心部分に遭遇するとき、オブジェクトは捕捉されかつ隠される。したがって、画像は一般に、ブラックホールに向かってはじかれることができ、目標が完全に正確でない場合でもブラックホールに吸い込まれるであろう。言い換えると、オブジェクトは、影響の領域に遭遇する限り、中心の領域に向けられる必要はなく、ブラックホールに吸い込まれるであろう。これは、ブラックホールが手の届くところにない場合でさえ、ユーザがオブジェクトを削除することを可能にする。例えば、付録C及びDを参照。
オブジェクトのはじきが強すぎて、かつオブジェクトが十分な運動量を有する場合、オブジェクトは、ブラックホールに吸い込まれることなく、ブラックホールを通過するであろう。これは、重力スリングショット効果(gravitational slingshot effect)となる。しかしながら、別の変更例は、アルゴリズムにスリングショットを防止させるようにすることができる。
一実施形態では、ブラックホールは、はじかれることを防止される。すなわち、オブジェクトは、テーブルトップの全域で移動されることができるが、ブラックホールは、運動量を得ないであろう。ブラックホールが解放されると、それは単に解放された場所に停止するであろう。しかしながら、ブラックホール内部のオブジェクトは、運動量を維持することができる。したがって、ブラックホールが停止したとき、その内部のオブジェクトは、それらの運動量の効力によって移動し続けることができ、したがって、ブラックホールから落ちる。代替として、ブラックホール内部のオブジェクトは、静止慣性(stationary inertia)を維持することができ、したがって、ブラックホールが非常に素早く移動させられるとき、オブジェクトは、緩やかに移動する傾向があり、ブラックホールから落ちるであろう。
(ブラックホールオブジェクトを含む)それぞれのスクリーン上のオブジェクトについて、以下が維持される。
●(x,y,z)「世界」座標でのオブジェクトの中心の位置。(zは、描画されてもよいオブジェクトの順序を決定する。)
●(x,y)オブジェクトが移動されている場合、「オブジェクト」座標での接触点の位置。
○「オブジェクト」座標は、それぞれのオブジェクト上で[−アスペクト、−0.5]から[アスペクト,0.5]まで広がる。
●s,オブジェクトの所望のスケールであり、オブジェクト上の回転/サイズ変更の操作を実行することによって変更可能。
●userLock,オブジェクトを移動しているユーザの識別子、又は「NO_USER」。
ブラックホール以外のオブジェクトについて、以下のものがそれぞれのスクリーンの再描画で計算される。
●bhd,最近に決定されたブラックホールからの「距離」であり、下式のように計算される。
Figure 0005468005
ここで、dは、ブラックホールの中心とオブジェクトとの間のユークリッド距離の2乗であり、sは、ブラックホールの現在のスケールである。
○bhd<1.0のとき、オブジェクトは、ブラックホールの中心の部分にあるといわれる。
○ブラックホールの周辺は、ブラックホール周辺の円形のエリアであり、bhd<1.0である。
ブラックホール以外のオブジェクトについて、以下の計算が実行される。
●residual,オブジェクトがブラックホールの内部に移動され、続いてブラックホールの周辺で解放されたかの指示であり、それが発生したときのbhdの値(residual_bhd)。
○オブジェクトが移動以外によってブラックホールの周辺に入る場合(又はブラックホール自体が移動されて、その周辺がオブジェクトの中心を包囲する場合)、そのresidual_bhdは、1.0である。
オブジェクトがブラックホールの中心の部分にあるとき、表示されるスケールは、(所望のスケールを処理した後、)以下のように変更される。
●表示されるスケールは、bhd×residual_bhdの係数によって削減される。
●さらに、オブジェクトが現在移動されている(すなわち、接触されている)場合、スケール操作の「中心」は、オブジェクトの中心(すなわち、オブジェクト座標における点(0,0))ではなく、代わりに接触点であり、その結果、オブジェクトが再スケールされるとき、接触点のオブジェクト座標は、変化しない。
オブジェクトを表示するために、世界座標からスクリーン座標への変換が存在する。
階層化の2つの概念が使用され、オブジェクトの最終的な描画順序を決定する−z座標及びレイヤ。最後に描画されるオブジェクトは、オブジェクトの部分が部分的に又は全体的に透明でない場合、その下の任意のオブジェクトを塞いで示されるであろう。例えば、ブラックホールは、その縁の周りが透明であり、中心が不透明であり、それらの間の透明性の傾斜を伴っている。オブジェクトのz座標は、最終的な描画順序(オブジェクトは、z座標が減少する順序で描画される。)を決定する。
オブジェクトが選択されるといつでも、そのオブジェクトは、同一のレイヤにおける任意のオブジェクトの最小のz座標を与えられ、したがって、そのオブジェクトは、それらのオブジェクトの上に現れる。ブラックホールなどの特別なオブジェクトは、より高いレイヤを与えられる。したがって、ブラックホールは常に、他のオブジェクトの上に表示され、かつ決して覆い隠されない。
オブジェクトは、それらがテーブルに置かれた物理的な写真であるように、反転される(裏返される)ことができる。接触インターフェースでは、例えば、これは、2本の指をそれぞれ隣接する写真の角の画像上に置いて、その後、画像を横切って指をドラッグして、それを反転することによって達成される。「ホットスポット」(例えば、それぞれのオブジェクトの角に重ねられた三角形)を選択し、それを画像の他の部分にドラッグすることなどの代替の反転技術がまた、使用されることができる。
オブジェクトを反転するための技術が付録EからHに示される。これらは、引数として、例えばスタイラス又は指のロケーションである反転のために使用される現在の「制御点」であるスクリーン上の(x,y)ピクセル座標をとる。最初のステップは、これを、仮想環境において反転されるオブジェクトを位置付けるために使用されるキャッシュされた逆変換行列を用いるオブジェクト座標に変換することである(しかし、任意の反転の前に、回転変換が描画手続きにおいて実行される。)。x座標は正規化されて、y座標と同程度にされる(すなわち、これらは等しい重みを与えられて、反転するための最初の方向を決定する。)。
反転がまだ開始されていない場合、方向(xflip)は、より大きい成分を有する方向(すなわち、画像の中心から最も遠い)として決定される。また、我々が水平反転のための中心の左、又は垂直反転のための中心の下に向いている場合、それは「逆の」反転である。反転するための距離(dist)は、(点が、最初に−0.5から0.5までに伸ばされるので)位置成分の2倍であり、したがって、distは、[−1.0,1.0]の範囲にある。反転するための角度は、distの逆余弦である。我々は、状態を維持して、開始されると「同一の」方向への反転を継続し、かつ我々は、裏面に反転するか、又は「正面」に戻すかを決定する。画像の反転自体は、描画手続きで発生する。
反転されたオブジェクトがブラックホールである場合、ブラックホールの隠されたコンテンツが表示される。これは、ユーザがオブジェクトを選択し、ブラックホールの外にドラッグすることを可能にする。
上述した反転技術は、スマート・インターネット・テクノロジー・シーアールシー・プロプライエタリー・リミテッドの名称で出願された「コンピュータディスプレイ上のデジタル画像を操作するシステム及び方法」と題された関係するオーストラリア仮特許出願の主題であり、仮出願番号AU2007904927に一致し、参照により本明細書に含まれる。
例.
以下の状況を考慮する。ユーザは、自分のデジタルカメラを本発明の実施形態に係るインターフェースを搭載したコンピュータに接続する。カメラは、最近の休日から撮影された多数の写真を保持しており、したがって、写真のためのサムネイルを含むオブジェクトがロードされる。サムネイルは、画像が議論することを所望されたものであるかを判断する、又は2つの密接に関係した写真のどちらかに決定するには、不十分な品質であることがある。オブジェクトのサムネイルをドラッグすることは、サムネイルのより高い品質のコピーを生成させる。しかしながら、ユーザは、彼らがこのコピーをもはや必要としないと決定し、したがって彼らはそれを削除することを望む。
従来のコンピューティングインターフェースでは、ユーザは、アイコンを「ごみ箱(Trash Can)」又は「リサイクル箱(Recycle Bin)」にドラッグしてもよいが、仮想環境では、これは多くの問題を有する。「ごみ」は通常、ディスプレイ上の固定された位置に位置付けられる。物理的に大きな仮想インターフェース上では、ユーザは、オブジェクトのロケーションに到達することができないことがあり、したがって、彼らは、ごみの方向にオブジェクトをはじくことを望むことがある。代替として、彼らは、ごみオブジェクトを環境の周囲に移動させることを望むことがある。複数のユーザが存在してもよく、かつ「ごみ」が単一のユーザによってのみ方向付けられ、又は簡単にアクセス可能であることがある。特に、インターフェースが標準的なコンピュータの習慣に親しんでいないユーザに直観的であるように設計されている場合、ごみを開けて何かを検索することは、テーブルトップコンピューティングシステムでは非実用的である。削除を確認するための確認ダイアログ、又はアイテムをごみに移動させるためのコンテキストメニューを提供することはまた、非実用的である。ごみは、覆い隠されることがあり、かつ不慣れなユーザは、アイテムをごみの上に不注意に移動させ、それを偶然に削除することがある。オブジェクトは、「ごみ」オブジェクトよりも非常に大きくスクリーンに表示されてもよく、かつマウスカーソルなしで、何がごみに移動させられるべきかを示す方法が明らかでないことがある。ユーザはまた、画像を削除することなく、画像を部分的に隠すことを望んでもよい。
ブラックホールを用いて写真/画像(すなわち、オブジェクト)を削除するために、ユーザは、オブジェクトを(例えば、指又はスタイラスを用いて)ブラックホールに向かってドラッグする。ユーザの指(すなわち、画像の中心ではなく、画像が接触された場所に関わらず)が、ブラックホールの影響の内部(bhd<1.0)になると、オブジェクトは、サイズが縮小され始める。ユーザの指がブラックホールの中心に近づくにつれて、オブジェクトは、それがブラックホールの中心でもはや見えなくなるまで、より小さくなる。代替として、ユーザがサイズの縮小に気付き、かつオブジェクトを削除/隠すことを実際には望まないことを決定する場合、ユーザは即座にそれを戻すことができる。
ユーザはまた、ブラックホールを移動させることを望んでもよい。ユーザは、単にブラックホールをドラッグすることによってこれを実行する。ブラックホール及びそのすべてのコンテンツ(まだ可視であってもよいその周辺又はへりのアイテムを含む)が、新しいロケーションに移動され、それらの相対的な位置を維持する。ブラックホールが移動するにつれて、ブラックホールの近くに来るオブジェクトは、その中心がへりに入った場合、影響される。その後、ブラックホールが解放される場合、ブラックホールによって影響されたオブジェクトは、ブラックホールによって「捕捉」され、ブラックホールが仮想環境における電気掃除機と同種の方法で使用されることを可能にする。
ブラックホールの中に解放された後、オブジェクトは検索されることができる。このための技術は、画像が置かれたブラックホール「内への」距離に依存して、変化する。オブジェクトがブラックホールのへりにある場合、オブジェクトのある部分がブラックホールの下から「突き出している」という条件で、オブジェクトは、外に移動されることができることがある。オブジェクトのどの部分も突き出ていない場合、ブラックホールがより小さくされてもよく、オブジェクトへのその効果が減少する(すなわち、ブラックホールのスケールが減少されるにつれて、bhdがより大きくなる。)。へりのオブジェクトがより大きくなると、その後、オブジェクトは遠ざけられることができる。しかしながら、ブラックホールがどれほど小さくされうるかについて制限が課されてもよい。オブジェクトがブラックホールの中心の非常に近くに存在する場合、オブジェクトは、ブラックホールが進むことができないパーソナルスペースなどの「投棄場(dumping ground)」に、ブラックホールを移動させることによって、検索されることができる。代替として、ブラックホールを繰り返しはじくことは、ブラックホール内部の画像を後に残させることができる。
要求されないが、図を参照して説明された実施形態は、開発者による使用のために、アプリケーションプログラミングインターフェース(API)を用いて、又は一連のライブラリとして実装されてもよく、かつ端末若しくはパーソナルコンピュータのオペレーティングシステム、又はポータブルコンピューティング装置のオペレーティングシステムなどの別のソフトウェアアプリケーションの内部に含まれてもよい。一般に、プログラムモジュールは、特定の機能を実行する又は実行を支援するルーチン、プログラム、オブジェクト、構成要素、及びデータファイルを含むので、ソフトウェアアプリケーションの機能性は、多数のルーチン、オブジェクト、及び構成要素にわたって分散されてもよく、実施形態と同一の機能性、及び本明細書で主張されるより広範な発明を達成することが理解されるであろう。このような変形例及び変更例は、当業者の範囲内である。
本発明の当業者には、多くの変更例が本発明の精神及び範囲を逸脱することなく実行されてもよいことが理解されるであろう。
[表1]
付録A

[language={C++}]

効果1−それぞれのオブジェクトがブラックホールによって影響されるかを決定するそれぞれのスクリーンの再描画での手続き。
bool Resource::blackHoled() {
double dx = env->blackhole->position.x;
double dy = env->blackhole->position.y;
if (bh_moving
|| (worldMPos.x == 0.0 && worldMPos.y == 0.0)
|| userLock == NO_USER) {
dx -= position.x;
dy -= position.y;
} else {
dx -= worldMPos.x;
dy -= worldMPos.y;
}
double old_bhd = blackhole_distsq;
bool oldinBH = inBlackhole;
blackhole_distsq = M_SQRT2*(dx*dx + dy*dy) / env->blackhole->scale;

inBlackhole = blackhole_distsq < 1.0;
wasInBlackhole = wasInBlackhole || inBlackhole;
if ((inBlackhole && old_bhd != blackhole_distsq) ||
inBlackhole != oldinBH) {
pc.makeDirty(); //それがまだダーティでなければ、ブラックホールはおそらく移動した。
}

if (residual) {
//我々は、有効なblackhole_distsqを変更することを実際には望まない。
residual_bh_distsq = old_bhd / blackhole_distsq;
residual = false;
}
if (!inBlackhole) {
//我々は、ブラックホールから取り出すとすぐに、これをリセットする。
residual_bh_distsq = 1.0;
}

return
(bh_trapped && blackhole_distsq < RConfig::MIN_SCALE_FOR_DRAW) ||
(link && link->getParent()->isInBlackhole());
}
[表2]
付録B

ブラックホールに影響されたオブジェクトをどのようなサイズで表示するかを決定する手続き。

void Resource::wormHole() {
inBlackhole = blackhole_distsq < 1.0;
if (inBlackhole) {
if (!bh_moving && (userLock != NO_USER || bh_trapped)) {
//マウスカーソルの位置でスケーリングして、その相対的な位置を保つ。
glTranslatef(currMPos.x, currMPos.y, 0);
}
glScalef(blackhole_distsq*residual_bh_distsq, //xスケール
blackhole_distsq*residual_bh_distsq, //yスケール
1.0); //zスケール
if (!bh_moving && (userLock != NO_USER || bh_trapped)) {
glTranslatef(-currMPos.x, -currMPos.y, 0);
}
}
if (!inBlackhole && bh_trapped) {
bh_trapped = false;
userLock = NO_USER;
}
}
[表3]
付録C

ブラックホール近傍での運動量のための位置更新手続き。

/**
*
*¥return true アニメーションが終了した場合。
*/
bool Momentum::rel_update(unsigned ms)
{
//与えられた初速度及び加速度を経時的に変位させるための古典物理学の公式
//¥f$s=ut+¥frac{1}{2}at^2¥f$を使用する。

float dt = 0.001*(ms - lastms);
lastms = ms;

if (r->selectedBy() != user) {
//他の人がそれに接触すると、我々は停止する。
if (r->selectedBy() >= 0)
return true;
//我々が非選択になると、我々は停止するときに、我々はまだ枠線色、
//アクセス制限、及び非選択を必要とする。
killselect = true;
}
//我々が同じユーザによって再び接触されたかを確認し、そうであれば、停止する。
if (r->clickPos != clickPos)
return true;

//摩擦/抗力に起因する減速度は、_速度_のx/y成分の反対方向に
//方向付けられる。大きさはちょうどdecel−−摩擦/抗力に起因
//する(定数の)減速度である。
float vtheta = xv == 0.0 ? M_PI/2.0 : atanf(fabs(yv / xv));
float accel_x = (xv < 0 ? 1.0 : -1.0) * cosf(vtheta) * decel;
float accel_y = (yv < 0 ? 1.0 : -1.0) * sinf(vtheta) * decel;

//我々がブラックホールの近傍であるときに、大きさ
//BLACKHOLE_ACCELのブラックホールの中心へ向かう成分を
//加算することによって、加速度ベクトルを変更する。
if (r->blackholeDist() < 1.0) {
/*ブラックホールのワープの前に、我々はスクリーン位置を使用することに留意する。*/
float dx = r->env->blackhole->getPC().getScreen().x
- r->getPC().getScreen().x;
float dy = r->env->blackhole->getPC().getScreen().y
- r->getPC().getScreen().y;
float theta = dx == 0.0 ? M_PI/2.0 : atanf(fabs(dy / dx));

accel_x += (dx < 0 ? -1.0 : 1.0)
* RConfig::BLACKHOLE_ACCEL
* cosf(theta)
* (dx * xv < 0.0 ? 1.5 : 1.0);

accel_y += (dy < 0 ? 1.0 : -1.0)
* RConfig::BLACKHOLE_ACCEL
* sinf(theta)
* (dy * yv > 0.0 ? 1.5 : 1.0);

}
//加速度ベクトルから速度及び変位を更新する。
float xvdiff = accel_x * dt;
float yvdiff = accel_y * dt;
float xdiff = xv * dt + 0.5 * accel_x * dt * dt;
float ydiff = yv * dt + 0.5 * accel_y * dt * dt;

xv = (fabs(xvdiff) >= fabs(xv) && r->blackholeDist() >= 1.0) ?
0 :
xv + xvdiff;

yv = (fabs(yvdiff) >= fabs(yv) && r->blackholeDist() >= 1.0) ?
0 :
yv + yvdiff;

if (!finite(xv) || !finite(yv)) {
xv = yv = 0.0f;
}

//10ピクセル/秒未満のときに停止する。−−なぜ10か?=>我々がブラック
//ホールの中心によって「捕捉された」とき、フレームの再描画もまた停止する。
if (r->blackholeDist() < RConfig::BLACKHOLE_TRAPDIST ||
(r->blackholeDist() >= 1.0 && fabs(xv) <= 20 && fabs(yv) <= 20)) {
if (killselect)
r->unSelect(user);
if (r->blackholeDist() >= 1.0)
r->settle();
return true;
}
//我々の所望の位置を記憶する。
x0 = x0 + xdiff;
y0 = y0 + ydiff;

//その後、最も近いスクリーン/ピクセルのロケーションに移動し、境界に制限する。
r->moveto(static_cast < int >(roundf(x0)),
static_cast < int >(roundf(y0)));

if (r->getPC().getRealScreen().x + 3 >= r->env->getSurface()->w
&& RConfig::DATAWALL_SEND && !sent) {
//トリガがスクリーンの右側で送信される。
sent = true;
datawall_send(r);
} else if (r->getPC().getRealScreen().x <= 3
&& RConfig::MAGICMIRROR_SEND && !sent) {
//トリガがスクリーンの左側で送信される。
sent = true;
datawall_send(r, true);
}
return false;
}
[表4]
付録D

運動量アニメーションのトリガを制御する手続き。

void Mover::updatePositions() {
if (positions.size() == RConfig::VELOCITY_WINDOW)
positions.pop_back();
positions.push_front(std::make_pair(current_time, current_xy_position));
}

MoveTracker* Mover::release() {
if (!RConfig::DO_MOMENTUM
|| positions.size() < RConfig::VELOCITY_WINDOW
|| r->hasLink())
return ResourceGesture::release();

float dx = positions.front().second.x - positions.back().second.x;
float dy = positions.front().second.y - positions.back().second.y;
float dt = (positions.front().first - positions.back().first) / 1000.0f;
float vel_sq = (dx * dx + dy * dy) / (dt * dt);

if (vel_sq > RConfig::ESCAPE_VELOCITY && r != r->env->blackhole) {
r->env->addAnimation(new Momentum(r,
dx / dt, dy / dt,
positions.front().second.x,
positions.front().second.y));
}
return ResourceGesture::release();
}
[表5]
付録E

反転を開始するかを決定する手続き。

bool Image::flipSelected() {
GLfloat x = fabsf(currMPos.x), y = fabsf(currMPos.y);
return !inBlackhole &&
(y - x > RConfig::CORNER_PROP ||
x - y > 0.5*aspect - 0.5 + RConfig::CORNER_PROP);
}
[表6]
付録F

スクリーン上の現在の接触位置が与えられるとして、オブジェクトを反転する手続き。

bool Image::flipto(int screen_x, int screen_y) {
P3<GLfloat> avgPos;
//テクスチャにおいて、制御点が存在する座標を決定する。
setObject(avgPos, screen_x, screen_y, true);
avgPos.x /= aspect; //0から1までの間に正規化する。
//(我々は常に、より大きな方向に沿って反転する。)

float cosval, dist;
if (!flipping) { //まだ反転していない。
xflip = fabs(avgPos.y) > fabs(avgPos.x);
dist = xflip ? avgPos.y*2.0 : avgPos.x*2.0;
backflip = dist < 0;
wasflipped = flipped;
flipping = true;
} else {
dist = xflip ? avgPos.y*2.0 : avgPos.x*2.0;
}

//距離の符号が変化する場合、反転状態がトグルする。
flipped = wasflipped != (backflip != dist < 0);

//角度を決定して、画像を回転する。
cosval = fabs(dist);
if (cosval < 1.0) {
flipangle = acosf(cosval); //0と90との間。

//我々が「間違った」側で開始した場合、我々は反対に回転する。
//反転された場合、我々はまた、中心で魔法の反転を実行する。
if (xflip == backflip)
flipangle *= -1.0;

//我々が開始から変化を有するときはいつでも、我々はここにいて、
//180度から減算することを望む。
if (flipped != wasflipped)
flipangle = -flipangle;

} else {
//dist>1.0の場合、接触点は遠ざかった。−−反転しない。
flipangle = 0.0;
}

pc.makeDirty();
return true;
}
void Image::drawPartialFlip() {
glPushMatrix();
glRotatef(flipangle*RAD2DEG,
xflip ? 1.0 : 0.0,
xflip ? 0.0 : 1.0,
0.0);
if (flipped) {
drawReverse();
//我々が反転している場合、背景も描画する。
if (flipping) {
glRotatef(180,
xflip ? 1.0 : 0.0,
xflip ? 0.0 : 1.0,
0.0);
glCallList(*model);
}

} else {
drawTexture();
if (flipping) {
glRotatef(180,
xflip ? 1.0 : 0.0,
xflip ? 0.0 : 1.0,
0.0);
drawReverse(); /*レンダリングか??*/
}
}
glPopMatrix();
}
[表7]
付録G

反転ウィジェットを使用してフレームのアスペクト比を変更する手続き。

bool SmartFrame::flipto(int x, int y) {
GLint realy = flip(y);
P3<GLfloat> avgPos;
setWorld(avgPos, x, realy, true);

//どちらのアスペクトが変更されるべきかを調査する。
if (!flipping) {
xflip = fabs(avgPos.y) > fabs(avgPos.x);
wasflipped = flipped;
flipping = true;
}

double dx = pc.getScreen().x - x;
double dy = pc.getScreen().y - realy;
if (fabs(dx) <= 1 && fabs(dy) <= 1)
return false;

double delta = sqrt(dx*dx + dy*dy);

if (xflip) {
//xflipが真であれば、中心のアスペクトはinfであり、我々はスケールを変更する必要がある。
changeAspect(1.0 / (delta / (clickPosLine / (1.0 / clickAspect))));
setScale(delta / (clickPosLine / clickScale), false, false);
} else {
changeAspect(delta / (clickPosLine / clickAspect));
}

pc.makeDirty();
return true;
}
[表8]
付録H

反転したオブジェクトの背景で、付着物の“フロー”レイアウトを実行する手続き。

void FlowLayout::doFlowLayout(Layout::COLL &col) {
const double pad = padding * parent->getScale();
const double mar = margin * parent->getScale() - pad; //負になることができる。

const double maxw = parent->estWidth() - 2*mar;
const double maxh = parent->estHeight() - 2*mar;
double y = -(maxh * -0.5 + pad + mar);

COLL::iterator it = col.begin();
const COLL::iterator end = col.end();
const double rads = parent->getRads();

while (it != end) {
COLL row;
double h = (*it)->estHeight();
double w = (*it)->estWidth() + pad;
row.push_back(*it++); //少なくとも1つのエレメントを行に置く。
for (; it != end; ++it) {
//行を埋める。
if (w + pad + (*it)->estWidth() > maxw)
break;
w += pad + (*it)->estWidth();
//行の高さが増大されるべきかを調べる。
if ((*it)->estHeight() > h)
h = (*it)->estHeight();
row.push_back(*it);
}

COLL::iterator rit = row.begin();
const COLL::iterator rend = row.end();
double x = maxw * -0.5 + pad + mar;
y += -(h * 0.5);

//ここで、オブジェクトの位置を調整する。
for (; rit != rend; ++rit) {
x += (*rit)->estWidth() * 0.5;
if (!(*rit)->isManip()) {
//操作されていないもののみを移動する。
P3<GLfloat> oldPosition((*rit)->getPosition());
GLfloat oldRot = (*rit)->getRads();

(*rit)->rotaterad(rads);
(*rit)->stealPosition().set(x*cos(-rads) - y*sin(-rads),
x*sin(-rads) + y*cos(-rads),
(parent->isFlipped() ?
0.0001f :
-0.0001f));
(*rit)->stealPosition() += parent->getPosition();
if (lastSettled == rit->addr()) {
//我々が追加された最後のものであれば、移動をアニメーションさせる。
(*rit)->env->addAnimation(new LinearPath(*rit, oldPosition, (*rit)->getPosition(), 200), Animation::REPLACE);
(*rit)->env->addAnimation(new LinearSpin(*rit, oldRot, rads, 200), Animation::REPLACE);
lastSettled = 0;
}
}
x += (*rit)->estWidth() * 0.5 + pad;
}
y += -(h * 0.5 + pad);
}
lastAdded = 0;
}

Claims (49)

  1. コンピューティングインターフェース上のオブジェクトを操作する方法であって、
    上記方法は、
    上記コンピューティングインターフェース内に影響の領域を画成し、上記影響の領域の内部に表示されるオブジェクトのサイズを変更するインターフェースエレメントを表示することと、
    上記表示されるオブジェクトと上記インターフェースエレメントに関連する上記影響の領域との間の距離を変更するユーザ入力を受信することと、
    上記表示されるオブジェクトのサイズを上記表示されるオブジェクトと上記影響の領域の中心との間の距離が減少するにつれて操作することとを含み、
    上記操作は上記表示されるオブジェクトのサイズを縮小させることを含む方法。
  2. 上記ユーザ入力が上記表示されるオブジェクトを上記インターフェースエレメントに関連する上記影響の領域内に移動させるとき、上記表示されるオブジェクトのサイズを縮小させることを含む請求項1記載の方法。
  3. 上記ユーザ入力が上記インターフェースエレメントを操作して上記インターフェースエレメントに関連する上記影響の領域の内部に上記オブジェクトが表示されるとき、上記表示されるオブジェクトのサイズを縮小させることを含む請求項1記載の方法。
  4. 上記インターフェースエレメントの上記影響の領域は、上記インターフェースエレメントを移動させることによって操作される請求項3記載の方法。
  5. 上記インターフェースエレメントの上記影響の領域は、上記インターフェースエレメントをサイズ変更することによって操作される請求項3記載の方法。
  6. 上記ユーザ入力が上記インターフェースエレメントの動作を停止させるとき、上記表示されるオブジェクトのサイズを操作前のサイズに戻すことを含む請求項1記載の方法。
  7. 上記表示されるオブジェクトのサイズは、上記影響の領域を通る移動の方向にしたがって変化させられる請求項1から6のうちのいずれか1つの請求項記載の方法。
  8. 上記方向は、半径方向である請求項7記載の方法。
  9. 上記ユーザ入力がオブジェクトと上記影響の領域の中心との間の距離を増加させるとき、上記表示されるオブジェクトのサイズを拡大させることを含む請求項1から8までのうちのいずれか1つの請求項記載の方法。
  10. 上記方法は、複数の表示されるオブジェクトを上記受信された入力の性質にしたがって操作することを含む請求項1から9のうちのいずれか1つの請求項記載の方法。
  11. 上記影響の領域の中へ、上記影響の領域の外へ、又は上記影響の領域を通って移動するすべての表示されるオブジェクトのサイズを変化させることを含む請求項1から10のうちのいずれか1つの請求項記載の方法。
  12. 上記インターフェースエレメントが移動されるときに、上記インターフェースエレメントに関連する上記影響の領域の内部に位置するすべての表示されるオブジェクトを移動させることを含む請求項1から10のうちのいずれか1つの請求項記載の方法。
  13. 上記ユーザ入力が、上記表示されるオブジェクトを、上記インターフェースエレメントが入ることを防止されるゾーンである上記コンピューティングインターフェースの禁止されたゾーンの中に移動させるとき、上記インターフェースエレメントに関連する上記影響の領域の内部に位置する上記表示されるオブジェクトを、上記インターフェースエレメントから分離することを含む請求項1から10のうちのいずれか1つの請求項記載の方法。
  14. 上記ユーザ入力が上記インターフェースエレメントのアトラクション機能を起動させるとき、上記ンターフェースエレメントに関連する上記影響の領域内のすべての表示されるオブジェクトを、上記影響の領域の中心に向かって移動させることを含む請求項1から10のうちのいずれか1つの請求項記載の方法。
  15. 上記ユーザ入力が上記インターフェースエレメントのアトラクション機能を起動させるとき、上記コンピューティングンターフェース内のすべての表示されるオブジェクトを、上記ンターフェースエレメントに関連する上記影響の領域の中心に向かって移動させることを含む請求項1から10のうちのいずれか1つの請求項記載の方法。
  16. 上記ユーザ入力が上記インターフェースエレメントのアトラクション機能を起動させるとき、選択された属性を有する表示されるオブジェクトのサブセットを上記ンターフェースエレメントに関連する上記影響の領域の中心に向かって移動させることを含む請求項1から10のうちのいずれか1つの請求項記載の方法。
  17. 上記インターフェースエレメントに関連する上記影響の領域の中心に到達する表示されるオブジェクトを隠すことを含む請求項1から10のうちのいずれか1つの請求項記載の方法。
  18. 上記受信された入力が上記インターフェースエレメントの動作を停止させるとき、上記インターフェースエレメントに関連する上記影響の領域の内部のすべての表示されるオブジェクトを上記影響の領域の中心から遠ざけることを含む請求項1から10のうちのいずれか1つの請求項記載の方法。
  19. 上記受信された入力が上記インターフェースエレメントの反発機能を起動させるとき、上記コンピューティングインターフェース内のすべての表示されるオブジェクトを上記インターフェースエレメントに関連する上記影響の領域の中心から遠ざけることを含む請求項1から10のうちのいずれか1つの請求項記載の方法。
  20. 上記受信された入力が上記インターフェースエレメントの反発機能を起動させるとき、選択された属性を有する表示されるオブジェクトのサブセットを上記インターフェースエレメントに関連する上記影響の領域の中心から遠ざけることを含む請求項1から10のうちのいずれか1つの請求項記載の方法。
  21. 上記受信された入力が上記インターフェースエレメントの削除機能を起動させるとき、上記インターフェースエレメントに関連する上記影響の領域内部の表示されるオブジェクトを削除することを含む請求項1から10のうちのいずれか1つの請求項記載の方法。
  22. 上記受信された入力が上記インターフェースエレメントをサイズ変更させるとき、上記インターフェースエレメントに関連する上記影響の領域内部の表示されるオブジェクトをサイズ変更することを含む請求項1から10のうちのいずれか1つの請求項記載の方法。
  23. 上記受信された入力が上記インターフェースエレメントの動作を停止させるとき、上記インターフェースエレメントに関連する上記影響の領域内部の隠された表示されるオブジェクトを見せることを含む請求項1から10のうちのいずれか1つの請求項記載の方法。
  24. コンピューティングインターフェース上のオブジェクトを操作するコンピュータプログラムを記憶するコンピュータ読み取り可能な記憶媒体であって、
    上記コンピュータプログラムは、コンピュータによって実行されるときに、上記コンピュータに、
    上記コンピューティングインターフェース内に影響の領域を画成し、上記影響の領域の内部に表示されるオブジェクトのサイズを変更するインターフェースエレメントを表示させ、
    上記表示されるオブジェクトと上記インターフェースエレメントに関連する上記影響の領域との間の距離を変更するユーザ入力を受信させ、
    上記表示されるオブジェクトのサイズを上記表示されるオブジェクトと上記影響の領域の中心との間の距離が減少するにつれて操作させる命令を備え、
    上記操作は上記表示されるオブジェクトのサイズを縮小させることを含むコンピュータ読み取り可能な記憶媒体。
  25. コンピューティングインターフェース上のオブジェクトを操作する装置であって、
    上記装置は、
    コンピューティングインターフェースを表示するように設けられた表示エリアを有するディスプレイと、
    入力装置と、
    プロセッサとを備え、
    上記プロセッサは、
    上記表示エリア内に影響の領域を画成し、上記影響の領域の内部に表示されるオブジェクトのサイズを変更するインターフェースエレメントを表示させ、
    表示されるオブジェクトと上記インターフェースエレメントの上記影響の領域との間の距離を変更させるユーザ入力を上記入力装置から受信し、
    上記表示されるオブジェクトのサイズ、上記表示されるオブジェクトと上記影響の領域の中心との間の距離が減少するにつれて操作するように構成され、
    上記操作は上記表示されるオブジェクトのサイズを縮小させることを含む装置。
  26. コンピューティングインターフェース上のオブジェクトを操作する装置であって、
    上記装置は、
    コンピューティングインターフェースを表示するように設けられた表示エリアを有するディスプレイと、
    入力装置と、
    上記コンピューティングインターフェース内に影響の領域を画成し、上記影響の領域の内部に表示されるオブジェクトのサイズを変更するインターフェースエレメントを表示する手段と、
    表示されるオブジェクトと上記インターフェースエレメントに関連する上記影響の領域との間の距離を変更するユーザ入力を上記入力装置から受信する手段と、
    上記表示されるオブジェクトのサイズを上記表示されるオブジェクトと上記影響の領域の中心との間の距離が増加するにつれて操作する手段とを備え、
    上記操作は上記表示されるオブジェクトのサイズを拡大させることを含む装置。
  27. コンピューティングインターフェース上のオブジェクトを操作する方法であって、
    上記方法は、
    上記コンピューティングインターフェース内に影響の領域を画成し、上記影響の領域の内部に表示されるオブジェクトのサイズを変更するインターフェースエレメントを表示することと、
    上記表示されるオブジェクトと上記インターフェースエレメントに関連する上記影響の領域との間の距離を変更するユーザ入力を受信することと、
    上記表示されるオブジェクトのサイズを上記表示されるオブジェクトと上記影響の領域の中心との間の距離が増加するにつれて操作することとを含み、
    上記操作は上記表示されるオブジェクトのサイズを拡大させることを含む方法。
  28. 上記ユーザ入力が上記表示されるオブジェクトを上記インターフェースエレメントに関連する上記影響の領域の中心から遠ざけるとき、上記表示されるオブジェクトのサイズを拡大させることを含む請求項27記載の方法。
  29. 上記ユーザ入力が上記インターフェースエレメントに関連する上記影響の領域を操作して上記影響の領域の中心と上記表示されるオブジェクトとの間の距離を増加させるとき、上記表示されるオブジェクトのサイズを拡大させることを含む請求項27記載の方法。
  30. 上記インターフェースエレメントの上記影響の領域は、上記インターフェースエレメントを移動させることによって操作される請求項29記載の方法。
  31. 上記インターフェースエレメントの上記影響の領域は、上記インターフェースエレメントをサイズ変更することによって操作される請求項29記載の方法。
  32. 上記ユーザ入力が上記インターフェースエレメントの動作を停止させるとき、上記表示されるオブジェクトのサイズを操作前のサイズに戻すことを含む請求項27記載の方法。
  33. 上記表示されるオブジェクトのサイズは、上記影響の領域を通る移動の方向にしたがって変化させられる請求項27から32のうちのいずれか1つの請求項記載の方法。
  34. 上記方向は、半径方向である請求項33記載の方法。
  35. 上記ユーザ入力がオブジェクトと上記影響の領域の中心との間の距離を減少させるとき、上記表示されるオブジェクトのサイズを縮小させることを含む請求項27から33までのうちのいずれか1つの請求項記載の方法。
  36. 上記方法は、複数の表示されるオブジェクトを上記受信された入力の性質にしたがって操作することを含む請求項27から35のうちのいずれか1つの請求項記載の方法。
  37. 上記影響の領域の中へ、上記影響の領域の外へ、又は上記影響の領域を通って移動するすべての表示されるオブジェクトのサイズを変化させることを含む請求項27から36のうちのいずれか1つの請求項記載の方法。
  38. 上記インターフェースエレメントが移動されるときに、上記インターフェースエレメントに関連する上記影響の領域の内部に位置するすべての表示されるオブジェクトを移動させることを含む請求項27から36のうちのいずれか1つの請求項記載の方法。
  39. 上記ユーザ入力が、上記表示されるオブジェクトを、上記インターフェースエレメントが入ることを防止されるゾーンである上記コンピューティングインターフェースの禁止されたゾーンの中に移動させるとき、上記インターフェースエレメントに関連する上記影響の領域の内部に位置する上記表示されるオブジェクトを、上記インターフェースエレメントから分離することを含む請求項27から36のうちのいずれか1つの請求項記載の方法。
  40. 上記ユーザ入力が上記インターフェースエレメントのアトラクション機能を起動させるとき、上記ンターフェースエレメントに関連する上記影響の領域内のすべての表示されるオブジェクトを、上記影響の領域の中心に向かって移動させることを含む請求項27から36のうちのいずれか1つの請求項記載の方法。
  41. 上記ユーザ入力が上記インターフェースエレメントのアトラクション機能を起動させるとき、上記コンピューティングンターフェース内のすべての表示されるオブジェクトを、上記ンターフェースエレメントに関連する上記影響の領域の中心に向かって移動させることを含む請求項27から36のうちのいずれか1つの請求項記載の方法。
  42. 上記ユーザ入力が上記インターフェースエレメントのアトラクション機能を起動させるとき、選択された属性を有する表示されるオブジェクトのサブセットを上記ンターフェースエレメントに関連する上記影響の領域の中心に向かって移動させることを含む請求項27から36のうちのいずれか1つの請求項記載の方法。
  43. 上記インターフェースエレメントに関連する上記影響の領域の中心に到達する表示されるオブジェクトを隠すことを含む請求項27から36のうちのいずれか1つの請求項記載の方法。
  44. 上記受信された入力が上記インターフェースエレメントの動作を停止させるとき、上記インターフェースエレメントに関連する上記影響の領域の内部のすべての表示されるオブジェクトを上記影響の領域の中心から遠ざけることを含む請求項27から36のうちのいずれか1つの請求項記載の方法。
  45. 上記受信された入力が上記インターフェースエレメントの反発機能を起動させるとき、上記コンピューティングインターフェース内のすべての表示されるオブジェクトを上記インターフェースエレメントに関連する上記影響の領域の中心から遠ざけることを含む請求項27から36のうちのいずれか1つの請求項記載の方法。
  46. 上記受信された入力が上記インターフェースエレメントの反発機能を起動させるとき、選択された属性を有する表示されるオブジェクトのサブセットを上記インターフェースエレメントに関連する上記影響の領域の中心から遠ざけることを含む請求項27から36のうちのいずれか1つの請求項記載の方法。
  47. 上記受信された入力が上記インターフェースエレメントの削除機能を起動させるとき、上記インターフェースエレメントに関連する上記影響の領域内部の表示されるオブジェクトを削除することを含む請求項27から36のうちのいずれか1つの請求項記載の方法。
  48. 上記受信された入力が上記インターフェースエレメントをサイズ変更させるとき、上記インターフェースエレメントに関連する上記影響の領域内部の表示されるオブジェクトをサイズ変更することを含む請求項27から36のうちのいずれか1つの請求項記載の方法。
  49. 上記受信された入力が上記インターフェースエレメントの動作を停止させるとき、上記インターフェースエレメントに関連する上記影響の領域内部の隠された表示されるオブジェクトを見せることを含む請求項27から36のうちのいずれか1つの請求項記載の方法。
JP2010524305A 2007-09-11 2008-09-11 コンピュータインターフェースのためのインターフェースエレメント Expired - Fee Related JP5468005B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AU2007904925A AU2007904925A0 (en) 2007-09-11 An interface element for a computer interface
AU2007904925 2007-09-11
PCT/AU2008/001342 WO2009033216A1 (en) 2007-09-11 2008-09-11 An interface element for a computer interface

Publications (3)

Publication Number Publication Date
JP2010539566A JP2010539566A (ja) 2010-12-16
JP2010539566A5 JP2010539566A5 (ja) 2011-11-04
JP5468005B2 true JP5468005B2 (ja) 2014-04-09

Family

ID=40451474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010524305A Expired - Fee Related JP5468005B2 (ja) 2007-09-11 2008-09-11 コンピュータインターフェースのためのインターフェースエレメント

Country Status (5)

Country Link
US (1) US9047004B2 (ja)
EP (1) EP2201440A4 (ja)
JP (1) JP5468005B2 (ja)
AU (1) AU2008299576B2 (ja)
WO (1) WO2009033216A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009033217A1 (en) * 2007-09-11 2009-03-19 Smart Internet Technology Crc Pty Ltd Systems and methods for remote file transfer
EP2201440A4 (en) 2007-09-11 2012-08-29 Smart Internet Technology Crc Pty Ltd INTERFACE ELEMENT FOR A COMPUTER INTERFACE
US9053529B2 (en) 2007-09-11 2015-06-09 Smart Internet Crc Pty Ltd System and method for capturing digital images
JP5508269B2 (ja) * 2007-09-11 2014-05-28 スマート・インターネット・テクノロジー・シーアールシー・プロプライエタリー・リミテッド コンピュータディスプレイ上でデジタル画像を操作するためのシステム及び方法
JP2011523739A (ja) * 2008-05-19 2011-08-18 スマート・インターネット・テクノロジー・シーアールシー・プロプライエタリー・リミテッド 協働的な相互作用のためのシステム及び方法
JP5315415B2 (ja) 2009-08-31 2013-10-16 インターナショナル・ビジネス・マシーンズ・コーポレーション グラフィカル・ユーザ・インターフェイス(gui)環境におけるオブジェクトに対するメニュー選択方法、コンピュータ・プログラム、コンピュータ・システム。
JP5061176B2 (ja) * 2009-12-22 2012-10-31 ヤフー株式会社 情報表示装置、情報表示方法、およびそのプログラム
US20110307840A1 (en) * 2010-06-10 2011-12-15 Microsoft Corporation Erase, circle, prioritize and application tray gestures
JP5659586B2 (ja) * 2010-07-09 2015-01-28 ソニー株式会社 表示制御装置および表示制御方法、表示制御プログラム、記録媒体
KR101948645B1 (ko) * 2011-07-11 2019-02-18 삼성전자 주식회사 그래픽 오브젝트를 이용한 컨텐츠 제어 방법 및 장치
US9582236B2 (en) 2011-09-30 2017-02-28 Nokia Technologies Oy User interface
US9454186B2 (en) 2011-09-30 2016-09-27 Nokia Technologies Oy User interface
JP2013092952A (ja) * 2011-10-27 2013-05-16 Sharp Corp 視認性を高める表示装置および表示方法
EP2610725B1 (en) * 2011-12-29 2019-10-23 Orange Drag and drop operation in a graphical user interface with size alteration of the dragged object
US9747019B2 (en) * 2012-02-24 2017-08-29 Lg Electronics Inc. Mobile terminal and control method thereof
USD712914S1 (en) * 2012-09-07 2014-09-09 Lg Electronics Inc. Display of mobile phone with transitional graphical user interface
KR20150024139A (ko) * 2013-08-26 2015-03-06 삼성디스플레이 주식회사 표시장치 및 그 제어방법
CN112631488B (zh) * 2015-12-31 2022-11-11 北京三星通信技术研究有限公司 一种基于智能桌面的内容显示方法和智能桌面终端
USD824924S1 (en) * 2016-10-28 2018-08-07 Spotify Ab Display screen with graphical user interface
USD825581S1 (en) * 2016-10-28 2018-08-14 Spotify Ab Display screen with graphical user interface
US10621829B2 (en) 2017-09-01 2020-04-14 Aristocrat Technologies Australia Pty Limited Systems and methods for playing an electronic game including a stop-based bonus game
USD861703S1 (en) * 2017-09-05 2019-10-01 Aristocrat Technologies Australia Pty Limited Display screen or portion thereof with animated graphical user interface
USD876450S1 (en) 2017-09-05 2020-02-25 Aristocrat Technologies Australia Pty Limited Display screen portion with a graphical user interface for a wheel-based wagering game
USD942509S1 (en) * 2020-06-19 2022-02-01 Apple Inc. Display screen or portion thereof with graphical user interface
CN115951962A (zh) * 2022-12-31 2023-04-11 联想(北京)有限公司 处理方法及装置

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8601652D0 (en) 1986-01-23 1986-02-26 Crosfield Electronics Ltd Digital image processing
JPH07119125B2 (ja) 1988-11-11 1995-12-20 三田工業株式会社 画像形成装置
US5241625A (en) 1990-11-27 1993-08-31 Farallon Computing, Inc. Screen image sharing among heterogeneous computers
US5341466A (en) 1991-05-09 1994-08-23 New York University Fractal computer user centerface with zooming capability
GB9119964D0 (en) 1991-09-18 1991-10-30 Sarnoff David Res Center Pattern-key video insertion
JP3139831B2 (ja) 1992-05-27 2001-03-05 キヤノン株式会社 画像編集方法及び装置
US5877762A (en) 1995-02-27 1999-03-02 Apple Computer, Inc. System and method for capturing images of screens which display multiple windows
US5887081A (en) 1995-12-07 1999-03-23 Ncr Corporation Method for fast image identification and categorization of multimedia data
US5801700A (en) 1996-01-19 1998-09-01 Silicon Graphics Incorporated System and method for an iconic drag and drop interface for electronic file transfer
US5801699A (en) * 1996-01-26 1998-09-01 International Business Machines Corporation Icon aggregation on a graphical user interface
GB2310988B (en) * 1996-03-08 2000-11-08 Ibm Graphical user interface
US6343313B1 (en) 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
US5977974A (en) * 1996-09-17 1999-11-02 Canon Kabushiki Kaisha Information processing apparatus and method
US6621524B1 (en) 1997-01-10 2003-09-16 Casio Computer Co., Ltd. Image pickup apparatus and method for processing images obtained by means of same
WO1998035468A2 (en) 1997-01-27 1998-08-13 Benjamin Slotznick System for delivering and displaying primary and secondary information
JPH10233995A (ja) 1997-02-20 1998-09-02 Eastman Kodak Japan Kk 電子スチルカメラおよびその再生表示方法
JP3968477B2 (ja) 1997-07-07 2007-08-29 ソニー株式会社 情報入力装置及び情報入力方法
US6720949B1 (en) 1997-08-22 2004-04-13 Timothy R. Pryor Man machine interfaces and applications
US6727906B2 (en) 1997-08-29 2004-04-27 Canon Kabushiki Kaisha Methods and apparatus for generating images
US6133914A (en) 1998-01-07 2000-10-17 Rogers; David W. Interactive graphical user interface
US6088027A (en) * 1998-01-08 2000-07-11 Macromedia, Inc. Method and apparatus for screen object manipulation
JP3737885B2 (ja) 1998-06-02 2006-01-25 大日本印刷株式会社 仮想空間共有システム
US6510553B1 (en) 1998-10-26 2003-01-21 Intel Corporation Method of streaming video from multiple sources over a network
JP4228542B2 (ja) * 1998-11-30 2009-02-25 ソニー株式会社 情報提供装置及び情報提供方法
TW454123B (en) 1999-01-28 2001-09-11 Ibm Method and system for enabling pervasive computing devices to communicate with each other
US6408301B1 (en) 1999-02-23 2002-06-18 Eastman Kodak Company Interactive image storage, indexing and retrieval system
US6590593B1 (en) * 1999-04-06 2003-07-08 Microsoft Corporation Method and apparatus for handling dismissed dialogue boxes
US7065716B1 (en) 2000-01-19 2006-06-20 Xerox Corporation Systems, methods and graphical user interfaces for previewing image capture device output results
US6819267B1 (en) 2000-05-31 2004-11-16 International Business Machines Corporation System and method for proximity bookmarks using GPS and pervasive computing
JP2002082745A (ja) 2000-09-07 2002-03-22 Sony Corp 情報処理装置及び方法、並びにプログラム格納媒体
GB2366978A (en) * 2000-09-15 2002-03-20 Ibm GUI comprising a rotatable 3D desktop
TW484308B (en) 2000-10-27 2002-04-21 Powervision Technologies Inc Digital image processing device and method
US20030093466A1 (en) 2001-11-15 2003-05-15 Jarman James D. Drag and drop technology for remote control tool
JP2004078488A (ja) 2002-08-15 2004-03-11 Advanced Telecommunication Research Institute International 仮想デスクトップ装置
US7519910B2 (en) 2002-10-10 2009-04-14 International Business Machines Corporation Method for transferring files from one machine to another using adjacent desktop displays in a virtual network
CN100362853C (zh) 2002-10-23 2008-01-16 松下电器产业株式会社 图像组合便携式终端及其所用的图像组合方法
JP2004213641A (ja) 2002-12-20 2004-07-29 Sony Computer Entertainment Inc 画像処理装置、画像処理方法、情報処理装置、情報処理システム、半導体デバイス、コンピュータプログラム
DE10301941B4 (de) 2003-01-20 2005-11-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Kamera und Verfahren zur optischen Aufnahme eines Schirms
US8230359B2 (en) * 2003-02-25 2012-07-24 Microsoft Corporation System and method that facilitates computer desktop use via scaling of displayed objects with shifts to the periphery
JP2004258838A (ja) * 2003-02-25 2004-09-16 Nippon Telegr & Teleph Corp <Ntt> 情報検索方法、情報検索装置、プログラムおよび記録媒体
US20050052427A1 (en) 2003-09-10 2005-03-10 Wu Michael Chi Hung Hand gesture interaction with touch surface
US7480873B2 (en) 2003-09-15 2009-01-20 Sun Microsystems, Inc. Method and apparatus for manipulating two-dimensional windows within a three-dimensional display model
DE10353785B4 (de) 2003-11-18 2006-05-18 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zur Erfassung von verschiedenen Zelltypen von Zellen in einer biologischen Probe
US20060010392A1 (en) 2004-06-08 2006-01-12 Noel Vicki E Desktop sharing method and system
US10152190B2 (en) 2003-12-15 2018-12-11 Open Invention Network, Llc Systems and methods for improved application sharing in a multimedia collaboration session
US20050140696A1 (en) 2003-12-31 2005-06-30 Buxton William A.S. Split user interface
US20060002315A1 (en) 2004-04-15 2006-01-05 Citrix Systems, Inc. Selectively sharing screen data
US7394459B2 (en) 2004-04-29 2008-07-01 Microsoft Corporation Interaction between objects and a virtual environment display
US7168813B2 (en) 2004-06-17 2007-01-30 Microsoft Corporation Mediacube
US7519223B2 (en) 2004-06-28 2009-04-14 Microsoft Corporation Recognizing gestures and using gestures for interacting with software applications
US7724242B2 (en) 2004-08-06 2010-05-25 Touchtable, Inc. Touch driven method and apparatus to integrate and display multiple image layers forming alternate depictions of same subject matter
US20070046643A1 (en) 2004-08-06 2007-03-01 Hillis W Daniel State-Based Approach to Gesture Identification
US7728821B2 (en) 2004-08-06 2010-06-01 Touchtable, Inc. Touch detecting interactive display
US7335463B2 (en) * 2004-12-16 2008-02-26 Palo Alto Research Center, Inc. Electroplated three dimensional ink jet manifold and nozzle structures using successive lithography and electroplated sacrificial layers
JP4738805B2 (ja) 2004-12-16 2011-08-03 株式会社リコー 画面共有システム、画面共有方法、画面共有プログラム
US20060241864A1 (en) 2005-04-22 2006-10-26 Outland Research, Llc Method and apparatus for point-and-send data transfer within an ubiquitous computing environment
US20060253797A1 (en) 2005-05-06 2006-11-09 Microsoft Corporation Presentation of user-specified display regions
US7535463B2 (en) 2005-06-15 2009-05-19 Microsoft Corporation Optical flow-based manipulation of graphical objects
US8018579B1 (en) 2005-10-21 2011-09-13 Apple Inc. Three-dimensional imaging and display system
US7783985B2 (en) 2006-01-04 2010-08-24 Citrix Systems, Inc. Systems and methods for transferring data between computing devices
US8793605B2 (en) 2006-03-29 2014-07-29 Yahoo! Inc. Smart drag-and-drop
JP2008033695A (ja) * 2006-07-29 2008-02-14 Sony Corp 表示内容のスクロール方法、スクロール装置およびスクロールプログラム
US20080222540A1 (en) 2007-03-05 2008-09-11 Apple Inc. Animating thrown data objects in a project environment
JP4863908B2 (ja) * 2007-03-16 2012-01-25 株式会社ソニー・コンピュータエンタテインメント データ処理装置、データ処理方法、及びデータ処理プログラム
CN101282568B (zh) 2007-04-03 2012-10-10 中兴通讯股份有限公司 一种联合支持多种接入的系统
CN101282566B (zh) 2007-04-03 2011-10-26 中兴通讯股份有限公司 一种干扰抑制方法
EP2132904B1 (en) 2007-04-06 2015-06-03 Thomson Licensing Method for reducing congestion in DHCP network system
US9053529B2 (en) 2007-09-11 2015-06-09 Smart Internet Crc Pty Ltd System and method for capturing digital images
JP5508269B2 (ja) 2007-09-11 2014-05-28 スマート・インターネット・テクノロジー・シーアールシー・プロプライエタリー・リミテッド コンピュータディスプレイ上でデジタル画像を操作するためのシステム及び方法
WO2009033217A1 (en) 2007-09-11 2009-03-19 Smart Internet Technology Crc Pty Ltd Systems and methods for remote file transfer
EP2201440A4 (en) 2007-09-11 2012-08-29 Smart Internet Technology Crc Pty Ltd INTERFACE ELEMENT FOR A COMPUTER INTERFACE
KR20090036877A (ko) * 2007-10-10 2009-04-15 삼성전자주식회사 다중 프로젝션 윈도우 환경에서 기준자 기반으로오브젝트를 관리하는 방법 및 그 시스템
US20090122018A1 (en) 2007-11-12 2009-05-14 Leonid Vymenets User Interface for Touchscreen Device
US8677284B2 (en) 2009-11-04 2014-03-18 Alpine Electronics, Inc. Method and apparatus for controlling and displaying contents in a user interface

Also Published As

Publication number Publication date
EP2201440A4 (en) 2012-08-29
US9047004B2 (en) 2015-06-02
AU2008299576B2 (en) 2014-04-03
EP2201440A1 (en) 2010-06-30
AU2008299576A1 (en) 2009-03-19
WO2009033216A1 (en) 2009-03-19
US20100241979A1 (en) 2010-09-23
JP2010539566A (ja) 2010-12-16

Similar Documents

Publication Publication Date Title
JP5468005B2 (ja) コンピュータインターフェースのためのインターフェースエレメント
US12307080B2 (en) Displaying a three dimensional user interface
US7610563B2 (en) System and method for controlling the display of non-uniform graphical objects
US7249327B2 (en) System and method for arranging, manipulating and displaying objects in a graphical user interface
US9898190B2 (en) Multi-touch object inertia simulation
CN104182131B (zh) 对象堆栈
RU2409856C2 (ru) Виртуальная лупа с функциональными возможностями оперативного управления
JP5508269B2 (ja) コンピュータディスプレイ上でデジタル画像を操作するためのシステム及び方法
WO2006084759A1 (en) User interfaces
US8762840B1 (en) Elastic canvas visual effects in user interface
US20160070460A1 (en) In situ assignment of image asset attributes
US11614845B2 (en) User interface for application interface manipulation
US20060168528A1 (en) Method for arranging user interface glyphs on displays

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110912

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120828

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121128

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121205

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130125

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131209

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140128

R150 Certificate of patent or registration of utility model

Ref document number: 5468005

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees