JP2010511228A - 3d面上の2dコンテンツとのインタラクト - Google Patents

3d面上の2dコンテンツとのインタラクト Download PDF

Info

Publication number
JP2010511228A
JP2010511228A JP2009538536A JP2009538536A JP2010511228A JP 2010511228 A JP2010511228 A JP 2010511228A JP 2009538536 A JP2009538536 A JP 2009538536A JP 2009538536 A JP2009538536 A JP 2009538536A JP 2010511228 A JP2010511228 A JP 2010511228A
Authority
JP
Japan
Prior art keywords
input device
content
computer
scene
hidden content
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.)
Withdrawn
Application number
JP2009538536A
Other languages
English (en)
Other versions
JP2010511228A5 (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2010511228A publication Critical patent/JP2010511228A/ja
Publication of JP2010511228A5 publication Critical patent/JP2010511228A5/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/04842Selection of displayed objects or displayed text elements

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

3D面上に配置された2Dコンテンツとのインタラクションを可能にする様々な技術および技法が開示される。システムは、3D面に関して入力装置がどこに配置されているか判定する。入力装置が3D面をヒットしている場合は、2D内の隠されたコンテンツは、3D面上のヒットされたエリアを表す点が2D内の隠されたコンテンツ上の対応する点と一列に並ぶように配置される。例えば、入力装置がシーン内の位置で検出されときに入力装置の位置を求める要求が受信された場合は、3D面が2次元に投影される。投影された3D面上の入力装置の2D位置への最近点が算出される。最近点は、隠されたコンテンツを3D面の対応する点と共に配置する際に使用されるために、それに応答して、提供される。

Description

2次元(2D)環境では、システムは、アクティビティ(activity)のXおよびY座標を判定するだけで、ユーザがどのエリアを選択したか、またはそうでなければどのエリアとインタラクトしているか知ることができる。しかし、3次元(3D)の世界では、3D面上のインタラクティブな2D要素に関するX/Y座標を見つけることは必ずしも簡単ではない。例えば、ユーザインターフェースなどの2D対象物は、球体などの3D面上に配置されることができる。そのような2D対象物が3D面上に配置されている場合、現在3D内に投影されている2D対象物とのユーザのインタラクションを処理することは難しい。
3D面上に配置された2Dコンテンツとのインタラクションを可能にする様々な技術および技法が開示される。システムは、3D面に関して入力装置がどこに配置されているか判定する。入力装置が3D面をヒットしている場合は、2D内の隠されたコンテンツは、3D面上のヒットされたエリアを表す点が2D内の隠されたコンテンツ上の対応する点と一列に並ぶように配置される。一実施形態では、インタラクティブな2D要素の境界の上方にない入力装置がシーン内の位置で検出された場合、入力装置の位置を求める要求が受信されると、3D面は2次元に投影される。投影された3D面上の入力装置の2D位置への最近点(closest point)が算出される。最近点は、隠されたコンテンツを3D面の対応する点と共に配置する際に使用されるために、それに応答して、提供される。
一実施形態では、特定の3D面がキャプチャ(capture)を有するか有しないかによって様々なプロセスが引き続いて実行される。例えば、3Dシーン内の3D面がキャプチャを有しない場合で、入力装置が3D面をヒットした場合は、2D内の隠されたコンテンツ上のどの点がヒットされたか判定するために3D三角形上でテクスチャ座標(texture coordinates)が使用される。次いで、隠されたコンテンツは、隠されたコンテンツが3D面上の対応する点と一列に並ぶような位置に移動される。同様に、3Dシーン(scene)内の3D面がキャプチャを有する場合で、入力装置がキャプチャコンテンツを有する3D面をヒットしたと判定された場合は、前述のテクスチャ座標およびプロセスを使用して隠されたコンテンツを一列に並べる。
他の実施形態では、3Dシーン内の3D面がキャプチャを有する場合で、入力装置がキャプチャコンテンツを有する3D面をヒットしなかったと判定された場合は、システムは、キャプチャコンテンツの境界を算出し、境界上の入力装置の位置への最近点を見つけ、境界上の最近点を入力装置の位置の下に配置する。
本概要は、以下の「発明を実施するための形態(Detailed Description)」でさらに詳細に説明されている概念の抜粋を簡略化された形で紹介するために提供された。本概要は、クレーム主題の主要な特徴または本質的な特徴を識別することを意図するものではなく、クレーム主題の範囲を判定するのに支援として使用されることを意図するものでもない。
一実施形態のコンピュータシステムの概略図である。 図1のコンピュータシステム上で動作する一実施形態のインタラクティブな3Dアプリケーションの概略図である。 図1のシステムの一実施形態のためのハイレベルプロセス(high-level process)の流れ図である。 入力装置の位置に3D対象物を提供することに関係する段階を例示する、図1のシステムの一実施形態のためのプロセスの流れ図である。 3D面に配置された2Dコンテンツとのインタラクションを可能にすることに関係するさらに詳細な段階を例示する、図1のシステムの一実施形態のためのプロセスの流れ図である。 キャプチャがない場合の隠されたコンテンツの2D表現を例示する、図1のシステムの実施形態のためのシミュレートされた画像である。 キャプチャがない場合の隠されたコンテンツとインタラクトする3D面を例示する、図1のシステムの一実施形態のシミュレートされた画像である。 キャプチャがない場合の3D面でオーバレイされる2D表現を例示する、図1のシステムの一実施形態のためのシミュレートされた画像である。 キャプチャがある場合の表示されたボタンおよびテキストを有する3D面を例示する、図1のシステムの一実施形態のためのシミュレートされた画像である。 キャプチャがある場合の選択されたテキストの一部分を有する図9に示された3D面を例示する、図1のシステムの一実施形態のためのシミュレートされた画像である。 入力装置が、図10に示されているような3D面の位置上の2Dに関係すると予期される場所の最近縁点を例示する、図1のシステムの一実施形態のためのシミュレートされた画像である。 キャプチャを有する2Dテキストボックスを例示する、図1のシステムの一実施形態のためのシミュレートされた画像である。 2D内で3D上の2Dコンテンツの輪郭を与えるために、図12の画像の縁を取得し、それらの縁を2D内に投影し返すことを例示する、図1のシステムの一実施形態のためのシミュレートされた画像である。
次に、本発明の原理の理解を促進するために、図面に例示された実施形態が参照され、これを説明するために特定の言語が使用される。それにもかかわらず、それによって範囲のいかなる限定も意図されないことが理解されるであろう。説明された実施形態の任意の代替形態およびさらなる変更形態、ならびに本明細書に記載の原理の任意のさらなる適用形態は当業者に一般に思いつかれるであろうように企図される。
システムは、3D面上に配置された2Dコンテンツとのインタラクションを提供するアプリケーションとして一般的コンテキストで説明されることができるが、システムは、これらに加えて他の目的にもかなう。一実施形態では、本明細書に記載の1つまたは複数の技法が、MICROSOFT(登録商標)WINDOWS(登録商標)などのオペレーティングシステム環境に含まれるものなど、グラフィックスレンダリングプログラム(graphics rendering program)の中の特徴として、あるいはグラフィックスレンダリングを処理する任意の他のタイプのプログラムまたはサービスから実施されることができる。他の実施形態では、本明細書に記載の1つまたは複数の技法が、2Dコンテンツが3D面と共に使用されることができるようにすることを取り扱う他のアプリケーションを用いて特徴として実施される。
一実施形態では、システムは、隠された2Dコンテンツを使用することにより3D面とのインタラクションを提供する。実際のインタラクティブな2Dコンテンツは隠されたままであるが、隠された2Dコンテンツの外観は隠されず、3D上に配置される。隠されたコンテンツは、3D面上のコンテンツのレンダリングされた(rendered)外観とインタラクトしようとするユーザの試みを阻止するように配置される。本明細書で使用される用語「隠されたコンテンツ」は、不可視である、見られることができないような大きさにされる、別の対象物の背後に配置されるなどのために、ユーザによって気づかれない2Dコンテンツを含むことを意図される。他の実施形態では、2Dコンテンツのいずれかの部分が入力装置の位置を要求するかまたはキャプチャを要求する場合、その2Dコンテンツの3D表現は2Dに投影し返される。次いで、この投影されたコンテンツの境界は、キャプチャされた3D面からの任意の入力要求にどのように応答するべきか判定するために使用される。本明細書で使用される用語「キャプチャ」は、いつ2Dコンテンツが入力装置の状態変化を通知されるよう要求するかを意味する。
図1に示されているように、システムの1つまたは複数の部分を実施するために使用すべき例示的コンピュータシステムは、コンピューティング装置100などのコンピューティング装置を含む。その最も基本的な構成では、コンピューティング装置100は、通常、少なくとも1つの処理ユニット102およびメモリ104を含む。コンピューティング装置の正確な構成およびタイプに応じて、メモリ104は、揮発性(RAMなど)、不揮発性(ROM、フラッシュメモリなど)、またはそれら2つの何らかの組合せでもよい。この最も基本的な構成は、図1に破線106によって示されている。
さらに、装置100はまた、追加の特徴/機能を有してもよい。例えば、装置100はまた、磁気あるいは光ディスクまたはテープを含むが、それらに限定されない(取り外し可能なおよび/または取り外し不可能な)追加の記憶装置を含んでもよい。そのような追加の記憶装置は、図1に、取り外し可能な記憶装置108および取り外し不可能な記憶装置110によって例示されている。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータなどの情報の記憶のための任意の方法または技術で実装される、揮発性および不揮発性、取り外し可能なおよび取り外し不可能な媒体を含む。メモリ104、取り外し可能な記憶装置108、および取り外し不可能な記憶装置110は、すべてコンピュータ記憶媒体の例である。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、あるいは所望の情報を記憶するために使用されることができ、装置100によってアクセスされることができる任意の他の媒体を含むがそれらに限定されない。そのようないかなるコンピュータ記憶媒体も装置100の一部であり得る。
コンピューティング装置100は、コンピューティング装置100が他のコンピュータ/アプリケーション115と通信することができるようにする1つまたは複数の通信接続114を含む。装置100はまた、キーボード、マウス、ペン、音声入力装置、タッチ入力装置などの入力装置(1つまたは複数)112を有してもよい。ディスプレイ、スピーカ、プリンタなどの出力装置(1つまたは複数)111が含まれてもよい。これらの装置は、当技術分野ではよく知られており、ここでは詳細に議論される必要はない。一実施形態では、コンピューティング装置100は、インタラクティブな3Dアプリケーション200を含む。インタラクティブな3Dアプリケーション200は、図2でさらに詳細に説明される。
次に、図1に続いて図2を参照すると、コンピューティング装置100上で動作するインタラクティブな3Dアプリケーション200が例示されている。インタラクティブな3Dアプリケーション200は、コンピューティング装置100上に常駐するアプリケーションプログラムのうちの1つである。しかし、インタラクティブな3Dアプリケーション200は、代替としてまたは追加として、1つまたは複数のコンピュータ上でコンピュータ実行可能命令として、および/または図1に示されているのとは違う変形形態で実施されることができることが理解されるであろう。代替としてまたは追加として、インタラクティブな3Dアプリケーション200の1つまたは複数の部分は、システムメモリ104の部分でもよく、他のコンピュータおよび/またはアプリケーション115上にあってもよく、あるいは当コンピュータソフトウェア技術分野の業者に思いつかれるであろうような他の変形形態でもよい。
インタラクティブな3Dアプリケーション200は、本明細書に記載の技法のいくつかまたはすべてを実行する役割を担うプログラムロジック204を含む。プログラムロジック204は、(例えば、要求を受信したとき、またはプログラマチックに判定したとき)隠されたコンテンツを更新する必要があると判定するためのロジック206と、3D面に関して入力装置(例えば、マウス、スタイラスなど)がどこに配置されているか判定するためのロジック208と、入力装置が3D面をヒットしたかしなかったか判定するためのロジック210と、入力装置が3D面をヒットしなかったとシステムが判定した場合、隠されたコンテンツを非アクティブにする(例えば、ユーザが隠されたコンテンツと偶然にインタラクトしないように、隠されたコンテンツを入力装置から離す、あるいはそうでなければ除去するかまたは非アクティブにする)ためのロジック212と、入力装置が3D面をヒットしたとシステムが判定した場合は、3D面上の点が入力装置をヒットし、隠されている2D対象物が一列に並ぶ(例えば、同じ点が一列に並ぶように移動する)ように2D対象物を配置するためのロジック214と、隠されたコンテンツを更新する必要があるという別の指示を待って(例えば、要求を受信して、またはプログラマチックに判定して)、しかるべく応答するためのロジック216と、アプリケーションを動作させるための他のロジック220と、を含む。一実施形態では、プログラムロジック204は、プログラムロジック204における手順への単一のコールを使用するなどして、別のプログラムからプログラマチックにコールされるように動作可能である。
図1〜2に続いて図3〜5を参照すると、インタラクティブな3Dアプリケーション200の1つまたは複数の実施形態を実施するための段階がさらに詳細に説明されている。図3は、インタラクティブな3Dアプリケーション200のためのハイレベルプロセスの流れ図である。一形態では、図3のプロセスは、コンピューティング装置100の動作ロジック(operating logic)において少なくとも部分的に実行される。手順は、開始点240から開始し、(例えば、要求を受信したとき、またはプログラマチックに判定したとき)隠されたコンテンツを更新する必要があると任意選択で判定する(段階242)。システムは、3D面に関して入力装置(例えば、マウス、スタイラスなど)がどこに配置されているか判定する(段階244)。入力装置が3D面(例えば、3D空間内の全領域)をヒットしなかった(例えば、接触しなかった)場合は(判断点246)、隠されたコンテンツは、非アクティブにされる(例えば、ユーザが隠されたコンテンツと偶然にインタラクトしないように、入力装置から離される、あるいはそうでなければ除去されるかまたは非アクティブにされる)(段階248)。入力装置が3D面をヒットした場合は(判断点246)、2D対象物は、3D面上の点が入力装置をヒットし、隠されている2D対象物が一列に並ぶ(例えば、同じ点が一列に並ぶように移動する)ように配置される(段階250)。システムは、任意選択で、隠されたコンテンツを更新する必要があるという別の指示を待って、しかるべく応答する(段階252)。プロセスは、終了点256で終了する。
図4は、3D面に関して入力装置の位置を提供することに関係する段階の一実施形態を例示する。一形態では、図4のプロセスは、コンピューティング装置100の動作ロジックにおいて少なくとも部分的に実行される。手順は、開始点270から開始し、シーンのどこかで入力装置が検出された場合、入力装置の位置を求める要求または照会を(例えば、任意の3D幾何学的形状、球体などの領域から)受信する(段階272)。3D面が撮られ、2次元に投影される(段階274)。この投影画像上の入力装置の2D位置への最近点が算出される(段階276)。投影対象物上のその最近点は、要求または照会に応答して(例えば、3D空間内の要求対象物に)返された位置である(段階278)。プロセスは、終了点280で終了する。
図5は、3D面上に配置された2Dコンテンツとのインタラクションを可能にすることに関するさらに詳細な段階の一実施形態を例示する。一形態では、図5のプロセスは、コンピューティング装置100の動作ロジックにおいて少なくとも部分的に実行される。手順は、開始点310から開始し、隠されたコンテンツ(「オン(On)」イベントなど)を更新する必要があると任意選択で判定する(段階312)。システムが、3D面がキャプチャを有しないと判定した場合は(判断点314)、3D面に関して入力装置がどこに配置されているか判定するために、ヒットテスト3Dシーン(hit test 3D scene)が行われる(段階316)。3D面がヒットされなかった場合は(判断点320)、隠されたコンテンツは入力装置から離される(段階324)。3D面がヒットされた場合は(判断点320)、2Dコンテンツ上でどの点がヒットされたか見つけるために3D三角形上でテクスチャ座標が使用される(段階326)。2Dコンテンツは隠された層に配置され、隠された層は、点が一列に並べられるように移動される(段階326)。
3D面がキャプチャを有するとシステムが判定した場合は(判断点314)、3D面に関して入力装置がどこに配置されているか判定するためにヒットテスト3Dシーンが行われる(段階318)。システムは、キャプチャコンテンツを有する3D面が(例えば、入力装置によって)ヒットされたかどうか判定する(判断点322)。ヒットされた場合は、2Dコンテンツ上でどの点がヒットされたか見つけるために、3D三角形上でテクスチャ座標が使用される(段階326)。2Dコンテンツは隠された層に配置され、隠された層は、点が一列に並べられるように移動される(段階326)。キャプチャコンテンツを有する3D面がヒットされなかったとシステムが判定した場合は(判断点322)、キャプチャされたコンテンツの境界が算出される(段階328)。境界上の入力装置の位置への最近点が特定され、境界上の最近点が入力装置の位置の下に配置される(段階328)。プロセスは終了点330で終了する。
次に、図6〜13を参照すると、図3〜5の段階をさらに詳細に例示するためにシミュレートされた画像が使用されている。図6〜8では、3D面がキャプチャを有しない場合のいくつかの可能なシナリオを例示するためにいくつかの例示的なシミュレートされた画像が使用されている。これらのシミュレートされた画像およびそれらの付随する説明は、図5の段階314、316、320、324、および326、ならびに/または本明細書に記載の他のいくつかの技法のさらなる例示を提供する。図6は、キャプチャがない場合の隠されたコンテンツの2D表現を例示する、図1のシステムの一実施形態のためのシミュレートされた画像400である。シミュレートされた画像500は、球体にマッピングされるコンテンツを含む。図7は、球体(例えば、3D)にマッピングされる図6の画像400を示すシミュレートされた画像500を含む。図8は、3D面上で入力装置がその上方にあるスライダの一部分が2D内のそれと同じであるように、隠されたコンテンツがどのように整列されるかを示すシミュレートされた画像600を含む。次いで、入力装置をクリックすることは、サムコントロール(thumb control)とインタラクトすることになる。このマッピングは維持されるので、3D面は、入力装置がいつ3D面に入りそれらから出るか、ならびに3D面がそれら自体のどの部分の上方にあるか、正確に通知される。これは、3D上の2Dコンテンツとインタラクトすることができるという結果を生じる。一実施形態では、入力装置の移動は、隠されたコンテンツが更新される必要があるという信号としてトラッキングされる。
次に、図6〜8に示されている結果を達成するために2Dコンテンツが3D面にどのようにマッピングされるか説明するためにいくつかの非限定的な例が使用される。入力装置が3D面の上方にない場合は、隠された層は、入力装置がそれの上方にないような位置ならどこに配置されてもよい。一実施形態では、所望の振る舞いは、3D面上の2Dコンテンツは、入力装置がそれの上方にあるかのように振る舞わず、いかなる他のイベントもそれに影響を与えるべきではないということである。隠された層を入力装置から離して配置することは、それが移動またはクリックなどを通知されないようにする。
例のために、全ての3D面は三角形からなり、全ての三角形はそれらに関連するテクスチャ座標を有すると仮定する。テクスチャ座標は、画像のどの部分(テクスチャ)が三角形上に表示されるべきかを指定する。例えば、テクスチャ座標は(0,0)から(1,1)までの範囲にあり、この場合、(0,0)は画像の上部左隅であり、(1,1)は画像の下部右隅であると仮定する。その場合、テクスチャ座標が(0,0)、(1,0)、および(0,1)である場合は、画像の上部左半分が三角形上に表示される。さらに、3D面上に表示される2Dコンテンツが画像として表されることができ、この画像は、それが適用される3D面のためのテクスチャであると仮定する。例えば、図6はテクスチャとみなされることができ、テクスチャ座標は、図7に示されているように、テクスチャを球体に巻きつかせるものである。
次に、入力装置が3D面の上方にある場合は、それが3D面のどの部分と交差するかを見るために、光線が3Dシーンに発射される。これは、多くの標準的な技法を用いて行われることができる。システムが、何と交差したかを知った後は、ヒットされた三角形上の点、ならびにそのためのテクスチャ座標が、判定されることができる。テクスチャ座標が判定された後は、テクスチャも知られているので、システムはテクスチャ座標から2Dコンテンツ上の位置にマッピングすることができる。この位置は、3D面上の上方にある正確な点である。正確に配置するために、システムは、前の部分で算出された位置が入力装置の位置のすぐ下にあるように隠されたコンテンツを移動する。3D面の上方の点は、隠されたコンテンツ上のその同一の位置の真下にあり、それらは両方とも入力装置の真下にある。したがって、ユーザがこの位置をクリックした場合、またはそうでなければこの位置から入力した場合、それらは隠されたコンテンツと3D上にある2Dコンテンツの両方の上の全く同一の点をクリック/入力していることになる。さらに、入力装置が移動した場合、配置のために、隠されたコンテンツと3D上のそれの2D表現の両方は、全く同一の点の上方の入力装置の移動を通知されることになる。
次に、図9〜13を参照すると、3D面がキャプチャを有する場合のいくつかの可能なシナリオを例示するために、いくつかの例示的なシミュレートされた画像が示されている。これらのシミュレートされた画像およびそれらの付随する説明は、図5の段階314、318、322、326、および328、ならびに/または本明細書に記載のいくつかの他の技法のさらなる例示を提供する。一実施形態では、3D上の2D要素がキャプチャを取得した場合、正確な隠されたコンテンツの配置はさらに複雑になり得る。一例として、3Dでは、3Dの2D平面上への投影のために、入力装置の位置は実際に3D空間内の線に対応する。さらに、キャプチャを有する3D面はまた、いかなる任意の幾何学的形状にもマッピングされることができる。したがって、入力装置が3D面の上方にある場合、ヒットテスティングは、入力装置が2D画像に関してどこにあるかを示す。それが3D面から離れている場合は、上記の問題のために、もはやこの質問に対する簡単な答えはない。2D点は3D線に対応し、2Dコンテンツは任意の幾何学形状上にあってもよい。さらに、3D面はキャプチャを有するので、全てのイベントを受信したがる。前には、キャプチャが含まれていなかった場合は、システムは、入力装置がいつも確実に正しい対象物の上方にあることを必要とするだけであった。今は、キャプチャを有するので、システムは、隠されたコンテンツをそれがキャプチャを有する対象物に関して適切な位置にあるように配置する必要がある。図9〜11に示されているシミュレートされた画像は、これをさらに詳細に例示している。
一実施形態では、この問題に対する1つの可能な解決策は、3D問題を2Dに還元し戻すことである。通常の2Dの場合には、コンテンツに適用される変換は、入力装置の位置をコンテンツのローカル座標系(local coordinate system)に変換するために使用されることができる。次いで、この変換された位置は、コンテンツに入力装置がそれに関してどこにあるかを知らせる。3Dでは、多くの幾何学的形状の位置およびテクスチャ座標のレイアウトのために、3D点が3D上の2Dコンテンツの関連座標系のどこにあるかを言うことが難しい場合があり得る。一実施形態では、これを概算するために、3D上の2Dコンテンツの輪郭が、スクリーン空間に投影された後で、算出され、次いで、この投影画像に基づいて入力装置が配置される。図9〜11はこれをさらに詳細に例示している。
図9のシミュレートされた画像700は、3D上の2Dコンテンツを示す。図10上のシミュレートされた画像750はテキストが選択されたことを示し、入力装置は対象物から離れた点に移動される。図11は、テキストボックスの輪郭(すなわち、キャプチャを有する対象物)を有するシミュレートされた画像800を示す。次いで、この輪郭は、隠されたコンテンツを配置するために使用される。
輪郭が利用可能になった後で、この輪郭上の入力装置への最近点が算出され、その場合、輪郭上のこの点は、「ヒット」されたものとみなされ、入力装置の位置の下に配置される。示されている例では、ハイライトが画像750の中央部の「T」まで行われている。隠されたコンテンツは入力装置が3D上の2Dコンテンツ上で最も近いものに基づいて配置され、入力装置は最近縁点の側に配置されるので、インタラクションは2Dでのように振舞う傾向にある。隠されたコンテンツを最近縁点に配置することにより、システムは、入力装置が2Dに関して3D面の位置上のどこにあるとシステムが予期するかについて示している。
図9〜11を参照しながら説明されたプロセスを実際に実行するために、システムは、それがその中に含まれている2Dコンテンツに関してキャプチャを有する対象物の境界を算出する。一例として、図12〜13に示されている2Dコンテンツを考察する。テキストボックスはキャプチャを有すると仮定する。図12では、画像900に含まれるテキストボックスは、肉太の線で輪郭を描かれている。これらの境界は、キャプチャを有する3D面の境界が知られており、全体としての2Dコンテンツのサイズも知られているので、テクスチャ座標に変換されることができる。次いで、システムは、テクスチャ座標によって、3D面がその上にあるメッシュの全ての三角形を調べ、境界座標と交差するテクスチャ座標を含む三角形がないか探すことができる。例えば、三角形があると仮定すると、図12の2Dコンテンツ上に示されているように、テクスチャ座標を有する三角形が描かれている。システムは、三角形の縁がキャプチャを有する3D面の境界と交わっているかどうか調べて確認する。この場合は、三角形の縁はキャプチャを有する3D面の境界と交わっている(キャプチャを有するテキストボックスと交わっている)。三角形がビューア(viewer)に面していて、境界縁のいずれかがそれと交差する場合は、境界縁と三角形が交差する縁が最終リストに加えられる。加えられるであろう縁は、図13の画像950に示されている。これらのステップを実行することにより、キャプチャされた3D面の境界と交差する可視縁が判定される。
一実施形態では、システムはまた、どの三角形がビューアに面しているか、どの三角形が面していないかをトラッキングする。1つはユーザに面し、1つは面していない、1つの縁を共有する2つの三角形がある場合は、システムはまた、キャプチャされた3D面の境界の中にあるこの共有縁の一部分を最終リストに加えることができる。これは、可視境界が算出されるために必要であり得る。この状況の非限定的な例として、図9の球体を考察する。左の縁も右の縁も両方ともシルエット縁(silhouette edge)である(すなわち、1つの縁が可視三角形と不可視三角形の両方を有する)。システムは、(図11に示されているように)キャプチャされた3D面の可視輪郭全体を算出するためにこれらを加える。そうでなければ、左端の画像および右端の画像はなくなり、完全な輪郭は算出されないであろう。縁のリストが判定された後は、それらは2Dに投影し返される。これは、2D内で3D上の2Dコンテンツの輪郭を与える。次いで、入力装置に最も近いこれらの縁上の点が算出される。この点はそれ自体のテクスチャ座標を有し、次いで、このテクスチャ座標は、上記のように、隠されたコンテンツを配置するために使用される。所望の振る舞いに応じて、キャプチャされた3D面の境界は、キャプチャされた3D面からさらに離される必要がある場合は、太くされることができる。
主題は、構造的特徴および/または方法論的行為に特有の言語で説明されてきたが、添付の特許請求の範囲の請求項で定義された主題は、上記で説明された特定の特徴または行為に必ずしも限定されないことを理解されたい。そうではなく、上記で説明された特定の特徴および行為は、請求項を実施する例示的形態として開示されている。本明細書および/または添付の特許請求の範囲の請求項に記載の実施形態の範囲に入る全ての同等形態、変更形態、および修正形態が保護されるよう望まれる。
例えば、本明細書で議論された実施例で説明されたようなクライアントおよび/またはサーバ構成、ユーザインターフェーススクリーンコンテンツ、ならびに/あるいはデータレイアウトは、実施例で描写されたようなものより少ないまたはそれらに追加のオプションまたは特徴を含むために1つまたは複数のコンピュータ上で異なる仕方で編成されることもできることを当コンピュータソフトウェア技術分野の業者は理解するであろう。

Claims (20)

  1. コンピュータ可読媒体であって、
    3D面に関して入力装置がどこに配置されているか判定することと、
    前記入力装置が前記3D面をヒットしている場合は、2D内の隠されたコンテンツを、前記3D面上のヒットされたエリアを表す点が2D内の前記隠されたコンテンツ上の対応する点と一列に並ぶように配置することと
    を備えるステップをコンピュータに実行させるためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
  2. 前記入力装置が前記3D面をヒットしなかった場合は、前記隠されたコンテンツを非アクティブにすること
    を備えるステップをコンピュータに実行させるためのコンピュータ実行可能命令をさらに有することを特徴とする請求項1に記載のコンピュータ可読媒体。
  3. 前記3D面に関して前記入力装置がどこに配置されるか判定する前に前記隠されたコンテンツを更新する必要があると判定すること
    を備えるステップをコンピュータに実行させるためのコンピュータ実行可能命令をさらに有することを特徴とする請求項1に記載のコンピュータ可読媒体。
  4. 3D面に関して入力装置の位置を提供するための方法であって、
    シーン内の位置で入力装置が検出された場合、入力装置の位置を求める要求を受信するステップと、
    3D面を前記シーン内の2次元に投影するステップと、
    前記投影された3D面上の前記入力装置の2D位置への最近点を算出するステップと、
    前記要求に応答して前記最近点を返すステップと
    を備えることを特徴とする方法。
  5. 前記入力装置はマウスであることを特徴とする請求項4に記載の方法。
  6. 前記入力装置はスタイラスであることを特徴とする請求項4に記載の方法。
  7. 前記要求は領域から受信されることを特徴とする請求項4に記載の方法。
  8. 前記領域は任意の3D幾何学的形状であることを特徴とする請求項7に記載の方法。
  9. 請求項4に記載のステップをコンピュータに実行させるためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
  10. 3D面上に配置された2Dコンテンツとのインタラクションを可能にするための方法であって、
    3Dシーンにある2D内の隠されたコンテンツが更新される必要があると判定するステップと、
    前記3Dシーン内の前記入力装置の位置を判定するステップと、
    前記3Dシーン内の3D面がキャプチャを有しない場合は、前記入力装置が前記3Dシーン内の前記3D面をヒットしたかどうか判定し、前記入力装置が前記3D面をヒットした場合は、3D三角形上のテクスチャ座標を使用して、2D内の前記隠されたコンテンツ上の複数の点のうちのどの点がヒットされたか判定し、前記隠されたコンテンツを、前記隠されたコンテンツが前記3D面上の対応する点と一列に並ぶような位置に移動するステップと
    を備えることを特徴とする方法。
  11. 前記3Dシーン内の前記3D面がキャプチャを有する場合は、前記入力装置がキャプチャコンテンツを有する前記3D面をヒットしたかどうか判定するステップ
    をさらに備えることを特徴とする請求項10に記載の方法。
  12. 前記3Dシーン内の前記3D面がキャプチャを有する場合であって、前記入力装置が前記キャプチャコンテンツを有する前記3D面をヒットしたと判定された場合は、前記3D三角形上のテクスチャ座標を使用して、2D内の前記隠されたコンテンツ上の複数の点のうちのどの点がヒットされたか判定し、前記隠されたコンテンツを、前記隠されたコンテンツが前記3D面上の前記対応する点と一列に並ぶような前記位置に移動するステップ
    をさらに備えることを特徴とする請求項11に記載の方法。
  13. 前記3Dシーン内の前記3D面がキャプチャを有する場合で、前記入力装置が前記キャプチャコンテンツを有する前記3D面をヒットしなかったと判定された場合は、前記キャプチャコンテンツの前記境界を算出し、前記境界上の前記入力装置の前記位置への最近点を見つけ、前記最近点を前記入力装置の前記位置の下の前記境界上に配置するステップ
    をさらに備えることを特徴とする請求項11に記載の方法。
  14. 前記隠されたコンテンツは前記入力装置からのオンムーブイベント(on move event)の発生時に更新される必要があると判定されることを特徴とする請求項10に記載の方法。
  15. 前記入力装置はマウスであることを特徴とする請求項10に記載の方法。
  16. 前記入力装置はスタイラスであることを特徴とする請求項10に記載の方法。
  17. 前記隠されたコンテンツを更新する前記必要は、領域から前記入力装置の前記位置を求める要求を受信したときに判定されることを特徴とする請求項10に記載の方法。
  18. 前記領域は任意の3D幾何学的形状であることを特徴とする請求項17に記載の方法。
  19. 前記3Dシーン内の前記3D面がキャプチャを有しない場合であって、前記入力装置が前記3Dシーン内の前記3D面をヒットしなかったと判定された場合は、前記隠されたコンテンツを前記入力装置の前記位置から離すステップ
    をさらに備えることを特徴とする請求項10に記載の方法。
  20. 請求項10に記載のステップをコンピュータに実行させるためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
JP2009538536A 2006-11-28 2007-11-27 3d面上の2dコンテンツとのインタラクト Withdrawn JP2010511228A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/605,183 US20080122839A1 (en) 2006-11-28 2006-11-28 Interacting with 2D content on 3D surfaces
PCT/US2007/085666 WO2008067330A1 (en) 2006-11-28 2007-11-27 Interacting with 2d content on 3d surfaces

Publications (2)

Publication Number Publication Date
JP2010511228A true JP2010511228A (ja) 2010-04-08
JP2010511228A5 JP2010511228A5 (ja) 2011-01-20

Family

ID=39463202

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009538536A Withdrawn JP2010511228A (ja) 2006-11-28 2007-11-27 3d面上の2dコンテンツとのインタラクト

Country Status (8)

Country Link
US (1) US20080122839A1 (ja)
EP (1) EP2095326A1 (ja)
JP (1) JP2010511228A (ja)
KR (1) KR20090084900A (ja)
CN (1) CN101553843A (ja)
MX (1) MX2009004894A (ja)
TW (1) TW200828098A (ja)
WO (1) WO2008067330A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101416235B1 (ko) * 2008-02-12 2014-07-07 삼성전자주식회사 3차원 위치 입력 방법 및 장치
US8436816B2 (en) 2008-10-24 2013-05-07 Apple Inc. Disappearing button or slider
US8854357B2 (en) 2011-01-27 2014-10-07 Microsoft Corporation Presenting selectors within three-dimensional graphical environments
CN102915232B (zh) * 2011-08-01 2016-08-10 华为技术有限公司 一种3d控件的交互方法及通信终端
US9361283B2 (en) 2011-11-30 2016-06-07 Google Inc. Method and system for projecting text onto surfaces in geographic imagery
US9320593B2 (en) 2013-03-15 2016-04-26 Restoration Robotics, Inc. Systems and methods for planning hair transplantation
US9167999B2 (en) 2013-03-15 2015-10-27 Restoration Robotics, Inc. Systems and methods for planning hair transplantation
CN103529943B (zh) * 2013-10-17 2016-05-04 合肥金诺数码科技股份有限公司 一种基于流体物理模拟系统的人体投影交互方法
CN109087402B (zh) * 2018-07-26 2021-02-12 上海莉莉丝科技股份有限公司 在3d场景的特定表面上覆盖特定表面形态的方法、系统、设备和介质
WO2022130393A1 (en) 2020-12-20 2022-06-23 Lumus Ltd. Image projector with laser scanning over spatial light modulator
KR20220120141A (ko) 2021-02-23 2022-08-30 이동건 혼합 현실 입출력 확장 시스템
WO2022056499A1 (en) * 2021-10-13 2022-03-17 Innopeak Technology, Inc. 3d rendering and animation support for ui controls

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6037936A (en) * 1993-09-10 2000-03-14 Criticom Corp. Computer vision system with a graphic user interface and remote camera control
US5511157A (en) * 1993-12-13 1996-04-23 International Business Machines Corporation Connection of sliders to 3D objects to allow easy user manipulation and viewing of objects
JPH0869274A (ja) * 1994-08-30 1996-03-12 Sega Enterp Ltd 画像処理装置およびその方法
US5903271A (en) * 1997-05-23 1999-05-11 International Business Machines Corporation Facilitating viewer interaction with three-dimensional objects and two-dimensional images in virtual three-dimensional workspace by drag and drop technique
KR20010087256A (ko) * 2000-03-03 2001-09-15 김종민 3차원 사이버 공간 제공 시스템
US6556227B1 (en) * 2000-03-16 2003-04-29 Autodesk, Inc. Visualization techniques for constructive systems in a computer-implemented graphics system
JP2001276420A (ja) * 2000-03-30 2001-10-09 Namco Ltd ゲーム装置および情報記憶媒体
JP4167390B2 (ja) * 2000-11-20 2008-10-15 日本電気株式会社 物体照合方法,物体照合装置,およびそのプログラムを記録した記録媒体
FR2820269A1 (fr) * 2001-01-30 2002-08-02 Koninkl Philips Electronics Nv Procede de traitement d'images en 2d appliquees sur des objets en 3d
EP1433132B1 (en) * 2001-04-30 2011-12-21 Activemap LLC Interactive electronically presented map
US7236178B2 (en) * 2001-07-19 2007-06-26 Autodesk, Inc. Dynamically adjusted brush for direct paint systems on parameterized multi-dimensional surfaces
US20030071810A1 (en) * 2001-08-31 2003-04-17 Boris Shoov Simultaneous use of 2D and 3D modeling data
US7554541B2 (en) * 2002-06-28 2009-06-30 Autodesk, Inc. Widgets displayed and operable on a surface of a volumetric display enclosure
WO2004061544A2 (en) * 2002-11-29 2004-07-22 Bracco Imaging, S.P.A. Method and system for scaling control in 3d displays
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
JP2005339060A (ja) * 2004-05-25 2005-12-08 Nec Electronics Corp クロストーク計算装置およびクロストーク計算方法
EP1769390B1 (en) * 2004-06-04 2014-12-03 Stereotaxis, Inc. User interface for remote control of medical devices
US7178111B2 (en) * 2004-08-03 2007-02-13 Microsoft Corporation Multi-planar three-dimensional user interface
JP2008521462A (ja) * 2004-11-27 2008-06-26 ブラッコ イメージング エス.ピー.エー. 2次元/3次元の統合されたコンターエディター

Also Published As

Publication number Publication date
CN101553843A (zh) 2009-10-07
EP2095326A1 (en) 2009-09-02
WO2008067330A1 (en) 2008-06-05
US20080122839A1 (en) 2008-05-29
MX2009004894A (es) 2009-05-19
TW200828098A (en) 2008-07-01
KR20090084900A (ko) 2009-08-05

Similar Documents

Publication Publication Date Title
JP2010511228A (ja) 3d面上の2dコンテンツとのインタラクト
US11842438B2 (en) Method and terminal device for determining occluded area of virtual object
EP2681649B1 (en) System and method for navigating a 3-d environment using a multi-input interface
US9443353B2 (en) Methods and systems for capturing and moving 3D models and true-scale metadata of real world objects
US10318152B2 (en) Modifying key size on a touch screen based on fingertip location
US9773335B2 (en) Display control device and method
US7412706B2 (en) Input redirection
CN110559660B (zh) Unity3D场景中鼠标对物体的按面拖拽法及介质
KR101650269B1 (ko) 화면 제어를 위한 효율적인 인터페이스를 제공하는 시스템 및 방법
US20230338842A1 (en) Rendering processing method and electronic device
US10789766B2 (en) Three-dimensional visual effect simulation method and apparatus, storage medium, and display device
US11475636B2 (en) Augmented reality and virtual reality engine for virtual desktop infrastucture
JP7032451B2 (ja) デジタルマップ上のインジケータの視覚的なプロパティを動的に変更すること
US11204679B1 (en) Snapping objects into alignment in three-dimensional space
EP3594906B1 (en) Method and device for providing augmented reality, and computer program
AU2017202682B2 (en) Rendering of digital images on a substrate
JP2022529201A (ja) 意味論的拡張人工現実体験
US8145460B2 (en) Information processing method and information processing apparatus
CN112569601B (zh) 一种游戏中模型组件的拼接方法、装置及电子设备
CN116129085B (zh) 虚拟物体处理方法、设备、存储介质及程序产品
EP3574387A1 (en) Projecting inputs to three-dimensional object representations
CN114011058A (zh) 一种游戏控制的方法和装置
CN116647657A (zh) 响应式视频画布生成
CN116824105A (zh) 建筑信息模型的显示调整方法、装置、设备及存储介质
CN113362387A (zh) 一种动态环境移动机器人的环境地图构建方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101129

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101129

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20121112