JP6125076B2 - Display device, control method, and control program - Google Patents
Display device, control method, and control program Download PDFInfo
- Publication number
- JP6125076B2 JP6125076B2 JP2016088607A JP2016088607A JP6125076B2 JP 6125076 B2 JP6125076 B2 JP 6125076B2 JP 2016088607 A JP2016088607 A JP 2016088607A JP 2016088607 A JP2016088607 A JP 2016088607A JP 6125076 B2 JP6125076 B2 JP 6125076B2
- Authority
- JP
- Japan
- Prior art keywords
- dimensional object
- display device
- dimensional
- control unit
- cube
- 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.)
- Active
Links
Images
Landscapes
- Position Input By Displaying (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- User Interface Of Digital Computer (AREA)
Description
本出願は、表示装置、制御方法および制御プログラムに関する。 The present application relates to a display device, a control method, and a control program.
表示部を備える表示装置には、画像等を立体表示することができるものがある(例えば、特許文献1参照)。立体表示は、両眼の視差を利用して実現される。 Some display devices including a display unit can display an image or the like in a three-dimensional manner (for example, see Patent Document 1). Stereoscopic display is realized using parallax of both eyes.
立体表示は利用者にとって親しみやすい表示形式であるにも関わらず、従来の表示装置では、立体表示は視聴目的でしか利用されず、操作の利便性を向上させるためには利用されてこなかった。本発明は、利用者に対して利便性の高い操作方法を提供することができる表示装置、制御方法および制御プログラムを提供することを目的とする。 Although the stereoscopic display is a display format familiar to the user, in the conventional display device, the stereoscopic display is used only for the purpose of viewing and has not been used for improving the convenience of operation. An object of the present invention is to provide a display device, a control method, and a control program capable of providing a user-friendly operation method.
1つの態様に係る表示装置は、装着されることによりユーザの両目のそれぞれに対応した画像を表示することで、表計算に関わる処理を実行するための立体状のオブジェクトを3次元表示する表示部と、前記オブジェクトに対する操作と、前記処理に含まれる処理項目とが対応付けられたルールを記憶する記憶部と、前記操作を検出する検出部と、前記ルールに基づいて、前記検出部によって検出される前記操作に応じて実行すべき前記処理項目を決定する制御部とを有することを特徴とする。 A display device according to one aspect displays a three-dimensional object for performing a process related to a spreadsheet by displaying an image corresponding to each of both eyes of the user by being mounted. A storage unit that stores a rule in which an operation on the object is associated with a process item included in the process, a detection unit that detects the operation, and a detection unit that detects the operation based on the rule. And a control unit that determines the processing item to be executed according to the operation.
1つの態様に係る制御方法は、装着されることによりユーザの両目のそれぞれに対応した画像を表示することで、表計算に関わる処理を実行するためのオブジェクトを3次元表示する表示装置によって実行される制御方法であって、立体状の前記オブジェクトを表示装置に3次元表示するステップと、前記オブジェクトに対する操作を検出するステップと、前記操作と、前記処理に含まれる処理項目とが対応付けられたルールを記憶する記憶部を参照して、検出される前記操作に応じて実行すべき前記処理項目を決定するステップとを含むことを特徴とする。 A control method according to one aspect is executed by a display device that displays an image corresponding to each of both eyes of a user by being worn, and displays an object for executing processing related to a spreadsheet in a three-dimensional manner. A three-dimensional display of the three-dimensional object on a display device, a step of detecting an operation on the object, the operation, and a processing item included in the process are associated with each other Determining a processing item to be executed according to the detected operation with reference to a storage unit storing a rule.
1つの態様に係る制御プログラムは、装着されることによりユーザの両目のそれぞれに対応した画像を表示することで、表計算に関わる処理を実行するためのオブジェクトを3次元表示する表示装置に、立体状の前記オブジェクトを表示装置に3次元表示するステップと、前記オブジェクトに対する操作を検出するステップと、前記操作と、前記処理に含まれる処理項目とが対応付けられたルールを記憶する記憶部を参照して、検出される前記操作に応じて実行すべき前記処理項目を決定するステップとを実行させることを特徴とする。 A control program according to one aspect displays a three-dimensional display of an object for performing a process related to a spreadsheet by displaying an image corresponding to each of the user's eyes when worn. Refer to a storage unit that stores a rule in which the object is three-dimensionally displayed on a display device, a step of detecting an operation on the object, a rule in which the operation is associated with a processing item included in the processing Then, the step of determining the processing item to be executed according to the detected operation is executed.
以下、本発明につき図面を参照しつつ詳細に説明する。なお、以下の説明により本発明が限定されるものではない。また、以下の説明における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。 Hereinafter, the present invention will be described in detail with reference to the drawings. The present invention is not limited to the following description. In addition, constituent elements in the following description include those that can be easily assumed by those skilled in the art, those that are substantially the same, and those in a so-called equivalent range.
まず、図1および図2を参照しながら、第1の実施例に係る表示装置1の全体的な構成について説明する。図1は、表示装置1の斜視図である。図2は、利用者によって装着された表示装置1を正面から見た図である。図1および図2に示すように、表示装置1は、利用者の頭部に装着されるヘッドマウントタイプの装置である。
First, the overall configuration of the
表示装置1は、前面部1aと、側面部1bと、側面部1cとを有する。前面部1aは、装着時に、利用者の両目を覆うように利用者の正面に配置される。側面部1bは、前面部1aの一方の端部に接続され、側面部1cは、前面部1aの他方の端部に接続される。側面部1bおよび側面部1cは、装着時に、眼鏡の蔓のように利用者の耳によって支持され、表示装置1を安定させる。側面部1bおよび側面部1cは、装着時に、利用者の頭部の背面で接続されるように構成されてもよい。
The
前面部1aは、装着時に利用者の目と対向する面に表示部32aおよび表示部32bを備える。表示部32aは、装着時に利用者の右目と対向する位置に配設され、表示部32bは、装着時に利用者の左目と対向する位置に配設される。表示部32aは、右目用の画像を表示し、表示部32bは、左目用の画像を表示する。このように、装着時に利用者のそれぞれの目に対応した画像を表示する表示部32aおよび表示部32bを備えることにより、表示装置1は、両眼の視差を利用した3次元表示を実現することができる。
The
表示部32aおよび表示部32bは、利用者の右目と左目に異なる画像を独立して提供することができれば、1つの表示デバイスによって構成されてもよい。例えば、表示される画像が一方の目にしか見えないように遮蔽するシャッターを高速に切り替えることによって、1つの表示デバイスが右目と左目に異なる画像を独立して提供するように構成してもよい。前面部1aは、装着時に外光が利用者の目に入らないように、利用者の目を覆うように構成されてもよい。
The
前面部1aは、表示部32aおよび表示部32bが設けられている面とは反対側の面に撮影部40および撮影部42を備える。撮影部40は、前面部1aの一方の端部(装着時の右目側)の近傍に配設され、撮影部42は、前面部1aの他方の端部(装着時の左目側)の近傍に配設される。撮影部40は、利用者の右目の視界に相当する範囲の画像を取得する。撮影部42は、利用者の左目の視界に相当する範囲の画像を取得する。ここでいう視界とは、例えば、利用者が正面を見ているときの視界である。
The
表示装置1は、撮影部40によって撮影された画像を右目用の画像として表示部32aに表示し、撮影部42によって撮影された画像を左目用の画像として表示部32bに表示する。このため、表示装置1は、装着中の利用者に、前面部1aによって視界が遮られていても、表示装置1を装着していないときと同様の光景を提供することができる。
The
表示装置1は、このように現実の光景を利用者に提供する機能に加えて、仮想的な情報を3次元的に表示し、仮想的な情報を利用者が操作することを可能にする機能を有する。表示装置1によれば、仮想的な情報は、実際に存在しているかのように、現実の光景と重ねて表示される。そして、利用者は、例えば、手を使って仮想的な情報を実際に触っているかのように操作し、移動、回転、変形等の変化を仮想的な情報に施すことができる。このように、表示装置1は、仮想的な情報に関して、直感的で利便性の高い操作方法を提供する。以下の説明では、表示装置1によって3次元的に表示される仮想的な情報を「3次元オブジェクト」と呼ぶことがある。
In addition to the function of providing an actual scene to the user, the
表示装置1は、表示装置1を装着していない場合と同様の広い視界を利用者に提供する。そして、表示装置1は、この広い視界の中の任意の位置に任意の大きさで3次元オブジェクトを配置することができる。このように、表示装置1は、表示デバイスの大きさの制約を受けることなく、広い空間の様々な位置に様々な大きさの3次元オブジェクトを表示することができる。
The
図1および図2では、表示装置1が、眼鏡(ゴーグル)のような形状を有する例を示したが、表示装置1の形状はこれに限定されない。例えば、表示装置1は、図3に示す表示装置2のように、利用者の頭部のほぼ上半分を覆うようなヘルメットタイプの形状を有していてもよい。あるいは、表示装置1は、図4に示す表示装置3のように、利用者の顔面のほぼ全体を覆うようなマスクタイプの形状を有していてもよい。表示装置1は、図5に示す表示装置4のように、情報処理装置、バッテリ装置等の外部装置4dと有線または無線で接続される構成であってもよい。
1 and 2 show an example in which the
次に、図6を参照しながら、表示装置1の機能的な構成について説明する。図6は、第1の実施例に係る表示装置1のブロック図である。図6に示すように、表示装置1は、操作部13と、制御部22と、記憶部24と、表示部32aおよび32bと、撮影部40および42と、検出部44と、測距部46とを有する。操作部13は、表示装置1の起動、停止、動作モードの変更等の基本的な操作を受け付ける。
Next, a functional configuration of the
表示部32aおよび32bは、液晶ディスプレイ(Liquid Crystal Display)、有機EL(Organic Electro−Luminescence)パネル等の表示デバイスを備え、制御部22から入力される制御信号に従って各種の情報を表示する。表示部32aおよび32bは、レーザー光線等の光源を用いて利用者の網膜に画像を投影する投影装置であってもよい。
The
撮影部40および42は、CCD(Charge Coupled Device Image Sensor)、CMOS(Complementary Metal Oxide Semiconductor)等のイメージセンサを用いて電子的に画像を撮影する。そして、撮影部40および42は、撮影した画像を信号に変換して制御部22へ出力する。
The
検出部44は、撮影部40および42の撮影範囲に存在する現実の物体を検出する。検出部44は、例えば、撮影範囲に存在する現実の物体のうち、予め登録された形状(例えば、人間の手の形状)にマッチする物体を検出する。検出部44は、予め形状が登録されていない物体についても、画素の明度、彩度、色相のエッジ等に基づいて、画像中の現実の物体の範囲(形状および大きさ)を検出するように構成されてもよい。
The
測距部46は、撮影部40および42の撮影範囲に存在する現実の物体までの距離を測定する。現実の物体までの距離は、表示装置1を装着している利用者のそれぞれの目の位置を基準として目毎に測定される。このため、測距部46が距離を測定する基準位置がそれぞれの目の位置とずれている場合には、測距部46の測定値は、そのずれに応じて、目の位置までの距離を表すように補正される。
The
本実施例においては、撮影部40および42が、検出部44および測距部46を兼ねる。すなわち、本実施例においては、撮影部40および42によって撮影される画像を解析することによって、撮影範囲内の物体が検出される。さらに、撮影部40によって撮影される画像に含まれる物体と撮影部42によって撮影される画像に含まれる物体とを比較することにより、物体との距離が測定(算出)される。
In the present embodiment, the
表示装置1は、撮影部40および42とは別に、検出部44を備えてもよい。検出部44は、例えば、可視光、赤外線、紫外線、電波、音波、磁気、静電容量の少なくとも1つを用いて、撮影範囲に存在する現実の物体を検出するセンサであってもよい。表示装置1は、撮影部40および42とは別に、測距部46を備えてもよい。測距部46は、例えば、可視光、赤外線、紫外線、電波、音波、磁気、静電容量の少なくとも1つを用いて、撮影範囲に存在する現実の物体までの距離を検出するセンサであってもよい。表示装置1は、TOF(Time-of-Flight)法を用いたセンサのように、検出部44および測距部46を兼ねることができるセンサを備えてもよい。
The
制御部22は、演算手段であるCPU(Central Processing Unit)と、記憶手段であるメモリとを備え、これらのハードウェア資源を用いてプログラムを実行することによって各種の機能を実現する。具体的には、制御部22は、記憶部24に記憶されているプログラムやデータを読み出してメモリに展開し、メモリに展開されたプログラムに含まれる命令をCPUに実行させる。そして、制御部22は、CPUによる命令の実行結果に応じて、メモリおよび記憶部24に対してデータの読み書きを行ったり、表示部32a等の動作を制御したりする。CPUが命令を実行するに際しては、メモリに展開されているデータや検出部44を介して検出される操作がパラメータや判定条件の一部として利用される。
The
記憶部24は、フラッシュメモリ等の不揮発性を有する記憶装置からなり、各種のプログラムやデータを記憶する。記憶部24に記憶されるプログラムには、制御プログラム24aが含まれる。記憶部24に記憶されるデータには、オブジェクトデータ24bと、作用データ24cと、仮想空間データ24dとが含まれる。記憶部24は、メモリカード等の可搬の記憶媒体と、記憶媒体に対して読み書きを行う読み書き装置との組み合わせによって構成されてもよい。この場合、制御プログラム24a、オブジェクトデータ24b、作用データ24c、仮想空間データ24dは、記憶媒体に記憶されていてもよい。また、制御プログラム24a、オブジェクトデータ24b、作用データ24c、仮想空間データ24dは、無線通信または有線通信によってサーバ装置等の他の装置から取得されてもよい。
The
制御プログラム24aは、表示装置1を稼働させるための各種制御に関する機能を提供する。制御プログラム24aが提供する機能には、撮影部40および42が取得する画像に3次元オブジェクトを重ねて表示部32aおよび32bに表示する機能、3次元オブジェクトに対する操作を検出する機能、検出した操作に応じて3次元オブジェクトを変化させる機能等が含まれる。
The
制御プログラム24aは、検出処理部25と、表示オブジェクト制御部26と、画像合成部27とを含む。検出処理部25は、撮影部40および42の撮影範囲に存在する現実の物体を検出するための機能を提供する。検出処理部25が提供する機能には、検出したそれぞれの物体までの距離を測定する機能が含まれる。
The
表示オブジェクト制御部26は、仮想空間にどのような3次元オブジェクトが配置され、それぞれの3次元オブジェクトがどのような状態にあるかを管理するための機能を提供する。表示オブジェクト制御部26が提供する機能には、検出処理部25の機能によって検出される現実の物体の動きに基づいて3次元オブジェクトに対する操作を検出し、検出した操作に基づいて3次元オブジェクトを変化させる機能が含まれる。
The display
画像合成部27は、現実の空間の画像と仮想空間の画像とを合成することにより、表示部32aに表示する画像と表示部32bに表示する画像とを生成するための機能を提供する。画像合成部27が提供する機能には、検出処理部25の機能によって測定される現実の物体までの距離と、仮想空間における視点から3次元オブジェクトまでの距離とに基づいて、現実の物体と3次元オブジェクトの前後関係を判定し、重なりを調整する機能が含まれる。
The
オブジェクトデータ24bは、3次元オブジェクトの形状および性質に関する情報を含む。オブジェクトデータ24bは、3次元オブジェクトを表示するために用いられる。作用データ24cは、表示されている3次元オブジェクトに対する操作が3次元オブジェクトにどのように作用するかに関する情報を含む。作用データ24cは、表示されている3次元オブジェクトに対する操作が検出された場合に、3次元オブジェクトをどのように変化させるかを判定するために用いられる。ここでいう変化には、移動、回転、変形、消失、置換等が含まれる。仮想空間データ24dは、仮想空間に配置される3次元オブジェクトの状態に関する情報を保持する。3次元オブジェクトの状態には、例えば、位置、姿勢、変形の状況等が含まれる。なお、置換とは、一のオブジェクトを他のオブジェクトに置き換えることである。
The
次に、図7を参照しながら、制御プログラム24aが提供する機能に基づく制御の例について説明する。画像P1aは、撮影部40によって得られる画像、すなわち、現実の空間を右目で見た光景に相当する画像である。画像P1aには、テーブルT1と、利用者の手H1とが写っている。表示装置1は、同じ場面を撮影部42によって撮影した画像、すなわち、現実の空間を左目で見た光景に相当する画像も取得する。
Next, an example of control based on the function provided by the
画像P2aは、仮想空間データ24dおよびオブジェクトデータ24bに基づいて生成される右目用の画像である。この例において、仮想空間データ24dは、仮想空間中に存在するブロック状の3次元オブジェクトBL1の状態に関する情報を保持し、オブジェクトデータ24bは、3次元オブジェクトBL1の形状および性質に関する情報を保持する。表示装置1は、これらの情報に基づいて仮想空間を再現し、再現した仮想空間を右目の視点から見た画像P2aを生成する。仮想空間における右目(視点)の位置は、所定の規則に基づいて決定される。表示装置1は、同様に、再現した仮想空間を左目の視点で見た画像も生成する。すなわち、表示装置1は、画像P2aと組み合わせることによって3次元オブジェクトBL1が3次元的に表示される画像も生成する。
The image P2a is a right-eye image generated based on the
表示装置1は、図7に示すステップS1において、画像P1aおよび画像P2aを合成して、画像P3aを生成する。画像P3aは、右目用の画像として表示部32aに表示される画像である。このとき、表示装置1は、利用者の右目の位置を基準として、撮影部40の撮影範囲にある現実の物体と、仮想空間内に存在する3次元オブジェクトとの前後関係を判定する。そして、現実の物体と3次元オブジェクトとが重なっている場合には、利用者の右目により近いものが前面に見えるように重なりを調整する。
In step S1 shown in FIG. 7, the
このような重なりの調整は、現実の物体と3次元オブジェクトとが重なる画像上の領域内の所定の大きさの範囲毎(例えば、1画素毎)に行われる。このため、現実の空間における視点から現実の物体までの距離は、画像上の所定の大きさの範囲毎に測定される。さらに、仮想空間における視点から3次元オブジェクトまでの距離は、3次元オブジェクトの位置、形状、姿勢等を考慮して、画像上の所定の大きさの範囲毎に算出される。 Such overlapping adjustment is performed for each range of a predetermined size (for example, for each pixel) in the region on the image where the real object and the three-dimensional object overlap. For this reason, the distance from the viewpoint in the real space to the real object is measured for each range of a predetermined size on the image. Further, the distance from the viewpoint in the virtual space to the three-dimensional object is calculated for each range of a predetermined size on the image in consideration of the position, shape, posture, etc. of the three-dimensional object.
図7に示すステップS1の場面では、3次元オブジェクトBL1は、仮想空間において、テーブルT1が現実の空間で存在する位置のすぐ上に相当する位置に配置されている。さらに、図7に示すステップS1の場面では、利用者の手H1と3次元オブジェクトBL1が、利用者の右目の位置を基準として、ほぼ同じ方向に、ほぼ同じ距離で存在している。このため、所定の大きさの範囲毎に重なりを調整することにより、合成後の画像P3aでは、手H1と3次元オブジェクトBL1とが重なっている領域のうち、手H1の親指に相当する部分では手H1が前面に現れ、他の部分では3次元オブジェクトBL1が前面に現れている。さらに、テーブルT1と3次元オブジェクトBL1とが重なっている領域では、3次元オブジェクトBL1が前面に現れている。 In the scene of step S1 shown in FIG. 7, the three-dimensional object BL1 is arranged in a position corresponding to the position immediately above the position where the table T1 exists in the real space in the virtual space. Furthermore, in the scene of step S1 shown in FIG. 7, the user's hand H1 and the three-dimensional object BL1 exist in substantially the same direction and at substantially the same distance with respect to the position of the user's right eye. For this reason, by adjusting the overlap for each range of a predetermined size, in the combined image P3a, in the portion corresponding to the thumb of the hand H1 in the region where the hand H1 and the three-dimensional object BL1 overlap. The hand H1 appears on the front surface, and the three-dimensional object BL1 appears on the front surface in other portions. Furthermore, in the area where the table T1 and the three-dimensional object BL1 overlap, the three-dimensional object BL1 appears on the front surface.
このような重なりの調整により、図7に示すステップS1では、あたかもテーブルT1上に3次元オブジェクトBL1が置かれ、3次元オブジェクトBL1を利用者が手H1で摘んでいるかのような画像P3aが得られている。表示装置1は、同様の処理により、撮影部42によって撮影した画像と仮想空間を左目の視点から見た画像とを合成し、左目用の画像として表示部32bに表示される画像を生成する。左目用の画像を生成する場合、現実の物体と3次元オブジェクトとの重なりは、利用者の左目の位置を基準として調整される。
By adjusting the overlap, in step S1 shown in FIG. 7, an image P3a is obtained as if the three-dimensional object BL1 is placed on the table T1 and the user grasps the three-dimensional object BL1 with the hand H1. It has been. The
表示装置1は、こうして生成した合成画像を表示部32aおよび32bに表示する。その結果、利用者は、あたかも、3次元オブジェクトBL1がテーブルT1の上に置かれ、自分の手H1で3次元オブジェクトBL1を摘んでいるかのような光景を見ることができる。
The
図7に示すステップS2の場面では、利用者が手H1を矢印A1の方向に移動させている。この場合、撮影部40によって得られる画像は、手H1の位置が右へ移動した画像P1bに変化する。さらに、表示装置1は、手H1の動きを、3次元オブジェクトを摘んだままで右へ移動させる操作と判定し、操作に応じて、仮想空間における3次元オブジェクトの位置を右へ移動させる。仮想空間における3次元オブジェクトの移動は、仮想空間データ24dに反映される。その結果、仮想空間データ24dおよびオブジェクトデータ24bに基づいて生成される右目用の画像は、3次元オブジェクトBL1の位置が右へ移動した画像P2bに変化する。表示装置1による操作の検出の詳細については、後述する。
In the scene of step S2 shown in FIG. 7, the user moves the hand H1 in the direction of the arrow A1. In this case, the image obtained by the
表示装置1は、画像P1bおよび画像P2bを合成して右目用の画像P3bを生成する。画像P3bは、画像P3aと比較して、テーブルT1上のより右側の位置で、3次元オブジェクトBL1を利用者が手H1で摘んでいるかのような画像となっている。表示装置1は、同様に左目用の合成画像を生成する。そして、表示装置1は、こうして生成した合成画像を表示部32aおよび32bに表示する。その結果、利用者は、あたかも、自分の手H1で3次元オブジェクトBL1を摘んで右へ移動させたかのような光景を見ることができる。
The
このような表示用の合成画像の更新は、一般的な動画のフレームレートと同等の頻度(例えば、毎秒30回)で実行される。その結果、利用者の操作に応じた3次元オブジェクトの変化は、表示装置1が表示する画像にほぼリアルタイムに反映され、利用者は、あたかも実際に存在しているかのように、違和感なく3次元オブジェクトを操作することができる。さらに、本実施例に係る構成では、3次元オブジェクトを操作する利用者の手が、利用者の目と表示部32aおよび32bの間に位置することがないため、利用者は、手によって3次元オブジェクトの表示が遮られることを気にすることなく操作を行うことができる。
Such a composite image for display is updated at a frequency (for example, 30 times per second) equal to the frame rate of a general moving image. As a result, the change of the three-dimensional object according to the user's operation is reflected in the image displayed on the
次に、図8から図14を参照しながら、図6に示したオブジェクトデータ24bおよび作用データ24cについてさらに詳しく説明する。図8は、オブジェクトデータ24bに格納される情報の一例を示す図である。図9から図14は、作用データ24cに格納される情報の一例を示す図である。
Next, the
図8に示すように、オブジェクトデータ24bには、種別、形状情報、色、透明度等を含む情報が3次元オブジェクト毎に格納される。種別は、3次元オブジェクトの物理的な性質を示す。種別は、例えば、「剛体」、「弾性体」等の値をとる。形状情報は、3次元オブジェクトの形状を示す情報である。形状情報は、例えば、3次元オブジェクトを構成する面の頂点座標の集合である。色は、3次元オブジェクトの表面の色である。透明度は、3次元オブジェクトが光を透過させる度合いである。オブジェクトデータ24bは、複数の3次元オブジェクトに関する情報を保持することができる。
As shown in FIG. 8, the
図9から図14に示す例では、押す操作が検出された場合の変化に関する情報が3次元オブジェクトの種別毎に作用データ24cに格納されている。図9に示すように、3次元オブジェクトの種別が「剛体」の場合、支点の有無、押された方向における障害物の有無、押される速度に応じて、押す操作が検出された場合の変化が異なる。ここでいう障害物とは、他の3次元オブジェクトであってもよいし、現実の物体であってもよい。また、押される速度が速いか遅いかは閾値に基づいて判定される。
In the example shown in FIGS. 9 to 14, information regarding a change when a pressing operation is detected is stored in the
3次元オブジェクトに支点がなく、押された方向に障害物がない場合、3次元オブジェクトは、押された方向に押された量に応じて移動するように表示される。このように表示される3次元オブジェクトは、例えば、積み木、ペン、本である。移動の仕方については、滑るのか回転するのかを3次元オブジェクトの形状に基づいて決定してよい。また、押す物体と一緒に移動するのか、押す物体にはじかれるように物体と離れて移動するのかについては、押される速度に基づいて決定してよいし、3次元オブジェクトと底面の摩擦抵抗の算出値または設定値に基づいて決定してもよい。 If the three-dimensional object has no fulcrum and there is no obstacle in the pushed direction, the three-dimensional object is displayed so as to move according to the amount pushed in the pushed direction. The three-dimensional object displayed in this way is, for example, a building block, a pen, or a book. As to how to move, whether to slide or rotate may be determined based on the shape of the three-dimensional object. Further, whether to move with the pushed object or move away from the object so as to be repelled by the pushed object may be determined based on the pushing speed, and calculation of frictional resistance between the three-dimensional object and the bottom surface. You may determine based on a value or a setting value.
3次元オブジェクトに支点がなく、押された方向に固定された障害物がある場合、3次元オブジェクトは、押された方向に押された量に応じて移動し、障害物と接触した時点で移動が停止するように表示される。このように表示される3次元オブジェクトは、例えば、積み木、ペン、本である。押された速度が速い場合は、3次元オブジェクトが障害物を破壊して移動を継続することとしてもよい。また、3次元オブジェクトが押す物体にはじかれるように物体と離れて移動している間に障害物と接触した場合は、跳ね返ったように3次元オブジェクトを逆方向に移動させてもよい。 If the 3D object has no fulcrum and there is an obstacle fixed in the pushed direction, the 3D object moves according to the amount pushed in the pushed direction and moves when it touches the obstacle. Appears to stop. The three-dimensional object displayed in this way is, for example, a building block, a pen, or a book. When the pushed speed is high, the three-dimensional object may destroy the obstacle and continue to move. Also, when the 3D object comes in contact with an obstacle while being moved away from the object so as to be repelled by the pressed object, the 3D object may be moved in the opposite direction so as to bounce off.
3次元オブジェクトに支点がなく、押された方向に固定されていない他の剛体があり、押される速度が遅い場合、3次元オブジェクトは、押された方向に押された量に応じて移動し、他の剛体と接触した後は、他の剛体もともに移動するように表示される。また、3次元オブジェクトに支点がなく、押された方向に固定されていない他の剛体があり、押される速度が速い場合、3次元オブジェクトは、押された方向に押された量に応じて移動するように表示される。そして、3次元オブジェクトが他の剛体と接触した後は、他の剛体がはじかれて移動するように表示される。他の剛体と接触した後、3次元オブジェクトは、その場で停止してもよいし、速度を落として移動を継続してもよい。このように表示される3次元オブジェクトと他の剛体の組み合わせは、例えば、ボーリングの球とピンの組み合わせや、ビー玉同士の組み合わせである。 If the 3D object has no fulcrum and there are other rigid bodies that are not fixed in the pushed direction, and the pushed speed is slow, the 3D object moves according to the amount pushed in the pushed direction, After contacting another rigid body, the other rigid bodies are displayed to move together. If the 3D object has no fulcrum and there is another rigid body that is not fixed in the pressed direction, and the pressed speed is fast, the 3D object moves according to the amount pressed in the pressed direction. Is displayed. After the three-dimensional object comes into contact with another rigid body, the other rigid body is displayed so as to be repelled and moved. After coming into contact with another rigid body, the three-dimensional object may stop on the spot or continue to move at a reduced speed. The combination of the three-dimensional object and the other rigid body displayed in this way is, for example, a combination of a bowling ball and a pin, or a combination of marbles.
3次元オブジェクトに支点がなく、押された方向に固定されていない他の剛体があるが、他の剛体はすり抜け可能である場合、3次元オブジェクトは、押された方向に押された量に応じて移動し、他の剛体と接触した後も、他の剛体をすり抜けてそのまま移動し続けるように表示される。現実には、剛体が剛体をすり抜けることはないが、このようなすり抜けを可能にすることにより、利用者に斬新な体験を提供することができる。このように表示される3次元オブジェクトと他の剛体の組み合わせは、例えば、ボーリングの球とピンの組み合わせや、ビー玉同士の組み合わせである。押される速度に閾値を設け、押される速度が閾値以下の場合は、3次元オブジェクトが他の剛体をすり抜けないこととしてもよい。 If there is another rigid body that does not have a fulcrum in the 3D object and is not fixed in the pressed direction, but the other rigid body can pass through, the 3D object will depend on the amount pressed in the pressed direction. After moving and contacting another rigid body, it is displayed to continue moving as it passes through the other rigid body. In reality, a rigid body does not slip through a rigid body, but by enabling such a slip-through, a novel experience can be provided to the user. The combination of the three-dimensional object and the other rigid body displayed in this way is, for example, a combination of a bowling ball and a pin, or a combination of marbles. A threshold may be provided for the pushed speed, and when the pushed speed is equal to or less than the threshold, the three-dimensional object may not pass through another rigid body.
3次元オブジェクトに支点がある場合、3次元オブジェクトは、押された方向および量に応じて、支点を中心に回転するように表示される。ここでいう回転とは、360度ぐるぐると回る回転であってもよいし、所定の回転範囲内を往復する回動であってもよい。このように表示される3次元オブジェクトは、例えば、振り子、ボクシングのサンドバック、風車である。 When the three-dimensional object has a fulcrum, the three-dimensional object is displayed so as to rotate around the fulcrum according to the pressed direction and amount. The rotation referred to here may be a rotation that rotates around 360 degrees, or a rotation that reciprocates within a predetermined rotation range. The three-dimensional object displayed in this way is, for example, a pendulum, a boxing sandback, or a windmill.
また、図10に示すように、3次元オブジェクトの種別が「弾性体」の場合、素材、変化量の制限の有無、押される速度に応じて、押す操作が検出された場合の変化が異なる。ここでいう素材は、3次元オブジェクトの想定上の素材であり、オブジェクトデータ24bにおいて定義される。
Also, as shown in FIG. 10, when the type of the three-dimensional object is “elastic body”, the change when the pressing operation is detected differs depending on the material, the presence / absence of the change amount limitation, and the pressing speed. The material here is an assumed material of the three-dimensional object and is defined in the
3次元オブジェクトの素材がゴム系であり、変化量に制限がなく、押される速度が遅い場合、3次元オブジェクトは、押された方向に押された量に応じて変形し、押される状態から解放されると元の形状に戻るように表示される。また、3次元オブジェクトの素材がゴム系であり、変化量に制限がなく、押される速度が速い場合、3次元オブジェクトは、押された方向に押された量に応じて変形し、その後、はじかれて、元の形状に戻りながら押された方向へ移動するように表示される。このように表示される3次元オブジェクトは、例えば、ゴムボール、消しゴムである。 If the material of the 3D object is rubber, there is no limit on the amount of change, and the pressing speed is slow, the 3D object is deformed according to the amount pressed in the pressed direction and released from the pressed state. When it is done, it is displayed so as to return to the original shape. In addition, when the material of the three-dimensional object is rubber, there is no limit on the amount of change and the pressing speed is fast, the three-dimensional object is deformed according to the amount pressed in the pressing direction, and then the flip It is displayed to move in the pressed direction while returning to the original shape. The three-dimensional object displayed in this way is, for example, a rubber ball or an eraser.
3次元オブジェクトの素材がゴム系であり、変化量に制限がある場合、3次元オブジェクトは、押された方向に押された量に応じて変形可能範囲まで変形し、その後も押す操作が検出されると、元の形状に戻りながら押された方向へ移動するように表示される。このように表示される3次元オブジェクトは、例えば、ゴムボール、消しゴムである。 If the material of the 3D object is rubber, and the amount of change is limited, the 3D object will be deformed to the deformable range according to the amount pressed in the pressed direction, and the pressing operation will be detected thereafter. Then, it is displayed to move in the pushed direction while returning to the original shape. The three-dimensional object displayed in this way is, for example, a rubber ball or an eraser.
3次元オブジェクトの素材が金属系の場合、3次元オブジェクトは、押された方向に押された量に応じて変形可能範囲まで変形し、押される状態から解放されると元の形状に戻ったり変形したりを繰り返す(振動する)ように表示される。変形可能方向以外の方向に押された場合、3次元オブジェクトは、剛体と同様に移動する。このように表示される3次元オブジェクトは、例えば、板ばね、弦巻ばねである。 If the material of the 3D object is metal, the 3D object will be deformed to the deformable range according to the amount pressed in the pressed direction, and will return to its original shape when released from the pressed state. To repeat (vibrate). When pressed in a direction other than the deformable direction, the three-dimensional object moves in the same manner as a rigid body. The three-dimensional object displayed in this way is, for example, a leaf spring or a string spring.
また、図11に示すように、3次元オブジェクトの種別が「塑性体」の場合、3次元オブジェクトは、押された箇所がへこんで全体形状が変化するように表示される。このように表示される3次元オブジェクトは、例えば、粘土である。 As shown in FIG. 11, when the type of the three-dimensional object is “plastic”, the three-dimensional object is displayed such that the pressed portion is recessed and the overall shape changes. The three-dimensional object displayed in this way is, for example, clay.
また、図12に示すように、3次元オブジェクトの種別が「液体」の場合、押される速度に応じて、押す操作が検出された場合の変化が異なる。押される速度が遅い場合、押す物体が3次元オブジェクト、すなわち、液体につかるように表示される。押される速度が中程度の場合、押す物体が液体につかり、液体に波紋が拡がるように表示される。押される速度が速い場合、押す物体が液体につかり、液体から水しぶきがあがるように表示される。このように表示される3次元オブジェクトは、例えば、コップに入った水である。 Also, as shown in FIG. 12, when the type of the three-dimensional object is “liquid”, the change when the pressing operation is detected differs depending on the pressing speed. When the pushing speed is slow, the object to be pushed is displayed so as to be in contact with the three-dimensional object, ie, the liquid. When the pressing speed is medium, the object to be pressed is displayed on the liquid so that the ripple spreads on the liquid. When the pushed speed is high, the object to be pushed is touched by the liquid, and it is displayed that the liquid splashes. The three-dimensional object displayed in this way is, for example, water in a cup.
また、図13に示すように、3次元オブジェクトの種別が「気体」の場合、押される速度に応じて、押す操作が検出された場合の変化が異なる。押される速度が遅い場合、3次元オブジェクト、すなわち、気体が押す物体によってさえぎられてその周囲を漂うように表示される。押される速度が中程度の場合、気体が押す物体によって散乱されるように表示される。押される速度が速い場合、押す物体の移動方向の後ろ側で乱流により気体に渦が生まれるように表示される。このように表示される3次元オブジェクトは、例えば、煙である。 Also, as shown in FIG. 13, when the type of the three-dimensional object is “gas”, the change when the pressing operation is detected differs depending on the pressing speed. When the pushed speed is slow, a three-dimensional object, i.e., a gas is interrupted by the pushed object and is displayed to drift around it. When the pressing speed is medium, it is displayed that the gas is scattered by the pressing object. When the pushing speed is high, the vortex is generated in the gas behind the pushing object in the moving direction. The three-dimensional object displayed in this way is, for example, smoke.
また、図14に示すように、3次元オブジェクトの種別が「集合体」の場合、集合体の要素の結合状況に応じて、押す操作が検出された場合の変化が異なる。集合体の要素の結合がない場合、3次元オブジェクトは、押された箇所がへこんで集合体としての全体形状が変化するように表示される。このように表示される3次元オブジェクトは、例えば、砂、砂糖である。 As shown in FIG. 14, when the type of the three-dimensional object is “aggregate”, the change when the pressing operation is detected differs depending on the coupling state of the elements of the aggregate. When there is no connection of the elements of the aggregate, the three-dimensional object is displayed such that the pressed portion is recessed and the overall shape of the aggregate changes. The three-dimensional object displayed in this way is, for example, sand or sugar.
集合体の要素の結合がある場合、3次元オブジェクトは、押された箇所がへこんで集合体としての全体形状が変化するように表示される。さらに、押された箇所以外の要素が、押された箇所の要素に引っ張られて移動するように表示される。このように表示される3次元オブジェクトは、例えば、鎖である。 When there is a combination of the elements of the aggregate, the three-dimensional object is displayed such that the pressed portion is recessed and the overall shape of the aggregate changes. Further, an element other than the pressed part is displayed so as to be moved by being pulled by the element at the pressed part. The three-dimensional object displayed in this way is, for example, a chain.
集合体の要素の結合はないが押す物体との間に引力または斥力が働く場合、3次元オブジェクトは、押す物体と接しなくても移動するように表示される。押す物体との間に引力が働く場合、3次元オブジェクトは、押す物体と接しなくても、押す物体と所定距離以内に入ると押す物体に引き寄せられる。また、押す物体との間に斥力が働く場合、3次元オブジェクトは、押す物体と接しなくても、押す物体と所定距離以内に入ると押す物体から遠ざかる。このように表示される3次元オブジェクトと押す物体の組み合わせは、例えば、鉄粉と磁石の組み合わせである。 When there is no combination of the elements of the aggregate, but an attractive force or a repulsive force is applied to the pushing object, the three-dimensional object is displayed so as to move even if it does not contact the pushing object. When an attractive force acts between the pressed object and the pressed object, the three-dimensional object is attracted to the pressed object when it is within a predetermined distance from the pressed object without contacting the pressed object. In addition, when a repulsive force acts between the pressed object and the pressed object, the three-dimensional object moves away from the pressed object when it is within a predetermined distance from the pressed object without contacting the pressed object. The combination of the displayed three-dimensional object and the pressed object is, for example, a combination of iron powder and a magnet.
このように、オブジェクトデータ24bに格納された情報と作用データ24cに格納された情報とに基づいて3次元オブジェクトを変化させることにより、押す操作に応じて、3次元オブジェクトを多様に変化させることができる。オブジェクトデータ24bおよび作用データ24cに格納される情報は、上記の例に限定されず、用途等に応じて適宜変更してよい。例えば、押す物体の種別および大きさや押す物体と3次元オブジェクトの接触面積の大きさに応じて、3次元オブジェクトの変化の仕方が切り替わるように設定してもよい。
As described above, by changing the three-dimensional object based on the information stored in the
次に、図15および図16を参照しながら、3次元オブジェクトを押す操作の検出と、検出された操作に応じた3次元オブジェクトの変化について説明する。以下の説明では、表示装置1を装着した利用者が見る空間を、表示空間と呼ぶことがある。表示装置1は、利用者の右目および左目にそれぞれの目に対応する画像を提供することにより、表示空間内に現実の物体および3次元オブジェクトを3次元的(立体的)に表示することができる。表示装置1は、仮想空間データ24dに基づいて再現した仮想空間と、撮影部40および42によって撮影される現実の空間とを所定の規則に基づいて対応付け、これらの空間が重なった空間を表示空間として表示する。
Next, detection of an operation of pushing a three-dimensional object and change of the three-dimensional object according to the detected operation will be described with reference to FIGS. 15 and 16. In the following description, a space viewed by a user wearing the
図15および図16は、3次元オブジェクトを押す操作の検出と、検出された操作に応じた3次元オブジェクトの変化について説明するための図である。図15に示すステップS11では、表示装置1は、表示空間50中に、3次元オブジェクトOB1を立体的に表示している。3次元オブジェクトOB1は、例えば、ボールを模したオブジェクトである。また、ステップS11では、3次元オブジェクトOB1を支持する底面B1が表示されている。
15 and 16 are diagrams for explaining detection of an operation of pushing a three-dimensional object and a change of the three-dimensional object according to the detected operation. In step S11 illustrated in FIG. 15, the
ステップS12では、利用者が指F1を3次元オブジェクトOB1と接触する位置に置き、そのまま静止させている。表示装置1は、表示空間内で現実の物体が検出され、かつ、その物体が3次元オブジェクトOB1と接触する状態が所定時間以上継続した場合、3次元オブジェクトOB1が操作対象として選択されたと判定する。そして、表示装置1は、3次元オブジェクトOB1の表示態様を変更する等して、3次元オブジェクトOB1が操作対象として選択されたことを利用者に通知する。
In step S12, the user places the finger F1 in a position in contact with the three-dimensional object OB1 and keeps it still. The
物体が3次元オブジェクトOB1と接触しているかの判定は、現実の空間における物体の位置と、3次元オブジェクトOB1の形状、姿勢、仮想空間における位置等に基づいて行われる。現実の空間での位置と仮想空間における位置との比較は、一方の空間の位置を上記の所定の規則に基づいて他方の空間の位置へ換算することによって行ってもよいし、両方の空間の位置を比較用の空間の位置へ換算することによって行ってもよい。現実の物体として指が検出された場合、指のつま先の位置を物体の位置として処理してもよい。人は、何かを操作するときに指のつま先を用いることが多いため、指のつま先の位置を物体の位置として処理することにより、より自然な操作感を利用者に提供することができる。 Whether the object is in contact with the three-dimensional object OB1 is determined based on the position of the object in the real space, the shape and orientation of the three-dimensional object OB1, the position in the virtual space, and the like. The comparison between the position in the real space and the position in the virtual space may be performed by converting the position in one space into the position in the other space based on the above-mentioned predetermined rule. You may perform by converting a position into the position of the space for a comparison. When a finger is detected as an actual object, the position of the finger toe may be processed as the position of the object. Since a person often uses a finger toe when operating something, by processing the position of the finger toe as the position of an object, a more natural operation feeling can be provided to the user.
また、操作対象として選択されたことの通知は、例えば、3次元オブジェクトOB1の全体の色を変更することや、3次元オブジェクトOB1の表面のうち、物体と接触している位置の近傍の色を変更することによって実現される。表示装置1は、このような視覚的な通知に代えて、あるいは、このような視覚的な通知に加えて、音や振動による通知を行ってもよい。
The notification of selection as the operation target may be, for example, changing the overall color of the three-dimensional object OB1, or changing the color near the position in contact with the object on the surface of the three-dimensional object OB1. Realized by changing. The
このように、表示装置1は、指等の現実の物体が3次元オブジェクトOB1と接触する状態が所定時間以上継続して検出された場合に、3次元オブジェクトOB1が操作対象として選択されたと判定する。接触状態が所定時間以上継続して検出されることを条件として付加することにより、例えば、他の3次元オブジェクトを操作するために指を移動させる過程で、意図しない3次元オブジェクトが操作対象として選択される可能性を低くすることができる。
As described above, the
3次元オブジェクトOB1が操作対象として選択された後、ステップS13に示すように、利用者が、3次元オブジェクトOB1を押すように、指F1を3次元オブジェクトOB1の内側に侵入させたものとする。表示装置1は、操作対象として選択された3次元オブジェクト内に物体を侵入させる操作が検出された場合、操作に応じて3次元オブジェクトを変化させる。3次元オブジェクトをどのように変化させるかは、オブジェクトデータ24bにおいて定義されている3次元オブジェクトの種別と、作用データ24cにおいてその種別と対応付けて定義されている変化のルールとによって決定される。
After the three-dimensional object OB1 is selected as the operation target, it is assumed that the user has intruded the finger F1 inside the three-dimensional object OB1 so as to press the three-dimensional object OB1, as shown in step S13. The
例えば、オブジェクトデータ24bにおいて3次元オブジェクトOB1が弾性体であると定義され、作用データ24cにおいて弾性体は押された場合に押された量に応じて押された方向に変形することが定義されていたものとする。この場合、表示装置1は、ステップS14に示すように、指F1が侵入した部分が押されて凹んだように3次元オブジェクトOB1を変化させる。
For example, in the
また、オブジェクトデータ24bにおいて3次元オブジェクトOB1が剛体であると定義され、作用データ24cにおいて剛体は押された場合に押された量に応じて押された方向に移動することが定義されていたものとする。この場合、表示装置1は、図16のステップS15に示すように、指F1に押されたように3次元オブジェクトOB1を指F1の進行方向へ移動させる。図16のステップS15では、3次元オブジェクトOB1は、底面B1に支持されているため、剛体によって印加される力の底面B1と水平方向の成分に従って移動している。
Further, the
このように、3次元オブジェクトを押す操作が検出された場合に、オブジェクトデータ24bおよび作用データ24cに基づいて3次元オブジェクトOB1を変化させることにより、3次元オブジェクトを操作に応じて様々に変化させることができる。押すという操作は、現実の世界の様々な場面で利用されている操作であり、3次元オブジェクトOB1を押す操作を検出して対応する処理を実行することにより、直感的で利便性の高い操作性を実現することができる。
As described above, when an operation of pushing the three-dimensional object is detected, the three-dimensional object is changed variously according to the operation by changing the three-dimensional object OB1 based on the
3次元オブジェクトを操作するために用いられる物体は、指に限定されず、手、足、棒、器具等であってもよい。押す操作に応じて3次元オブジェクトを変化させる態様は、現実の物理法則に則していてもよいし、現実ではあり得ないものであってもよい。 An object used for operating a three-dimensional object is not limited to a finger, and may be a hand, a foot, a stick, an instrument, or the like. The mode of changing the three-dimensional object in accordance with the pressing operation may be in accordance with actual physical laws or may not be in reality.
表示装置1は、3次元オブジェクトに対する操作を検出する空間を操作可能範囲51に限定してもよい。操作可能範囲51は、例えば、表示装置1を装着している利用者の手が届く範囲である。このように、3次元オブジェクトに対する操作を検出する空間を限定することにより、表示装置1が操作を検出するために実行する演算処理の負荷を軽減することができる。
The
次に、図17および図18を参照しながら、3次元オブジェクトを押す操作に関して表示装置1が実行する処理手順の第1の例について説明する。図17は、3次元オブジェクトの接触検出処理の処理手順を示すフローチャートである。図17に示す処理手順は、制御部22が制御プログラム24aを実行することによって実現される。
Next, a first example of a processing procedure executed by the
図17に示すように、制御部22は、まず、ステップSA01として、3次元オブジェクトを含む仮想空間の画像と現実の空間の画像とを合成して表示する。
As shown in FIG. 17, first, the
続いて、制御部22は、ステップSA02として、検出部44、すなわち、撮影部40および42によって所定の物体が検出されたかを判定する。所定の物体は、例えば、利用者の指である。所定の物体が検出されない場合(ステップSA02,No)、制御部22は、ステップSA08として、操作終了が検出されたかを判定する。
Subsequently, in step SA02, the
操作終了は、例えば、操作部13に対する所定の操作が行われた場合に検出される。操作終了が検出された場合(ステップSA08,Yes)、制御部22は、接触検出処理を終了させる。操作終了が検出されない場合(ステップSA08,No)、制御部22は、ステップSA02以降を再実行する。
The operation end is detected, for example, when a predetermined operation is performed on the
所定の物体が検出された場合(ステップSA02,Yes)、制御部22は、ステップSA03として、所定の物体の種別を判定する。所定の物体の種別は、例えば、撮影部40および42によって撮影された画像中の物体の大きさ、形状、色等に基づいて判定される。続いて、制御部22は、ステップSA04として、所定の物体に接触している3次元オブジェクトを探す。所定の物体に接触している3次元オブジェクトがない場合(ステップSA05,No)、制御部22は、ステップSA08へ進む。
When a predetermined object is detected (step SA02, Yes), the
所定の物体に接触している3次元オブジェクトがみつかった場合(ステップSA05,Yes)、制御部22は、ステップSA06として、オブジェクトデータ24bに基づいて、所定の物体に接触している3次元オブジェクトの種別を判定する。そして、制御部22は、ステップSA07として、後述する操作検出処理を実行する。その後、制御部22は、ステップSA08へ進む。
When a three-dimensional object in contact with the predetermined object is found (step SA05, Yes), the
図18は、操作検出処理の処理手順を示すフローチャートである。図18に示す処理手順は、制御部22が制御プログラム24aを実行することによって実現される。
FIG. 18 is a flowchart illustrating a procedure of the operation detection process. The processing procedure shown in FIG. 18 is realized by the
図18に示すように、制御部22は、まず、ステップSB01として、所定の物体と3次元オブジェクトの接触時間を取得する。そして、制御部22は、ステップSB02として、所定の物体が3次元オブジェクトの内部に移動したかを判定する。所定の物体が3次元オブジェクトの内部に移動していない場合(ステップSB02,No)、制御部22は、ステップSB01以降を再実行する。
As shown in FIG. 18, the
所定の物体が3次元オブジェクトの内部に移動している場合(ステップSB02,Yes)、制御部22は、ステップSB03として、接触時間が所定時間以上であるかを判定する。接触時間が所定時間よりも短い場合(ステップSB03,No)、その3次元オブジェクトは操作対象ではないと判断されるため、制御部22は、操作検出処理を終了させる。
When the predetermined object has moved to the inside of the three-dimensional object (step SB02, Yes), the
接触時間が所定時間以上の場合(ステップSB03,Yes)、制御部22は、ステップSB04として、所定の物体の速度を算出する。そして、制御部22は、ステップSB05として、所定の物体の種別、位置および速度と、3次元オブジェクトの種別等に基づいて3次元オブジェクトを変化させる。具体的な変化のさせ方は、作用データ24cに従って決定される。
When the contact time is equal to or longer than the predetermined time (step SB03, Yes), the
続いて、制御部22は、ステップSB06として、所定の物体が3次元オブジェクトの外部に移動したかを判定する。所定の物体が3次元オブジェクトの外部に移動していない場合、すなわち、押す操作が継続している場合(ステップSB06,No)、制御部22は、ステップSB04以降を再実行する。
Subsequently, in Step SB06, the
所定の物体が3次元オブジェクトの外部に移動した場合、すなわち、3次元オブジェクトが解放された場合(ステップSB06,Yes)、制御部22は、ステップSB07として、3次元オブジェクトの変化が継続するかを判定する。例えば、作用データ24cにおいて解放後も振動が所定時間継続することが定義されている場合に、3次元オブジェクトの変化が継続すると判定される。
When the predetermined object moves to the outside of the three-dimensional object, that is, when the three-dimensional object is released (step SB06, Yes), the
3次元オブジェクトの変化が継続する場合(ステップSB07,Yes)、制御部22は、ステップSB08として、3次元オブジェクトを変化させ、その後、ステップSB07以降を再実行する。3次元オブジェクトの変化が継続しない場合(ステップSB07,No)、制御部22は、操作検出処理を終了させる。
When the change of the three-dimensional object continues (step SB07, Yes), the
上述してきたように、第1の例では、押す操作に応じて3次元オブジェクトを多様に変化させ、それにより、利用者に対して利便性の高い操作方法を提供することができる。 As described above, in the first example, the three-dimensional object is variously changed according to the pressing operation, thereby providing a convenient operation method for the user.
3次元オブジェクトを押す操作に関する処理手順の第2の例について説明する。第2の例における接触検出処理は、第1の例における接触検出処理と同一である。そこで、第2の例については、第1の例と重複する説明は省略し、主として、操作検出処理について説明する。 A second example of a processing procedure related to an operation of pressing a three-dimensional object will be described. The contact detection process in the second example is the same as the contact detection process in the first example. Therefore, in the second example, the description overlapping the first example is omitted, and the operation detection process will be mainly described.
まず、図19を参照しながら、3次元オブジェクトを押す操作の検出と、検出された操作に応じた3次元オブジェクトの変化について説明する。図19は、3次元オブジェクトを押す操作の検出と、検出された操作に応じた3次元オブジェクトの変化について説明するための図である。図19に示すステップS21では、利用者が指F1を3次元オブジェクトOB1と接触させ、ステップS22では、利用者が指F1を3次元オブジェクトOB1の内側に侵入させている。 First, detection of an operation of pushing a three-dimensional object and a change of the three-dimensional object according to the detected operation will be described with reference to FIG. FIG. 19 is a diagram for describing detection of an operation of pressing a three-dimensional object and changes in the three-dimensional object according to the detected operation. In step S21 shown in FIG. 19, the user contacts the finger F1 with the three-dimensional object OB1, and in step S22, the user causes the finger F1 to enter the inside of the three-dimensional object OB1.
表示装置1は、表示空間内で現実の物体が検出され、かつ、その物体が3次元オブジェクトOB1と接触した後に3次元オブジェクトOB1の内部へ移動する状態が所定時間以上継続した場合、3次元オブジェクトOB1が操作対象として選択されたと判定する。そして、表示装置1は、3次元オブジェクトOB1の表示態様を変更する等して、3次元オブジェクトOB1が操作対象として選択されたことを利用者に通知する。さらに、表示装置1は、ステップS23に示すように、3次元オブジェクトOB1を、あたかもステップS21の段階で既に押す操作の対象として選択されていたかのように、接触検出以降の指F1による操作に応じて変化させる。
When a real object is detected in the display space and the state in which the object moves to the inside of the three-dimensional object OB1 after the object contacts the three-dimensional object OB1 continues for a predetermined time or longer, the
このように、物体と3次元オブジェクトの接触を検出した後は、物体がその場に留まらなくても押す操作を検出可能にすることにより、利用者は、3次元オブジェクトを押す操作を迅速に開始することができる。また、接触後に物体が3次元オブジェクトOB1の内部へ移動する状態が所定時間以上継続することを条件として付加することにより、例えば、他の3次元オブジェクトを操作するために指を移動させる過程で、意図しない3次元オブジェクトが操作対象として選択される可能性を低くすることができる。 As described above, after detecting the contact between the object and the three-dimensional object, the user can quickly start the operation of pressing the three-dimensional object by making it possible to detect the pressing operation even if the object does not stay on the spot. can do. In addition, by adding the condition that the state in which the object moves to the inside of the three-dimensional object OB1 after contact continues for a predetermined time or longer, for example, in the process of moving a finger to operate another three-dimensional object, The possibility that an unintended three-dimensional object is selected as an operation target can be reduced.
次に、図20を参照しながら、第2の例における操作検出処理の処理手順について説明する。図20は、操作検出処理の処理手順を示すフローチャートである。図20に示す処理手順は、制御部22が制御プログラム24aを実行することによって実現される。接触検出処理の処理手順は、図17に示した手順と同様である。
Next, the procedure of the operation detection process in the second example will be described with reference to FIG. FIG. 20 is a flowchart illustrating the processing procedure of the operation detection process. The processing procedure shown in FIG. 20 is realized by the
図20に示すように、制御部22は、まず、ステップSC01として、所定の物体が3次元オブジェクトの内部に移動しているかを判定する。所定の物体が3次元オブジェクトの内部に移動していない場合(ステップSC01,No)、その3次元オブジェクトは操作対象ではないと判断されるため、制御部22は、操作検出処理を終了させる。
As shown in FIG. 20, the
所定の物体が3次元オブジェクトの内部に移動している場合(ステップSC01,Yes)、制御部22は、ステップSC02として、接触検出からの経過時間が所定時間以上であるかを判定する。経過時間が所定時間よりも短い場合(ステップSC02,No)、制御部22は、ステップSC01以降を再実行する。
When the predetermined object has moved to the inside of the three-dimensional object (step SC01, Yes), the
接触時間が所定時間以上の場合(ステップSC02,Yes)、制御部22は、ステップSC03として、所定の物体の速度を算出する。そして、制御部22は、ステップSC04として、所定の物体の種別、位置および速度と、3次元オブジェクトの種別等に基づいて3次元オブジェクトを変化させる。具体的な変化のさせ方は、作用データ24cに従って決定される。
When the contact time is equal to or longer than the predetermined time (step SC02, Yes), the
続いて、制御部22は、ステップSC05として、所定の物体が3次元オブジェクトの外部に移動したかを判定する。所定の物体が3次元オブジェクトの外部に移動していない場合、すなわち、押す操作が継続している場合(ステップSC05,No)、制御部22は、ステップSC03以降を再実行する。
Subsequently, in step SC05, the
所定の物体が3次元オブジェクトの外部に移動した場合、すなわち、3次元オブジェクトが解放された場合(ステップSC05,Yes)、制御部22は、ステップSC06として、3次元オブジェクトの変化が継続するかを判定する。例えば、作用データ24cにおいて解放後も振動が所定時間継続することが定義されている場合に、3次元オブジェクトの変化が継続すると判定される。
When the predetermined object moves outside the three-dimensional object, that is, when the three-dimensional object is released (step SC05, Yes), the
3次元オブジェクトの変化が継続する場合(ステップSC06,Yes)、制御部22は、ステップSC07として、3次元オブジェクトを変化させ、その後、ステップSC06以降を再実行する。3次元オブジェクトの変化が継続しない場合(ステップSC06,No)、制御部22は、操作検出処理を終了させる。
When the change of the three-dimensional object continues (step SC06, Yes), the
上述してきたように、第2の例では、指等の物体が3次元オブジェクトに接触する状態が所定時間以上継続しなくても押す操作が認識されることとしたので、利用者は、3次元オブジェクトを押す操作を迅速に開始することができる。 As described above, in the second example, since the pressing operation is recognized even when the object such as the finger is in contact with the three-dimensional object does not continue for a predetermined time or longer, the user can recognize the three-dimensional object. The operation of pushing the object can be started quickly.
3次元オブジェクトを押す操作に関する処理手順の第3の例について説明する。第3の例における接触検出処理は、第1の例における接触検出処理と同一である。そこで、第3の例では、第1の例と重複する説明は省略し、主として、操作検出処理について説明する。 A third example of a processing procedure related to an operation of pressing a three-dimensional object will be described. The contact detection process in the third example is the same as the contact detection process in the first example. Therefore, in the third example, the description overlapping with the first example is omitted, and the operation detection process is mainly described.
まず、図21および図22を参照しながら、3次元オブジェクトを押す操作の検出と、検出された操作に応じた3次元オブジェクトの変化について説明する。図21および図22は、3次元オブジェクトを押す操作の検出と、検出された操作に応じた3次元オブジェクトの変化について説明するための図である。図21に示すステップS31では、表示空間中に、3次元オブジェクトOB1が立体的に表示されている。また、利用者は、指F1を3次元オブジェクトOB1と接触させている。 First, detection of an operation of pushing a three-dimensional object and change of the three-dimensional object according to the detected operation will be described with reference to FIGS. 21 and 22. 21 and 22 are diagrams for explaining detection of an operation of pushing a three-dimensional object and a change of the three-dimensional object according to the detected operation. In step S31 shown in FIG. 21, the three-dimensional object OB1 is displayed three-dimensionally in the display space. In addition, the user is bringing the finger F1 into contact with the three-dimensional object OB1.
ここで、利用者が指F1を3次元オブジェクトOB1の内側に侵入させたものとする。表示装置1は、3次元オブジェクトOB1に接触した物体が3次元オブジェクトOB1の内側に移動したことを検出すると、ステップS32に示すように、その時点から、3次元オブジェクトOB1を指F1による操作に応じて変化させる。図21に示す例では、ステップS32において、3次元オブジェクトOB1は、指F1の移動に合わせて移動を開始している。
Here, it is assumed that the user has caused the finger F1 to enter the inside of the three-dimensional object OB1. When the
そして、表示装置1は、ステップS33に示すように、指F1が3次元オブジェクトOB1の内側へ向けて移動することが所定時間以上継続した段階で、3次元オブジェクトOB1を操作対象として確定する。そして、表示装置1は、3次元オブジェクトOB1の表示態様を変更する等して、3次元オブジェクトOB1が操作対象として確定したことを利用者に通知する。その後も、指F1の3次元オブジェクトOB1の内側への移動が検出される間、表示装置1は、3次元オブジェクトOB1を変化させ続ける。
Then, as shown in step S33, the
図22のステップS34に示すように、所定時間が経過する前に指F1の3次元オブジェクトOB1の内側への移動が検出されなくなった場合、表示装置1は、それまでに加えた変化と逆の変化を3次元オブジェクトOB1に加える。その結果、3次元オブジェクトOB1は、ステップS31の段階と同じ位置に同じ状態で表示される。逆の変化を3次元オブジェクトOB1に加える速度は、それまでに3次元オブジェクトOB1に変化が加えられた速度よりも速くてもよい。すなわち、高速に逆再生しているかのように3次元オブジェクトOB1を逆変化させてもよい。
As shown in step S34 of FIG. 22, when the movement of the finger F1 to the inside of the three-dimensional object OB1 is not detected before the predetermined time has elapsed, the
このように、3次元オブジェクトの内側への物体の侵入が検出された段階から3次元オブジェクトに変化を加え始めることにより、利用者は、3次元オブジェクトが選択されつつあることを選択が確定する前から認識することができる。その結果、利用者は、意図した3次元オブジェクトが選択されたか否かを早期に知ることができる。意図しない3次元オブジェクトが選択された場合、利用者は、所定時間が経過する前に操作を中止することにより、意図せずに選択された3次元オブジェクトを元の状態に戻すことができる。 In this way, by starting to apply changes to the 3D object from the stage where the intrusion of the object inside the 3D object is detected, the user can confirm that the 3D object is being selected before the selection is confirmed. Can be recognized from. As a result, the user can know at an early stage whether or not the intended three-dimensional object has been selected. When an unintended three-dimensional object is selected, the user can return the original three-dimensional object to an original state by canceling the operation before a predetermined time elapses.
指F1の3次元オブジェクトOB1の内側への移動が所定時間以上継続するまでは、変化を加えられている3次元オブジェクトを通常時とも操作対象としての選択が確定した状態とも異なる態様(例えば、半透明)で表示してもよい。このように表示態様を変更することにより、利用者が3次元オブジェクトの状態を判別しやすくなる。 Until the movement of the finger F1 to the inside of the three-dimensional object OB1 continues for a predetermined time or longer, the mode is different from the state in which the selected three-dimensional object is changed as the operation target at both the normal time (for example, half-time). (Transparent) may be displayed. By changing the display mode in this way, the user can easily determine the state of the three-dimensional object.
次に、図23を参照しながら、第3の例における操作検出処理の処理手順について説明する。図23は、操作検出処理の処理手順を示すフローチャートである。図23に示す処理手順は、制御部22が制御プログラム24aを実行することによって実現される。接触検出処理の処理手順は、図17に示した手順と同様である。
Next, the procedure of the operation detection process in the third example will be described with reference to FIG. FIG. 23 is a flowchart illustrating the processing procedure of the operation detection process. The processing procedure shown in FIG. 23 is realized by the
図23に示すように、制御部22は、まず、ステップSD01として、所定の物体が3次元オブジェクトの内部に移動しているかを判定する。所定の物体が3次元オブジェクトの内部に移動していない場合(ステップSD01,No)、その3次元オブジェクトは操作対象ではないと判断されるため、制御部22は、操作検出処理を終了させる。
As shown in FIG. 23, the
所定の物体が3次元オブジェクトの内部に移動している場合(ステップSD01,Yes)、制御部22は、ステップSD02として、所定の物体の速度を算出する。そして、制御部22は、ステップSD03として、所定の物体の種別、位置および速度と、3次元オブジェクトの種別等に基づいて3次元オブジェクトを変化させる。具体的な変化のさせ方は、作用データ24cに従って決定される。
When the predetermined object is moving inside the three-dimensional object (step SD01, Yes), the
続いて、制御部22は、ステップSD04として、接触検出からの経過時間が所定時間以上であるかを判定する。経過時間が所定時間よりも短い場合、すなわち、3次元オブジェクトが押す操作の対象として確定していない場合(ステップSD04,No)、制御部22は、ステップSD05として、所定の物体の3次元オブジェクトの内部方向への移動が継続しているかを判定する。
Subsequently, as step SD04, the
3次元オブジェクトの内部方向への移動が継続している場合(ステップSD05,Yes)、制御部22は、ステップSD02以降を再実行する。3次元オブジェクトの内部方向への移動が継続していない場合(ステップSD05,No)、制御部22は、ステップSD06として、3次元オブジェクトを逆変化させて元の状態に戻す。そして、制御部22は、操作検出処理を終了させる。
When the movement of the three-dimensional object in the internal direction continues (step SD05, Yes), the
接触検出からの経過時間が所定時間以上である場合(ステップSD04,Yes)、制御部22は、ステップSD07として、所定の物体が3次元オブジェクトの外部に移動したかを判定する。所定の物体が3次元オブジェクトの外部に移動していない場合、すなわち、押す操作が継続している場合(ステップSD07,No)、制御部22は、ステップSD02以降を再実行する。
When the elapsed time from the contact detection is equal to or longer than the predetermined time (step SD04, Yes), the
所定の物体が3次元オブジェクトの外部に移動した場合、すなわち、3次元オブジェクトが解放された場合(ステップSD07,Yes)、制御部22は、ステップSD08として、3次元オブジェクトの変化が継続するかを判定する。例えば、作用データ24cにおいて解放後も振動が所定時間継続することが定義されている場合に、3次元オブジェクトの変化が継続すると判定される。
When the predetermined object moves outside the three-dimensional object, that is, when the three-dimensional object is released (step SD07, Yes), the
3次元オブジェクトの変化が継続する場合(ステップSD08,Yes)、制御部22は、ステップSD09として、3次元オブジェクトを変化させ、その後、ステップSD08以降を再実行する。3次元オブジェクトの変化が継続しない場合(ステップSD08,No)、制御部22は、操作検出処理を終了させる。
When the change of the three-dimensional object continues (step SD08, Yes), the
上述してきたように、第3の例では、押す操作が検出された時点から、操作に応じて3次元オブジェクトを変化させることとしたので、利用者が、押す操作の対象となっている3次元オブジェクトを認識しやすい。 As described above, in the third example, since the three-dimensional object is changed in accordance with the operation from the time when the pressing operation is detected, the three-dimensional object that is the target of the pressing operation by the user. Easy to recognize objects.
3次元オブジェクトに関する操作として、3次元オブジェクトを押す操作について説明したが、表示装置1が3次元オブジェクトに関して検出する操作は、押す操作に限定されない。表示装置1は、利用者が3次元オブジェクトを摘んで行う操作も検出することができる。以下に3次元オブジェクトを摘んで行う操作について説明する。
Although the operation of pushing the 3D object has been described as the operation related to the 3D object, the operation detected by the
図24を参照しながら、3次元オブジェクトを摘んで行う操作の検出について説明する。図24は、3次元オブジェクトを摘んで行う操作の検出について説明するための図である。図24に示すステップS41では、表示空間50中に、3次元オブジェクトOB1が立体的に表示されている。
With reference to FIG. 24, detection of an operation performed by picking a three-dimensional object will be described. FIG. 24 is a diagram for describing detection of an operation performed by picking up a three-dimensional object. In step S41 shown in FIG. 24, the three-dimensional object OB1 is displayed three-dimensionally in the
ここで、利用者が3次元オブジェクトOB1を摘んで何らかの操作を行いたいものとする。3次元オブジェクトOB1を摘んで何らかの操作を行うには、まず、操作の対象として3次元オブジェクトOB1を選択する必要がある。3次元オブジェクトOB1を選択するために、利用者は、ステップS42に示すように、指F1と指F2の間に3次元オブジェクトOB1が位置するように指F1および指F2を移動させ、その状態を所定時間以上維持する。 Here, it is assumed that the user wants to perform some operation by picking up the three-dimensional object OB1. In order to pick up the three-dimensional object OB1 and perform some operation, it is first necessary to select the three-dimensional object OB1 as an operation target. In order to select the three-dimensional object OB1, the user moves the finger F1 and the finger F2 so that the three-dimensional object OB1 is positioned between the finger F1 and the finger F2, as shown in step S42, and changes its state. Maintain for a predetermined time or longer.
表示装置1は、表示空間内で2つの現実の物体が検出され、かつ、それらの2つの物体の間に3次元オブジェクトOB1が位置する状態が所定時間以上継続した場合、3次元オブジェクトOB1が選択されたと判定し、3次元オブジェクトOB1を選択状態にする。そして、表示装置1は、3次元オブジェクトOB1の表示態様を変更する等して、3次元オブジェクトOB1が選択状態になったことを利用者に通知する。
The
2つの物体の間に3次元オブジェクトOB1が位置しているかの判定は、現実の空間における2つの物体の位置と、3次元オブジェクトOB1の形状、姿勢、仮想空間における位置等に基づいて行われる。現実の空間での位置と仮想空間における位置との比較は、一方の空間の位置を上記の所定の規則に基づいて他方の空間の位置へ換算することによって行ってもよいし、両方の空間の位置を比較用の空間の位置へ換算することによって行ってもよい。現実の物体として指が検出された場合、指のつま先の位置を物体の位置として処理してもよい。 Whether the three-dimensional object OB1 is located between the two objects is determined based on the positions of the two objects in the real space, the shape and orientation of the three-dimensional object OB1, the position in the virtual space, and the like. The comparison between the position in the real space and the position in the virtual space may be performed by converting the position in one space into the position in the other space based on the above-mentioned predetermined rule. You may perform by converting a position into the position of the space for a comparison. When a finger is detected as an actual object, the position of the finger toe may be processed as the position of the object.
このように、表示装置1は、指等の現実の物体の間に3次元オブジェクトOB1が位置する状態が所定時間以上継続して検出された場合に、3次元オブジェクトOB1が選択されたと判定する。指の間に3次元オブジェクトOB1を挟むように指を配置するという操作は、人間が現実の空間の何かを選択するために何かを摘む操作と類似している。そのため、かかる操作は、3次元オブジェクトを選択するための操作として、直感的で分かりやすい。また、状態が所定時間以上継続して検出されることを条件として付加することにより、例えば、他の3次元オブジェクトを選択するために指を移動させる過程で、意図しない3次元オブジェクトが選択される可能性を低くすることができる。
As described above, the
表示装置1は、3次元オブジェクトOB1が選択状態になったと判定した後、指F1および指F2の動きに応じて、3次元オブジェクトOB1に移動、変形、消失、置換等の変化を加える。
After determining that the three-dimensional object OB1 is in the selected state, the
次に、図25および図26を参照しながら、3次元オブジェクトを摘んで行う操作に関して表示装置1が実行する処理手順の第1の例について説明する。図25は、3次元オブジェクトの選択検出処理の処理手順を示すフローチャートである。図25に示す処理手順は、制御部22が制御プログラム24aを実行することによって実現される。
Next, a first example of a processing procedure executed by the
図25に示すように、制御部22は、まず、ステップSE01として、3次元オブジェクトを含む仮想空間の画像と現実の空間の画像とを合成して表示する。
As shown in FIG. 25, the
続いて、制御部22は、ステップSE02として、検出部44、すなわち、撮影部40および42によって第1の物体および第2の物体が検出されたかを判定する。第1の物体および第2の物体は、現実の物体、例えば、利用者の指である。第1の物体および第2の物体が検出されない場合(ステップSE02,No)、制御部22は、ステップSE10として、操作終了が検出されたかを判定する。
Subsequently, in step SE02, the
操作終了は、例えば、操作部13に対する所定の操作が行われた場合に検出される。操作終了が検出された場合(ステップSE10,Yes)、制御部22は、選択検出処理を終了させる。操作終了が検出されない場合(ステップSE10,No)、制御部22は、ステップSE02以降を再実行する。
The operation end is detected, for example, when a predetermined operation is performed on the
第1の物体および第2の物体が検出された場合(ステップSE02,Yes)、制御部22は、ステップSE03として、表示されている3次元オブジェクトの中から第1の物体と第2の物体との間に表示されている3次元オブジェクトを探す。該当する3次元オブジェクトがない場合(ステップSE04,No)、制御部22は、ステップSE10へ進む。
When the first object and the second object are detected (step SE02, Yes), the
第1の物体と第2の物体との間に表示されている3次元オブジェクトがみつかった場合(ステップSE04,Yes)、制御部22は、ステップSE05として、第1の物体と第2の物体との間に3次元オブジェクトが位置している時間を取得する。取得した時間が所定時間未満の場合(ステップSE06,No)、制御部22は、ステップSE10へ進む。
When a three-dimensional object displayed between the first object and the second object is found (step SE04, Yes), the
取得した時間が所定時間以上の場合(ステップSE06,Yes)、制御部22は、ステップSE07として、第1の物体と第2の物体の距離を算出する。また、制御部22は、ステップSE08として、第1の物体と第2の物体との間に表示されている3次元オブジェクトを選択状態にする。そして、制御部22は、ステップSE09として、後述する操作検出処理を実行し、その中で、選択状態にある3次元オブジェクトを検出された操作に応じて変化させる。操作検出処理が終了した後、制御部22は、ステップSE10へ進む。
When the acquired time is equal to or longer than the predetermined time (step SE06, Yes), the
図26は、操作検出処理の処理手順を示すフローチャートである。図26に示す処理手順は、制御部22が制御プログラム24aを実行することによって実現される。
FIG. 26 is a flowchart showing the procedure of the operation detection process. The processing procedure shown in FIG. 26 is realized by the
図26に示すように、制御部22は、まず、ステップSF01として、第1の物体と第2の物体の距離を算出する。そして、制御部22は、ステップSF02として、操作検出処理の開始時点以降の第1の物体と第2の物体の距離がほぼ一定であるかを判定する。距離がほぼ一定とは、例えば、現時点での第1の物体と第2の物体の距離の変化量が、操作検出処理の開始時点の距離と比較して、所定の範囲(第1の物体および第2の物体が通常の速度で移動した場合の距離の最大変化量の±10%等)以内に収まっていることを意味する。また、第1の物体と第2の物体の距離が操作検出処理の開始時点以降縮まり続けている場合(第1の物体および第2の物体が3次元オブジェクトを押しつぶす方向に移動している場合)に、距離がほぼ一定であると判定してもよい。また、手振れ等の範囲内でしか両者の距離が変化していない場合に、距離がほぼ一定であると判定してもよい。
As shown in FIG. 26, the
第1の物体と第2の物体の距離がほぼ一定の場合(ステップSF02,Yes)、制御部22は、ステップSF03として、第1の物体および第2の物体の移動速度を算出する。続いて、制御部22は、ステップSF04として、算出した移動速度が閾値以下であるかを判定する。ここで用いられる閾値は、例えば、人がものを放り投げるときの指先の移動速度である。また、閾値と比較される移動速度は、第1の物体の移動速度と第2の物体の移動速度の平均であってもよし、いずれか速い方であってもよいし、いずれか遅い方であってもよい。
When the distance between the first object and the second object is substantially constant (step SF02, Yes), the
移動速度が閾値以下の場合(ステップSF04,Yes)、制御部22は、ステップSF05として、検出された第1の物体および第2の物体の動きに応じて3次元オブジェクトに変化を加える。例えば、第1の物体および第2の物体の右方向への移動が検出された場合、制御部22は、第1の物体および第2の物体の移動に合わせて3次元オブジェクトを右方向へ移動させる。第1の物体および第2の物体の左回りでの回転が検出された場合、制御部22は、第1の物体および第2の物体の回転に合わせて3次元オブジェクトを左回りで回転させる。移動と回転が同時に検出された場合、移動と回転が同時に実行される。3次元オブジェクトの移動や回転に対する障害物がある場合、3次元オブジェクトが障害物に接触した時点で3次元オブジェクトの移動や回転を停止させてもよい。障害物は、現実の物体でもよいし、他の3次元オブジェクトでもよい。その後、制御部22は、ステップSF01以降を再実行する。
When the moving speed is less than or equal to the threshold (step SF04, Yes), the
移動速度が閾値より速い場合(ステップSF04,No)、制御部22は、ステップSF06として、3次元オブジェクトを消去する。3次元オブジェクトを消去するに際して、3次元オブジェクトが第1の物体および第2の物体の移動方向へ向けて飛んでいくようにアニメーション表示してもよい。そして、制御部22は、操作検出処理を終了させる。このように、3次元オブジェクトを放り投げるように第1の物体および第2の物体が高速で移動した場合に3次元オブジェクトを消去することにより、直感的な操作によって3次元オブジェクトの消去を実現することができる。第1の物体および第2の物体を高速で移動させる操作ではなく、例えば、3次元オブジェクトを握りつぶす操作に3次元オブジェクトの消去を割り当ててもよい。また、3次元オブジェクトを消去する代わりに、3次元オブジェクトを当初の配置場所に戻すこととしてもよい。表示装置1は、ステップSF03、SF04およびステップSF06の処理を行わなくてもよい。すなわち、表示装置1は、ステップSF02で第1の物体と第2の物体の距離がほぼ一定と判定した場合には、2つの物体の移動速度にかかわらず、ステップSF05を実行してもよい。
When the moving speed is faster than the threshold (No at Step SF04), the
第1の物体と第2の物体の距離がほぼ一定でない場合(ステップSF02,No)、制御部22は、ステップSF07として、距離が、3次元オブジェクトの選択時、すなわち、操作検出処理の開始時点よりも拡大しているかを判定する。距離が拡大している場合(ステップSF07,Yes)、制御部22は、ステップSF08として、3次元オブジェクトの選択状態を解除する。第1の物体と第2の物体の距離を拡大するという操作は、摘んでいる現実のオブジェクトを放す操作と類似している。そのため、かかる操作は、3次元オブジェクトの選択を解除するための操作として、直感的で分かりやすい。
When the distance between the first object and the second object is not substantially constant (step SF02, No), the
続いて、制御部22は、ステップSF09として、選択状態を解除した3次元オブジェクトを重力等に従って移動させる。そして、制御部22は、操作検出処理を終了させる。ここでの移動は、例えば、3次元オブジェクトが重力に従って落下し、床やテーブルの上で停止するように表示される。3次元オブジェクトの動きを停止させる前に、3次元オブジェクトの弾性や床やテーブルの硬度に応じて3次元オブジェクトをバウンドさせてもよい。3次元オブジェクトが床やテーブルに衝突するときの衝撃の大きさを算出し、衝撃が所定の値よりも大きい場合には3次元オブジェクトを破損したように表示してもよい。また、実際の重力が働く場合よりも3次元オブジェクトをゆっくりと移動させてもよい。
Subsequently, in step SF09, the
第1の物体と第2の物体の距離が3次元オブジェクトの選択時よりも縮まっている場合(ステップSF07,No)、制御部22は、ステップSF10として、距離に応じて3次元オブジェクトを変形させる。そして、制御部22は、ステップSF01以降を再実行する。3次元オブジェクトを変形させる程度は、例えば、3次元オブジェクトに属性として設定されている弾性に応じて変更してもよい。制御部22は、ゴムボールを模した3次元オブジェクトのように属性として低い硬度を設定されているオブジェクトについては、第1の物体と第2の物体の距離が縮まるに応じて変形の度合いを高めてよい。また、制御部22は、積み木を模した3次元オブジェクトのように属性として高い硬度を設定されているオブジェクトについては、第1の物体と第2の物体の距離が縮まっても変形の度合いを小さく保ってよい。
When the distance between the first object and the second object is shorter than when the three-dimensional object is selected (step SF07, No), the
第1の物体と第2の物体の距離が3次元オブジェクトの選択時よりも縮まっている場合に、表示装置1は、3次元オブジェクトを変形させるのではなく縮小させてもよい。第1の物体と第2の物体の距離が所定の値以下になった場合に、表示装置1は、3次元オブジェクトを破損したように表示してもよい。
When the distance between the first object and the second object is shorter than when the three-dimensional object is selected, the
上述してきたように、第1の例では、指等の物体の間に3次元オブジェクトが位置する状態が所定時間以上継続した場合に3次元オブジェクトが選択されることとしたので、3次元オブジェクトの選択を直感的で分かりやすい操作により実現することができる。 As described above, in the first example, the three-dimensional object is selected when the state where the three-dimensional object is positioned between the objects such as the fingers continues for a predetermined time or longer. Selection can be realized by an intuitive and easy-to-understand operation.
図27に示すように、表示装置1は、第1の物体と第2の物体のうち少なくとも一方が3次元オブジェクトに接触している状態が所定時間以上継続することを、3次元オブジェクトを選択する条件としてもよい。3次元オブジェクトへの接触を選択の条件とすることにより、複数の3次元オブジェクトが近接して表示されている場合に、利用者が所望の3次元オブジェクトを選択し易くなる。
As illustrated in FIG. 27, the
3次元オブジェクトを摘んで行う操作に関する処理手順の第2の例について説明する。第2の例における操作検出処理は、第1の例における操作検出処理と同一である。そこで、第2の例については、第1の例と重複する説明は省略し、主として、選択検出処理について説明する。 A second example of a processing procedure related to an operation performed by picking up a three-dimensional object will be described. The operation detection process in the second example is the same as the operation detection process in the first example. Therefore, in the second example, description overlapping with the first example is omitted, and mainly the selection detection process will be described.
まず、図28を参照しながら、3次元オブジェクトを摘んで行う操作の検出について説明する。図28は、3次元オブジェクトを摘んで行う操作の検出について説明するための図である。図28に示すステップS51では、表示空間中に、3次元オブジェクトOB1が立体的に表示されている。また、3次元オブジェクトOB1を選択するために、利用者は、指F1と指F2の間に3次元オブジェクトOB1が位置するように指F1および指F2を移動させている。 First, detection of an operation performed by picking a three-dimensional object will be described with reference to FIG. FIG. 28 is a diagram for explaining the detection of an operation performed by picking up a three-dimensional object. In step S51 shown in FIG. 28, the three-dimensional object OB1 is three-dimensionally displayed in the display space. In order to select the three-dimensional object OB1, the user moves the finger F1 and the finger F2 so that the three-dimensional object OB1 is positioned between the finger F1 and the finger F2.
表示装置1は、表示空間内で2つの現実の物体が検出され、かつ、それらの2つの物体の間に3次元オブジェクトOB1が位置する場合、2つの物体の距離の変化を監視する。そして、距離が所定時間以上ほぼ一定であれば、3次元オブジェクトOB1が選択されたと判定し、3次元オブジェクトOB1を選択状態にする。そして、表示装置1は、3次元オブジェクトOB1の表示態様を変更する等して、3次元オブジェクトOB1が選択状態になったことを利用者に通知する。
When two real objects are detected in the display space and the three-dimensional object OB1 is located between the two objects, the
表示装置1が2つの物体の距離の変化を監視している間、2つの物体は、3次元オブジェクトOB1を挟む位置に留まる必要はない。すなわち、利用者は、ステップS51に示したように指F1と指F2の間に3次元オブジェクトOB1が位置するように指F1および指F2を移動させた後、その状態を保つことなく、指F1および指F2を他の位置へ移動させて構わない。
While the
ステップS51の状態から、ステップS52に示すように、利用者が、指F1と指F2の距離D1をほぼ一定に保ったまま移動させたものとする。この場合、表示装置1は、ステップS53に示すように、指F1と指F2の距離D1がほぼ一定に保たれた状態が所定時間以上継続した段階で、3次元オブジェクトOB1を選択状態にする。そして、表示装置1は、3次元オブジェクトOB1を、あたかもステップS51の段階で既に選択されていたかのように、指F1および指F2の間に移動させる。表示装置1は、ステップS51からステップS53までの指F1と指F2の動きを記憶しておき、記憶しておいた動きに合わせて3次元オブジェクトOB1を回転等させてもよい。その後、表示装置1は、指F1および指F2の動きに応じて、3次元オブジェクトOB1に移動、変形、消失、置換等の変化を加える。
Assume that the user has moved from the state of step S51 while keeping the distance D1 between the finger F1 and the finger F2 substantially constant as shown in step S52. In this case, as shown in step S53, the
このように、2つの物体が3次元オブジェクトを挟む位置に一旦移動した後は、物体がその場に留まらなくても3次元オブジェクトを選択可能にすることにより、利用者は、3次元オブジェクトを選択した後の操作を迅速に開始することができる。 In this way, once the two objects have moved to a position sandwiching the 3D object, the user can select the 3D object by making the 3D object selectable even if the object does not stay on the spot. After that, the operation can be started quickly.
次に、図29を参照しながら、第2の例における選択検出処理の処理手順について説明する。図29は、3次元オブジェクトの選択検出処理の処理手順を示すフローチャートである。図29に示す処理手順は、制御部22が制御プログラム24aを実行することによって実現される。
Next, the procedure of the selection detection process in the second example will be described with reference to FIG. FIG. 29 is a flowchart illustrating a processing procedure of a three-dimensional object selection detection process. The processing procedure shown in FIG. 29 is realized by the
図29に示すように、制御部22は、まず、ステップSG01として、3次元オブジェクトを含む仮想空間の画像と現実の空間の画像とを合成して表示する。続いて、制御部22は、ステップSG02として、検出部44、すなわち、撮影部40および42によって第1の物体および第2の物体が検出されたかを判定する。第1の物体および第2の物体が検出されない場合(ステップSG02,No)、制御部22は、ステップSG14として、仮選択状態の3次元オブジェクトがあれば、その3次元オブジェクトの仮選択状態を解除する。仮選択状態とは、2つの物体の間に3次元オブジェクトが表示されている状態が検出された後、2つの物体の距離がほぼ一定に保たれているかが監視されている状態である。
As shown in FIG. 29, first, the
そして、制御部22は、ステップSG15として、操作終了が検出されたかを判定する。操作終了が検出された場合(ステップSG15,Yes)、制御部22は、選択検出処理を終了させる。操作終了が検出されない場合(ステップSG15,No)、制御部22は、ステップSG02以降を再実行する。
And control
第1の物体および第2の物体が検出された場合(ステップSG02,Yes)、制御部22は、ステップSG03として、仮選択状態の3次元オブジェクトがあるか否かを判定する。仮選択状態の3次元オブジェクトがない場合(ステップSG03,No)、制御部22は、ステップSG04として、表示されている3次元オブジェクトの中から第1の物体と第2の物体との間に表示されている3次元オブジェクトを探す。該当する3次元オブジェクトがない場合(ステップSG05,No)、制御部22は、ステップSG15へ進む。
When the first object and the second object are detected (step SG02, Yes), the
第1の物体と第2の物体との間に表示されている3次元オブジェクトがみつかった場合(ステップSG05,Yes)、制御部22は、ステップSG06として、第1の物体と第2の物体との間に表示されている3次元オブジェクトを仮選択状態にする。また、制御部22は、ステップSG07として、第1の物体と第2の物体の距離を算出する。そして、制御部22は、ステップSG15へ進む。
When a three-dimensional object displayed between the first object and the second object is found (step SG05, Yes), the
第1の物体および第2の物体が検出され、かつ、仮選択状態の3次元オブジェクトがある場合(ステップSG03,Yes)、制御部22は、ステップSG08として、第1の物体と第2の物体の距離を算出する。そして、制御部22は、ステップSG09として、距離がほぼ一定であるかを判定する。距離がほぼ一定でない場合(ステップSG09,No)、制御部22は、ステップSG14として、仮選択状態の3次元オブジェクトの仮選択状態を解除する。そして、制御部22は、ステップSG15へ進む。
When the first object and the second object are detected and there is a provisionally selected three-dimensional object (step SG03, Yes), the
第1の物体と第2の物体の距離がほぼ一定の場合(ステップSG09,Yes)、制御部22は、ステップSG10として、距離がほぼ一定に保たれている期間が所定時間以上であるかを判定する。距離がほぼ一定に保たれている期間が所定時間未満の場合(ステップSG10,No)、制御部22は、ステップSG15へ進む。
When the distance between the first object and the second object is substantially constant (step SG09, Yes), the
距離がほぼ一定に保たれている期間が所定時間以上の場合(ステップSG10,Yes)、制御部22は、ステップSG11として、第1の物体と第2の物体との間に表示されている3次元オブジェクトを選択状態にする。また、制御部22は、ステップSG12として、第1の物体と第2の物体との間に3次元オブジェクトを移動させる。そして、制御部22は、ステップSG13として、図26に示した操作検出処理を実行し、その中で、選択状態にある3次元オブジェクトを検出された操作に応じて変化させる。操作検出処理が終了した後、制御部22は、ステップSG15へ進む。
When the period during which the distance is maintained substantially constant is equal to or longer than the predetermined time (step SG10, Yes), the
上述してきたように、第2の例では、指等の物体の間に3次元オブジェクトが位置した後、物体の距離が所定時間以上ほぼ一定に保たれた場合に3次元オブジェクトが選択されることとしたので、利用者は、3次元オブジェクトの選択後の操作を迅速に開始することができる。 As described above, in the second example, after a three-dimensional object is positioned between objects such as fingers, the three-dimensional object is selected when the distance of the object is kept substantially constant for a predetermined time or more. Therefore, the user can quickly start the operation after selecting the three-dimensional object.
図30に示すステップS61からステップS63のように、表示装置1は、第1の物体と第2の物体のうち少なくとも一方が3次元オブジェクトに接触した後に第1の物体と第2の物体の距離が所定時間以上ほぼ一定に保たれることを、3次元オブジェクトを選択する条件としてもよい。3次元オブジェクトへの接触を選択の条件とすることにより、複数の3次元オブジェクトが近接して表示されている場合に、利用者が所望の3次元オブジェクトを選択し易くなる。
As in Step S61 to Step S63 illustrated in FIG. 30, the
3次元オブジェクトを摘んで行う操作に関する処理手順の第3の例について説明する。第3の例については、第1の例と重複する説明は省略し、主として、選択検出処理および操作検出処理について説明する。 A third example of a processing procedure related to an operation performed by picking up a three-dimensional object will be described. Regarding the third example, the description overlapping with the first example is omitted, and mainly the selection detection process and the operation detection process will be described.
まず、図31および図32を参照しながら、3次元オブジェクトを摘んで行う操作の検出について説明する。図31に示すステップS71では、表示空間中に、3次元オブジェクトOB1が立体的に表示されている。また、3次元オブジェクトOB1を選択するために、利用者は、指F1と指F2の間に3次元オブジェクトOB1が位置するように指F1および指F2を移動させている。 First, detection of an operation performed by picking up a three-dimensional object will be described with reference to FIGS. 31 and 32. In step S71 shown in FIG. 31, the three-dimensional object OB1 is displayed three-dimensionally in the display space. In order to select the three-dimensional object OB1, the user moves the finger F1 and the finger F2 so that the three-dimensional object OB1 is positioned between the finger F1 and the finger F2.
表示装置1は、表示空間内で2つの現実の物体が検出され、かつ、それらの2つの物体の間に3次元オブジェクトOB1が位置する場合、2つの物体の距離の変化を監視する。そして、距離が所定時間以上ほぼ一定であれば、3次元オブジェクトOB1が選択されたと判定し、3次元オブジェクトOB1を選択状態にする。そして、表示装置1は、3次元オブジェクトOB1の表示態様を変更する等して、3次元オブジェクトOB1が選択状態になったことを利用者に通知する。
When two real objects are detected in the display space and the three-dimensional object OB1 is located between the two objects, the
表示装置1が2つの物体の距離の変化を監視している間、2つの物体は、3次元オブジェクトOB1を挟む位置に留まる必要はない。すなわち、利用者は、ステップS71に示したように指F1と指F2の間に3次元オブジェクトOB1が位置するように指F1および指F2を移動させた後、その状態を保つことなく、指F1および指F2を他の位置へ移動させて構わない。
While the
ステップS71の状態から、ステップS72に示すように、利用者が、指F1と指F2の距離D1をほぼ一定に保ったまま移動させたものとする。この場合、表示装置1は、指F1と指F2の間に3次元オブジェクトOB1が表示されていることが検出された段階、すなわち、ステップS71の段階から、指F1および指F2の動きに応じて、3次元オブジェクトOB1に移動、変形、消失、置換等の変化を加える。そして、表示装置1は、ステップS73に示すように、指F1と指F2の距離D1がほぼ一定に保たれた状態が所定時間以上継続した段階で、3次元オブジェクトOB1を選択状態にする。
Assume that the user has moved from the state of step S71 while keeping the distance D1 between the finger F1 and the finger F2 substantially constant as shown in step S72. In this case, the
図32のステップS74に示すように、所定時間が経過する前に指F1と指F2の距離D1が拡大した場合、すなわち、選択が行われなかった場合、表示装置1は、それまでに加えた変化と逆の変化を3次元オブジェクトOB1に加える。その結果、3次元オブジェクトOB1は、ステップS71の段階と同じ位置に同じ状態で表示される。逆の変化を3次元オブジェクトOB1に加える速度は、それまでに3次元オブジェクトOB1に変化が加えられた速度よりも速くてもよい。すなわち、高速に逆再生しているかのように3次元オブジェクトOB1を逆変化させてもよい。
As shown in step S74 of FIG. 32, when the distance D1 between the finger F1 and the finger F2 is expanded before the predetermined time has passed, that is, when the selection is not performed, the
このように、2つの物体の間に3次元オブジェクトが表示されていることが検出された段階から3次元オブジェクトに変化を加え始めることにより、利用者は、3次元オブジェクトが選択されつつあることを選択が確定する前から認識することができる。その結果、利用者は、意図した3次元オブジェクトが選択されたか否かを早期に知ることができる。表示装置1は、2つの物体の距離がほぼ一定に保たれた状態が所定時間以上継続するまでは、変化を加えられている3次元オブジェクトを通常時とも選択状態とも異なる態様(例えば、半透明)で表示することにより、利用者が3次元オブジェクトの状態を判別しやすくしてもよい。
Thus, by starting to apply a change to the 3D object from the stage where it is detected that the 3D object is displayed between the two objects, the user can confirm that the 3D object is being selected. It can be recognized before the selection is confirmed. As a result, the user can know at an early stage whether or not the intended three-dimensional object has been selected. The
次に、図33および図34を参照しながら、3次元オブジェクトを摘んで行う操作に関して表示装置1が実行する処理手順について説明する。図33は、3次元オブジェクトの選択検出処理の処理手順を示すフローチャートである。図33に示す処理手順は、制御部22が制御プログラム24aを実行することによって実現される。
Next, a processing procedure executed by the
図33に示すように、制御部22は、まず、ステップSH01として、3次元オブジェクトを含む仮想空間の画像と現実の空間の画像とを合成して表示する。続いて、制御部22は、ステップSH02として、検出部44、すなわち、撮影部40および42によって第1の物体および第2の物体が検出されたかを判定する。第1の物体および第2の物体が検出されない場合(ステップSH02,No)、制御部22は、ステップSH10として、仮選択状態の3次元オブジェクトがあれば、その3次元オブジェクトの仮選択状態を解除する。
As shown in FIG. 33, the
そして、制御部22は、ステップSH11として、操作終了が検出されたかを判定する。操作終了が検出された場合(ステップSH11,Yes)、制御部22は、選択検出処理を終了させる。操作終了が検出されない場合(ステップSH11,No)、制御部22は、ステップSH02以降を再実行する。
And the
第1の物体および第2の物体が検出された場合(ステップSH02,Yes)、制御部22は、ステップSH03として、仮選択状態の3次元オブジェクトがあるか否かを判定する。仮選択状態の3次元オブジェクトがない場合(ステップSH03,No)、制御部22は、ステップSH04として、表示されている3次元オブジェクトの中から第1の物体と第2の物体との間に表示されている3次元オブジェクトを探す。該当する3次元オブジェクトがない場合(ステップSH05,No)、制御部22は、ステップSH11へ進む。
When the first object and the second object are detected (step SH02, Yes), the
第1の物体と第2の物体との間に表示されている3次元オブジェクトがみつかった場合(ステップSH05,Yes)、制御部22は、ステップSH06として、第1の物体と第2の物体との間に表示されている3次元オブジェクトを仮選択状態にする。また、制御部22は、ステップSH07として、第1の物体と第2の物体の距離を算出する。そして、制御部22は、ステップSH11へ進む。
When a three-dimensional object displayed between the first object and the second object is found (step SH05, Yes), the
第1の物体および第2の物体が検出され、かつ、仮選択状態の3次元オブジェクトがある場合(ステップSH03,Yes)、制御部22は、ステップSH08として、第1の物体と第2の物体の少なくとも一方が移動しているかを判定する。第1の物体と第2の物体のいずれも移動していない場合(ステップSH08,No)、制御部22は、ステップSH11へ進む。
When the first object and the second object are detected and there is a temporarily selected three-dimensional object (step SH03, Yes), the
第1の物体と第2の物体の少なくとも一方が移動している場合(ステップSH08,Yes)、制御部22は、ステップSH09として、図34に示す操作検出処理を実行し、その中で、選択状態にある3次元オブジェクトを検出された操作に応じて変化させる。操作検出処理が終了した後、制御部22は、ステップSH11へ進む。
When at least one of the first object and the second object is moving (step SH08, Yes), the
図34は、操作検出処理の処理手順を示すフローチャートである。図34に示す処理手順は、制御部22が制御プログラム24aを実行することによって実現される。図34に示すように、制御部22は、まず、ステップSI01として、第1の物体と第2の物体の距離を算出する。そして、制御部22は、ステップSI02として、操作検出処理の開始時点以降の第1の物体と第2の物体の距離がほぼ一定であるかを判定する。
FIG. 34 is a flowchart illustrating the procedure of the operation detection process. The processing procedure shown in FIG. 34 is realized by the
第1の物体と第2の物体の距離がほぼ一定の場合(ステップSI02,Yes)、制御部22は、ステップSI03として、操作検出処理が開始されてから所定時間が経過したかを判定する。所定時間が経過していた場合(ステップSI03,Yes)、制御部22は、ステップSI04として、仮選択状態の3次元オブジェクトがあれば、その3次元オブジェクトを選択状態にする。所定時間が経過していない場合(ステップSI03,No)、ステップSI04は実行されない。
When the distance between the first object and the second object is substantially constant (step SI02, Yes), the
続いて、制御部22は、ステップSI05として、第1の物体および第2の物体の移動速度を算出する。そして、制御部22は、ステップSI06として、算出した移動速度が閾値以下であるかを判定する。移動速度が閾値以下の場合(ステップSI06,Yes)、制御部22は、ステップSI07として、検出された第1の物体および第2の物体の動きに応じて3次元オブジェクトを移動させたり回転させたりする。そして、制御部22は、ステップSI01以降を再実行する。
Subsequently, as step SI05, the
移動速度が閾値より速い場合(ステップSI06,No)、制御部22は、ステップSI08として、3次元オブジェクトを消去する。3次元オブジェクトを消去するに際して、3次元オブジェクトが第1の物体および第2の物体の移動方向へ向けて飛んでいくようにアニメーション表示してもよい。そして、制御部22は、操作検出処理を終了させる。第1の物体および第2の物体を高速で移動させる操作ではなく、例えば、3次元オブジェクトを握りつぶす操作に3次元オブジェクトの消去を割り当ててもよい。3次元オブジェクトを消去する代わりに、3次元オブジェクトを当初の配置場所に戻すこととしてもよい。表示装置1は、ステップSI05、SI06およびステップSI08の処理を行わなくてもよい。すなわち、表示装置1は、ステップSI03でNoと判定した場合またはステップSI04を実行した後に、2つの物体の移動速度にかかわらず、ステップSI07を実行してもよい。
When the moving speed is faster than the threshold (step SI06, No), the
第1の物体と第2の物体の距離がほぼ一定でない場合(ステップSI02,No)、制御部22は、ステップSI09として、距離が、3次元オブジェクトの選択時、すなわち、操作検出処理の開始時点よりも拡大しているかを判定する。距離が拡大している場合(ステップSI09,Yes)、制御部22は、ステップSI10として、第1の物体と第2の物体の間に表示されていた3次元オブジェクトが仮選択状態であるかを判定する。
When the distance between the first object and the second object is not substantially constant (No in step SI02), the
3次元オブジェクトが仮選択状態である場合(ステップSI10,Yes)、制御部22は、ステップSI11として、3次元オブジェクトの仮選択状態を解除する。また、制御部22は、ステップSI12として、3次元オブジェクトを逆変化させて元の状態に戻す。そして、制御部22は、操作検出処理を終了させる。
When the three-dimensional object is in the temporary selection state (step SI10, Yes), the
3次元オブジェクトが仮選択状態でない場合、すなわち、選択状態の場合(ステップSI10,No)、制御部22は、ステップSI13として、3次元オブジェクトの選択状態を解除する。また、制御部22は、ステップSI14として、選択状態を解除した3次元オブジェクトを重力等に従って移動させる。そして、制御部22は、操作検出処理を終了させる。ここでの移動は、例えば、3次元オブジェクトが重力に従って落下し、床やテーブルの上で停止するように表示される。3次元オブジェクトの動きを停止させる前に、3次元オブジェクトの弾性や床やテーブルの硬度に応じて3次元オブジェクトをバウンドさせてもよい。3次元オブジェクトが床やテーブルに衝突するときの衝撃の大きさを算出し、衝撃が所定の値よりも大きい場合には3次元オブジェクトを破損したように表示してもよい。また、実際の重力が働く場合よりも3次元オブジェクトをゆっくりと移動させてもよい。
When the three-dimensional object is not in the temporary selection state, that is, in the selection state (step SI10, No), the
第1の物体と第2の物体の距離が3次元オブジェクトの選択時よりも縮まっている場合(ステップSI09,No)、制御部22は、ステップSI15として、距離に応じて3次元オブジェクトを変形させる。そして、制御部22は、ステップSI01以降を再実行する。3次元オブジェクトを変形させる程度は、例えば、3次元オブジェクトに属性として設定されている硬度に応じて変更してもよい。
When the distance between the first object and the second object is shorter than when the three-dimensional object is selected (step SI09, No), the
上述してきたように、第3の例では、指等の物体の間に3次元オブジェクトが位置していることが検出された時点から、操作に応じて3次元オブジェクトを変化させることとしたので、利用者が3次元オブジェクトの選択を認識しやすい。 As described above, in the third example, since it is detected that the three-dimensional object is positioned between objects such as fingers, the three-dimensional object is changed according to the operation. It is easy for the user to recognize the selection of the three-dimensional object.
図35に示すステップS81からステップS83のように、第1の物体と第2の物体のうち少なくとも一方が3次元オブジェクトに接触した後に第1の物体と第2の物体の距離が所定時間以上ほぼ一定に保たれることを、3次元オブジェクトを選択する条件としてもよい。3次元オブジェクトへの接触を選択の条件とすることにより、複数の3次元オブジェクトが近接して表示されている場合に、利用者が所望の3次元オブジェクトを選択し易くなる。 As in Step S81 to Step S83 shown in FIG. 35, after at least one of the first object and the second object comes into contact with the three-dimensional object, the distance between the first object and the second object is approximately equal to or longer than a predetermined time. It may be maintained as a condition for selecting a three-dimensional object. By making contact with a three-dimensional object as a selection condition, it becomes easier for a user to select a desired three-dimensional object when a plurality of three-dimensional objects are displayed close to each other.
上記の実施例において説明した表示装置1は各種の用途に適用できる。操作の対象となる3次元オブジェクト(表示物)は、例えば、本、積み木、スプーン、箸、トランプ、粘土、楽器のように現実に存在するものを模したオブジェクトであってもよいし、仮想のアバター、ゲームのキャラクター、仮想現実のARタグのように実在はしないオブジェクトであってもよい。また、検出された操作に応じて3次元オブジェクトに加えられる変化は、上記の移動、変形、消失、置換等に限定されない。また、押す操作に応じて3次元オブジェクトに加えられる変化は、上記の実施例に限定されず、3次元オブジェクトの種類に応じて変更してよい。
The
例えば、粘土を模した3次元オブジェクト(以下、単に「粘土」という)を操作対象とする場合、押す操作に応じて粘土を変形させて、利用者が粘土を任意の形に成形できるようにしてもよい。また、時間の経過にしたがって、あたかも粘土が乾いていくかのように、粘土を硬化させていってもよい。また、水の3次元オブジェクトに浸けた指や手で粘土を押す操作が検出された場合に、粘土の粘性を向上させてもよい。 For example, when a three-dimensional object imitating clay (hereinafter simply referred to as “clay”) is an operation target, the clay is deformed according to the pressing operation so that the user can shape the clay into an arbitrary shape. Also good. Moreover, the clay may be hardened as if the clay dries over time. Further, when an operation of pushing clay with a finger or hand immersed in a three-dimensional object of water is detected, the viscosity of the clay may be improved.
また、レコード盤を模した3次元オブジェクト(以下、単に「レコード盤」という)を操作対象とする場合、押す操作に応じてレコード盤が支点を中心として回転するとともに、音を再生するようにしてもよい。回転と音の再生を連動させることにより、ディスクジョッキーによるスクラッチ等の技法を仮想的に実現してもよい。 In addition, when a three-dimensional object that imitates a record board (hereinafter simply referred to as “record board”) is an operation target, the record board rotates around a fulcrum and plays a sound according to the pressing operation. Also good. A technique such as scratching by a disc jockey may be virtually realized by linking rotation and sound reproduction.
実施例1では、表示装置が、3次元オブジェクトに対する操作を検出し、検出した操作に応じて3次元オブジェクトに変化を加える方法を説明した。以下の実施例2では、実施例1で説明した方法を、例えば、表計算アプリケーションを3次元の仮想空間で実行する場合に適用する例について説明する。 In the first embodiment, the method in which the display device detects an operation on the three-dimensional object and changes the three-dimensional object according to the detected operation has been described. In Example 2 below, an example will be described in which the method described in Example 1 is applied to, for example, a case where a spreadsheet application is executed in a three-dimensional virtual space.
図36を参照しながら、表示装置1の機能的な構成について説明する。図36は、第2の実施例に係る表示装置1のブロック図である。第2の実施例に係る表示装置1の機能的な構成は、基本的には、第1の実施例(図6)と同様であるが、以下に説明する点が異なる。
The functional configuration of the
記憶部24に記憶される制御プログラム24aには、第1の実施例と同様に、検出処理部25と、表示オブジェクト制御部26と、画像合成部27とが含まれる他、さらに、表計算処理部28が含まれる。記憶部24に記憶されるデータには、オブジェクトデータ24bと、作用データ24cと、仮想空間データ24dとが含まれる他、さらに、表計算データ24eが含まれる。
Similar to the first embodiment, the
表計算処理部28は、数値データの集計、演算、および分析などの表計算に関わる処理を実現するための機能を提供する。表計算処理部28は、表計算に関わる処理を行うためのワークシートで各面が構成される立体状のオブジェクトを表示する。表計算処理部28は、ワークシートに対して検出される操作に応じて、表計算に関わる処理を実現する。ワークシートには、例えば、縦横に格子状のセルが複数配置される。ワークシートに対して検出される操作には、セルに対する操作が含まれる。
The
図37〜図39を用いて、表計算処理部28が処理内容を決定するためのルールについて説明する。図37は、利用者から見たときの表示空間に表示される立体状のオブジェクトの状態を示す図である。図38は、立体状のオブジェクトの展開図である。図37に示すE1は、利用者の目を示す。
A rule for the
図37に示すように、利用者は、利用者の視線方向α1に並行なZ軸方向に奥行きを持った空間として表示空間50を認識する。そして、利用者は、表示空間50内に、表計算に関わる処理を行うためのワークシートで各面が構成される立体状のオブジェクト(以下、キューブCB1と表記する)が空中に浮かんでいるかのように認識する。以下の説明において、Z軸方向という表記する場合は、利用者から表示空間50の奥側に向う方向、及び表示空間50の奥側から利用者に向う方向のどちらにも限定されず、Z軸方向(+)と表記する場合は、利用者から離れて表示空間50の奥側に向う方向であり、3次元座標系の原点へ向う方向とは逆方向を意味するものとする。X軸方向と表記する場合は、少なくとも、X軸に並行な方向であることを意味する。Y軸方向と表記する場合は、少なくとも、Y軸に並行な方向であることを意味する。Y軸方向(+)と表記する場合は、3次元座標系の原点へ向う方向とは逆方向を意味するものとする。Y軸方向(−)と表記する場合は、3次元座標系の原点へ向う方向を意味するものとする。
As shown in FIG. 37, the user recognizes the
図38に示すように、キューブCB1は、キューブCB1の各面が、ワークシートWS1、ワークシートWS2、ワークシートWS3、ワークシートWS4、ワークシートWS5、ワークシートWS6で構成される。ワークシートWS1〜WS6は、それぞれが独立して、利用者からの操作に応じた表計算に関わる処理を実現する。 As shown in FIG. 38, each surface of the cube CB1 includes a worksheet WS1, a worksheet WS2, a worksheet WS3, a worksheet WS4, a worksheet WS5, and a worksheet WS6. Each of the worksheets WS1 to WS6 independently realizes a process related to a spreadsheet according to an operation from the user.
図39は、キューブ又はワークシートに対して検出される操作と、表計算に関わる処理に含まれる処理項目とが予め対応付けられた処理項目決定ルールの例を示す図である。表計算処理部28は、ワークシートに対して検出される操作に応じて実行すべき処理項目を、図39に示す処理項目決定ルールに基づいて決定し、決定した処理項目の処理を実行する。
FIG. 39 is a diagram illustrating an example of a process item determination rule in which an operation detected for a cube or a worksheet is associated with a process item included in a process related to a spreadsheet. The
図39に示すNo.1のルールには、「キューブの1面をZ軸方向(+)に移動させる」という検出操作と、「キューブCB1を構成する面が直交する部分(別々のワークシートのセルが隣り合う部分)において、演算が定義されている場合には、演算結果を更新」という処理項目とが対応付けられている。 No. shown in FIG. The first rule includes a detection operation of “moving one surface of the cube in the Z-axis direction (+)” and “a portion where the surfaces constituting the cube CB1 are orthogonal to each other (a portion where cells of different worksheets are adjacent). In FIG. 5, when an operation is defined, a processing item “update the operation result” is associated.
図39に示すNo.2のルールには、「キューブの列又は行を回転させる」という検出操作と、「回転する列又は行を参照する演算及びグラフがある場合には、演算結果及びグラフを更新」という処理項目とが対応付けられている。 No. shown in FIG. The rule of 2 includes a detection operation “rotate a column or row of a cube” and a processing item “update the operation result and graph when there is an operation and a graph that refer to the rotating column or row”. Are associated.
図39に示すNo.3のルールには、「キューブを手で切る」という検出操作と、「キューブの分割に応じてワークシートの構成情報を更新」という処理項目とが対応付けられている。キューブが分割された場合、ワークシートの数、ワークシートが有するセルの数、行数又は列数などを更新する趣旨である。 No. shown in FIG. The rule No. 3 is associated with the detection operation “cut the cube by hand” and the processing item “update the configuration information of the worksheet according to the division of the cube”. When the cube is divided, the number of worksheets, the number of cells included in the worksheet, the number of rows, the number of columns, and the like are updated.
図39に示すNo.4のルールには、「2つのセルをX軸方向に移動させて衝突させる」という検出操作と、「セルの数値データ同士を乗算」という処理項目とが対応付けられている。 No. shown in FIG. The rule No. 4 is associated with a detection operation “move two cells in the X-axis direction to collide” and a processing item “multiply numeric data of cells”.
図39に示すNo.5のルールには、「2つのセルをY軸方向に移動させて衝突させる」という検出操作と、「Y軸方向(+)のセルの数値データをY軸方向(−)のセルの数値データで除算」という処理項目とが対応付けられている。 No. shown in FIG. The rule No. 5 includes a detection operation of “moving two cells in the Y-axis direction to make them collide” and “numerical data in cells in the Y-axis direction (+) are changed to numerical data in cells in the Y-axis direction (−)”. Is associated with the process item “divide by”.
図39に示すNo.6のルールには、「キューブをY軸方向(−)に押しつぶす」という検出操作と、「Y軸方向(−)の移動量に応じて、ワークシートのデータを消去」という処理項目とが対応付けられている。 No. shown in FIG. The rule “6” corresponds to the detection operation “crush the cube in the Y-axis direction (−)” and the processing item “erase worksheet data according to the amount of movement in the Y-axis direction (−)”. It is attached.
図39に示すNo.7のルールには、「キューブ内の特定のセルを押す」という検出操作と、「セルを含む列または行のセルを削除」という処理項目とが対応付けられている。 No. shown in FIG. The rule No. 7 is associated with a detection operation “press a specific cell in the cube” and a processing item “delete a cell in a column or row including the cell”.
図39に示すNo.8のルールには、「分離されたセルを他のワークシートに衝突させる」という検出操作と、「セルが分離されたワークシートのデータ、およびセルが衝突したワークシートのデータを更新」という処理項目とが対応付けられている。 No. shown in FIG. The rule No. 8 includes a detection operation of “colliding the separated cell with another worksheet” and a process of “updating the data of the worksheet from which the cell is separated and the data of the worksheet in which the cell collides”. Items are associated with each other.
図39に示す処理項目決定ルールは、一例を示すものに過ぎず、図39に示す例のほかにも、検出される操作の種類、操作に対応付ける処理の内容を追加、変更、削除してもよい。 The process item determination rule shown in FIG. 39 is merely an example, and in addition to the example shown in FIG. 39, the type of operation to be detected and the content of the process associated with the operation may be added, changed, or deleted. Good.
キューブCB1(キューブの6面を構成するワークシート)に対して検出される操作に応じたキューブCB1(キューブの6面を構成するワークシート)の表示態様の変化は、検出処理部25、表示オブジェクト制御部26、及び画像合成部27により提供される機能、及びオブジェクトデータ24b、作用データ24c、及び仮想空間データ24dに基づいて実現される。
The change in the display mode of the cube CB1 (the worksheet constituting the six faces of the cube) according to the operation detected for the cube CB1 (the worksheet constituting the six faces of the cube) is detected by the
検出処理部25は、第1の実施例と同様に、撮影部40および42の撮影範囲に存在する現実の物体を検出するための機能を提供する。検出処理部25が提供する機能には、検出したそれぞれの物体までの距離を測定する機能が含まれる。第2の実施例では、検出処理部25は、主に、利用者の手または指を検出し、検出した利用者の手または指までの距離を測定する。
Similar to the first embodiment, the
表示オブジェクト制御部26は、第1の実施例と同様に、仮想空間にどのような3次元オブジェクトが配置され、それぞれの3次元オブジェクトがどのような状態にあるかを管理するための機能を提供する。表示オブジェクト制御部26が提供する機能には、検出処理部25の機能によって検出される現実の物体の動きに基づいて3次元オブジェクトに対する操作を検出し、検出した操作に基づいて3次元オブジェクトを変化させる機能が含まれる。第2の実施例では、表示オブジェクト制御部26は、主に、検出処理部25の機能によって検出される利用者の手の動きに基づいてキューブCB1(キューブの6面を構成するワークシート)に対する操作を検出し、検出した操作に基づいてキューブCB1(キューブの6面を構成するワークシート)の表示態様を変化させる。
The display
画像合成部27は、第1の実施例と同様に、現実の空間の画像と仮想空間の画像とを合成することにより、表示部32aに表示する画像と表示部32bに表示する画像とを生成するための機能を提供する。画像合成部27が提供する機能には、検出処理部25の機能によって測定される現実の物体までの距離と、仮想空間における視点から3次元オブジェクトまでの距離とに基づいて、現実の物体と3次元オブジェクトの前後関係を判定し、重なりを調整する機能が含まれる。第2の実施例では、画像合成部27は、キューブCB1の画像と、現実の空間の画像と合成する。さらに、画像合成部27は、検出処理部25の機能によって検出される利用者の手までの距離と、仮想空間における視点からキューブCB1までの距離とに基づいて、利用者の手とキューブCB1の前後関係を判定し、重なりを調整する。
As in the first embodiment, the
オブジェクトデータ24bは、第2の実施例では、例えば、キューブCB1を3次元オブジェクトとして表示するために用いられる。オブジェクトデータ24bには、第2の実施例において、キューブCB1(キューブの6面を構成するワークシート)の種別、形状情報、色、透明度等を含む情報が格納される。種別は、キューブCB1(キューブの6面を構成するワークシート)の物理的な性質を示す。種別は、例えば、「剛体」、「弾性体」等の値をとる。形状情報は、キューブCB1(キューブの6面を構成するワークシート)の形状を示す情報である。形状情報は、例えば、キューブCB1(キューブの6面を構成するワークシート)を構成する面の頂点座標の集合である。色は、キューブCB1(キューブの6面を構成するワークシート)の表面の色、あるいは色の構成である。透明度は、キューブCB1(キューブの6面を構成するワークシート)が光を透過させる度合いである。
In the second embodiment, the
作用データ24cは、第2の実施例では、3次元オブジェクトとして表示されるキューブCB1(キューブの6面を構成するワークシート)に対する操作が検出された場合に、キューブCB1(キューブの6面を構成するワークシート)の表示態様をどのように変化させるかを判定するために用いられる。ここでいう変化には、キューブCB1の消失、移動、回転、変形、置換、キューブCB1の6面を構成するワークシートのセルの消失、複製、拡大、縮小、変形、置換、ワークシートの縦横に格子状に配置された複数のセルの消失、複製、拡大、縮小、変形、置換等が含まれる。尚、置換とは、一のキューブやセル、シートが、他のキューブやセル、シートに置換されることをいう。
In the second embodiment, the
仮想空間データ24dは、第2の実施例では、3次元オブジェクトとして表示されるキューブCB1(キューブの6面を構成するワークシート)の状態に関する情報を保持する。キューブCB1(キューブの6面を構成するワークシート)の状態には、例えば、位置、姿勢、変形の状況等が含まれる。
In the second embodiment, the
表計算データ24eは、キューブCB1(キューブの6面を構成するワークシート)の構成情報、キューブCB1(キューブの6面を構成するワークシート)に保持されているデータ、表計算処理部28によりキューブCB1(キューブの6面を構成するワークシート)上で実行される各種処理に関するデータを記憶する。
The
以下、第2の実施例に係る制御プログラム24aが提供する機能に基づく種々の制御について説明する。第2の実施例に係る制御プログラム24aが提供する機能に基づく種々の制御には、キューブCB1(キューブの6面を構成するワークシート)に対して検出される操作に応じて前記ルールにより決定される表計算に関わる処理の制御、及びキューブCB1(キューブの6面を構成するワークシート)に対して検出される操作に応じてワークシートの表示態様を変化させる処理の制御が含まれる。
Hereinafter, various controls based on the functions provided by the
図40は、キューブCB1に対して行われる操作の例を示す図である。図41は、キューブCB1の表示態様の例を示す図である。 FIG. 40 is a diagram illustrating an example of operations performed on the cube CB1. FIG. 41 is a diagram illustrating an example of a display mode of the cube CB1.
例えば、表示装置1は、図41に示すように、キューブCB1を、例えば、Y軸を中心として回転させる操作が行われると、図41に示すように、キューブCB1の表示面(ワークシート)を変更する。例えば、表示装置1は、Y軸を中心としてキューブCB1を回転させるための利用者の指の動きを予め記憶しておき、利用者の指に動きに応じて、キューブCB1を回転させて、キューブCB1の表示面(ワークシート)を変更する。
For example, as illustrated in FIG. 41, when the
表示装置1は、例えば、図41のステップS91に示すように、キューブCB1のある1面を構成するワークシートWS1が利用者の正面を向くように表示されている状態で、Y軸を中心として90度左回りに回転する操作が行われると、図41のステップS92に示すように、キューブCB1の他の1面を構成するワークシートWS2が利用者の正面を向くように表示する。表示装置1は、例えば、図41のステップS91に示すように、キューブCB1のある1面を構成するワークシートWS1が利用者の正面を向くように表示されている状態で、Y軸を中心として45度左回りに回転する操作が行われると、図41のステップS93に示すように、キューブCB1のある1面を構成するワークシートWS1と、キューブCB1の他の1面を構成するワークシートWS2とが半分ずつ利用者の正面を向くように表示する。
For example, as shown in step S91 in FIG. 41, the
図41のステップS93に示す場合、表示装置1は、図39に示すルールに特に記載されてはいないが、ワークシートWS1及びワークシートWS2について処理を有効な状態に切り替えるともに、表計算データ24eにその旨を記録してもよい。
In the case shown in step S93 in FIG. 41, the
図42は、キューブCB1に対して行われる操作の例を示す図である。図43は、キューブCB1にて表計算に関わる処理が実行される箇所の例を示す図である。図42及び図43の説明の前提として、キューブCB1の各面を構成するワークシートが直交する部分(別々のワークシートのセルが隣り合う部分)において、それぞれのワークシートに配置されたセルに入力されているデータを参照して演算が行われるように数式が定義されているものとする。 FIG. 42 is a diagram illustrating an example of operations performed on the cube CB1. FIG. 43 is a diagram illustrating an example of a place where processing related to the spreadsheet is executed in the cube CB1. As a premise for the description of FIG. 42 and FIG. 43, in the portion where the worksheets constituting each surface of the cube CB1 are orthogonal (portion where cells of different worksheets are adjacent), input to the cells arranged in the respective worksheets It is assumed that the mathematical formula is defined so that the calculation is performed with reference to the data that is stored.
表示装置1は、図42に示すように、利用者の手H1のひらで、キューブCB1を構成する面のうち、ワークシートWS1で構成される面を、Z軸方向(+)に移動させる操作を検出すると、図43に示すように、操作された面がそのまま平行したかのように表示させる。表示装置1は、利用者の手H1がZ軸方向(+)に移動する距離に応じて、ワークシートWS1で構成される面を移動させる。
As shown in FIG. 42, the
同時に、表示装置1は、図39に示すルールNo.1に基づいて、表計算に関わる処理を実行する。すなわち、表示装置1は、検出部(例えば、検出処理部25および表示オブジェクト制御部26)によってキューブCB1のワークシートWS1に対して検出される操作に応じて、ワークシートWS1と、ワークシートWS2とが角度(90度)を形成する位置に隣接している、ワークシートWS1に配置されているセルに入力されているデータとワークシートWS2に配置されているセルに入力されているデータとを参照する演算処理を実行する。同様に、表示装置1は、ワークシートWS1と、ワークシートWS5とが角度(90度)を形成する位置に隣接している、ワークシートWS1に配置されているセルに入力されているデータとワークシートWS5に配置されているセルに入力されているデータとを参照する演算処理を実行する。同様に、表示装置1は、ワークシートWS1と、ワークシートWS4とが角度(90度)を形成する位置に隣接している、ワークシートWS1に配置されているセルに入力されているデータとワークシートWS4に配置されているセルに入力されているデータとを参照する演算処理を実行する。同様に、表示装置1は、ワークシートWS1と、ワークシートWS6とが角度(90度)を形成する位置に隣接している、ワークシートWS1に配置されているセルに入力されているデータとワークシートWS6に配置されているセルに入力されているデータとを参照する演算処理を実行する。
At the same time, the
図42に示す操作によって、図43に示すように、例えば、キューブCB1を構成する面のうち、ワークシートWS1で構成される面とワークシートWS2で構成される面とが交わる面OP1、ワークシートWS1で構成される面とワークシートWS5で構成される面とが交わる面OP2、ワークシートWS1で構成される面とワークシートWS4で構成される面とが交わる面OP3、ワークシートWS1で構成される面とワークシートWS6で構成される面とが交わる面OP4が、図42に示す場合から変更されるので、表示装置1は、改めて演算を実行し、表計算データ24eに記憶されている演算結果を更新する。
42, for example, as shown in FIG. 43, a surface OP1 in which a surface constituted by the worksheet WS1 and a surface constituted by the worksheet WS2 intersect, among the surfaces constituting the cube CB1, and the worksheet It is composed of a surface OP2 where a surface composed of WS1 and a surface composed of a worksheet WS5 intersect, a surface OP3 where a surface composed of a worksheet WS1 and a surface composed of a worksheet WS4 intersect, and a worksheet WS1. 42 is changed from the case shown in FIG. 42, the
表示装置1は、例えば、図42に示す操作が行われる前、すなわち、ワークシートWS1と、ワークシートWS2、WS5、WS4、WS6とが交わる面が変更される前であっても、同様に、ワークシート間で隣接するセルを参照する演算処理を実行することができる。
For example, even before the operation shown in FIG. 42 is performed, that is, before the surface where the worksheet WS1 and the worksheets WS2, WS5, WS4, and WS6 intersect is changed, the
図44は、ワークシートの構成例を示す図である。図45は、立体的なセルの例を示す図である。 FIG. 44 is a diagram illustrating a configuration example of a worksheet. FIG. 45 is a diagram illustrating an example of a three-dimensional cell.
図44に示すように、キューブCB1の各面を構成するワークシートの各セルを立方体状のオブジェクト(以下、セルキューブと表記する)で構成してもよい。図44に示す場合、ワークシートWS1は、セルキューブCC1を構成する面のうち、例えば、利用者側を向く面SF1と、この面に並行な面BF1とを表計算に関わる処理が有効な状態としてもよい。表示装置1は、面BF1を表示する場合、面SF1の透過処理を行うことにより表示してもよいし、キューブCB1への手の挿入が行われた場合に表示するようにしてもよい。あるいは、表示装置1は、セルキューブCC1を摘み、Y軸を中心として回転させる操作を検出した場合には、面SF1と、面BF1とが切り替えられたかのように表示してもよい。
As shown in FIG. 44, each cell of the worksheet constituting each surface of the cube CB1 may be constituted by a cubic object (hereinafter referred to as a cell cube). In the case shown in FIG. 44, the work sheet WS1 is in a state in which, for example, the surface SF1 facing the user side and the surface BF1 parallel to this surface among the surfaces constituting the cell cube CC1 are effective in processing relating to the spreadsheet. It is good. The
図46は、キューブCB1内にグラフの表示する例を示す図である。図46に示すように、表示装置1は、キューブCB1の内部に、ワークシート上で実行された演算結果に対応するグラフGR1を表示してもよい。表示装置1は、表計算データ24eに記憶されている演算結果のデータに基づいて、キューブCB1の内部に表示させるグラフを作成する。
FIG. 46 is a diagram illustrating an example of displaying a graph in the cube CB1. As illustrated in FIG. 46, the
図47は、キューブCB1の列又は行の回転の概念を示す図である。図47には、キューブCB1の列又は行の回転の概念を説明するために、キューブCB1の各面を構成するワークシートに配置されるセルキューブの数、セルキューブがなす列数および行数を簡略化して、3列×3行で構成されるキューブを示したものである。例えば、表示装置1は、セルキューブCCxを含む9つのセルキューブを一塊として、回転軸Pyを中心に回転させる操作(矢印38−1の方向に回転させる操作)を検出した場合には、9つのセルキューブを1行ひと塊として回転されているかのように表示させる。同様に、表示装置1は、回転軸Pxを中心に回転させる操作(矢印38−2の方向に回転させる操作)を検出した場合には、9つのセルキューブを1列ひと塊として回転されているかのように表示させる。
FIG. 47 is a diagram showing the concept of rotation of the column or row of the cube CB1. In FIG. 47, in order to explain the concept of rotation of the columns or rows of the cube CB1, the number of cell cubes, the number of columns and the rows formed by the cell cubes are arranged on the worksheets constituting each surface of the cube CB1. For simplicity, a cube composed of 3 columns × 3 rows is shown. For example, when the
このとき、表示装置1は、図46に示すグラフが、キューブCB1の1面を構成するワークシートWS1のセルデータに基づく演算結果を参照している場合には、図39に示すルールNo.2に基づいて、表示装置1は、表計算データ24eに記憶されている演算結果及びグラフを更新する。表示装置1は、図44に示すグラフに更新を反映させる。
At this time, when the graph shown in FIG. 46 refers to the calculation result based on the cell data of the worksheet WS1 constituting one surface of the cube CB1, the
図48は、キューブCB1の分割の概念を示す図である。表示装置1は、例えば、キューブCB1を手で割るような操作を検出した場合には、図48に示すように、キューブCB1が、キューブCB2とキューブCB3とに分割されたかのように表示してもよい。例えば、表示装置1は、Z軸方向(+)に移動する利用者の手H1のひらが、キューブCB1の内部をZ軸方向(+)に縦断する箇所を検出し、該当箇所からキューブCB1を分割する。キューブCB1が分割されたかのように表示させるための操作は、キューブCB1を手で割るような操作には限定されず、任意の操作であってよい。
FIG. 48 is a diagram showing the concept of division of the cube CB1. For example, when the
同時に、表示装置1は、図39に示すルールNo.3に基づいて、表計算データ24eに記憶されているデータを更新する。すなわち、表示装置1は、キューブの分割に応じてワークシートの構成情報(ワークシートの数、ワークシートが有するセルの数、行数又は列数など)を更新する。
At the same time, the
図49は、キューブCB1を構成するワークシート上のセルキューブの選択の概念を示す図である。表示装置1は、例えば、キューブCB1のある1面を構成するワークシートWS1と、キューブCB1の他の1面を構成するワークシートWS2とが半分ずつ利用者の正面を向くように表示されている場合(例えば、図41のステップS93参照)において、ワークシートWS1のセルキューブCC1と、ワークシートWS2のセルキューブCC2とを、同時に選択することを可能とする。
FIG. 49 is a diagram showing the concept of selecting cell cubes on the worksheet that constitutes the cube CB1. The
そして、表示装置1は、例えば、セルキューブCC1とセルキューブCC2とを摘んで、X軸方向に衝突させるように動かす操作を検出すると、セルキューブCC1とセルキューブCC2とが衝突するタイミングで双方のセルキューブを消失させる。そして、セルを消失させるタイミングにあわせて、表示装置1は、予め演算が定義されていたワークシートの所定のセルキューブなどに、演算結果を表示させる。セルの演算は、上記セルキューブの表示態様の制御と並列に実行されているものとする。
For example, when the
同時に、表示装置1は、図39に示すルールNo.4に基づいて、表計算データ24eに記憶されているデータを更新する。なお、表示装置1は、図39に示すルールNo.4の検出操作にある「セル」を「セルキューブ」に自動的に読み替えて、処理を実行するものとする。すなわち、表示装置1は、セルの数値データ同士を乗算し、乗算の結果で更新する。
At the same time, the
図50は、キューブCB1を押しつぶす概念を示す図である。表示装置1は、図50のステップS101に示すように、キューブCB1の1面を構成するワークシートWS5の側から、Y軸方向(−)に押しつぶす操作を検出すると、図50のステップS102に示すように、キューブCB1が押しつぶされたかのように、押しつぶす操作が行われた側とは反対にある9つのセルキューブを消失させる。表示装置1は、利用者の手H1のひらのY軸方向(−)の移動量に応じて、消滅させるセルキューブの量を調整してもよい。
FIG. 50 is a diagram showing a concept of crushing the cube CB1. When the
同時に、表示装置1は、図39に示すルールNo.6に基づいて、表計算データ24eに記憶されているデータを更新する。すなわち、表示装置1は、消失させるセルキューブに対応するワークシートのデータを消去する。図50に示す例では、ワークシートWS1〜WS4のセルデータの一部、及びワークシートWS6のデータが完全に消去されることになる。
At the same time, the
図51は、キューブCB1の1列を消失させる概念を示す図である。図51に示すように、表示装置1は、キューブCB1の1面を構成するワークシートWS1のセルキューブCC1をZ軸方向(+)に押す操作を検出すると、セルキューブCC1を含むワークシートWS1の列L1を消失させる。例えば、表示装置1は、利用者の手H1とセルキューブCC1とが接触した状態で一定時間以上経過した場合には、セルキューブCC1が選択されたものと判定し、セルキューブCC1を含む列L1を消滅対象として確定させる。このとき、表示装置1は、列自体を消失させるか、列を構成するセルに記入されているデータのみを消去するかを、検出される操作に応じて区別してもよい。あるいは、表示装置1は、列の消失を、ワークシートWS1に対してのみ実行し、他のワークシートに影響を与えないようにしてもよい。この場合、表示装置1は、消去された列に代わる新たな列を自動生成する。
FIG. 51 is a diagram showing a concept of erasing one column of the cube CB1. As shown in FIG. 51, when the
同時に、表示装置1は、図39に示すルールNo.7に基づいて、表計算データ24eに記憶されているデータを更新する。すなわち、表示装置1は、利用者の手H1により押されるセルを含む列又は行のセルを削除する。
At the same time, the
図52は、キューブCB1からのセルキューブの分離の概念を示す図である。図52に示すように、表示装置1は、キューブCB1の1面を構成するワークシートに含まれるセルキューブCCxを摘んで、引っ張る操作を検出すると、セルキューブCCxがキューブCB1から分離されたかのように表示する。続いて、表示装置1は、例えば、分離されたかのように表示したセルキューブCCxを、他のワークシートに衝突させる操作を検出すると、セルキューブCCxのデータがコピーされたかのように、セルキューブCCxのデータを、セルキューブCCxが衝突されたワークシートに表示させる。
FIG. 52 is a diagram showing the concept of separation of the cell cube from the cube CB1. As shown in FIG. 52, when the
同時に、表示装置1は、図39に示すルールNo.8に基づいて、表計算データ24eに記憶されているデータを更新する。すなわち、表示装置1は、セルが分離されたワークシートのデータ、およびセルが衝突したワークシートのデータを更新する。
At the same time, the
そのほか、表示装置1は、セルに記入されているデータを、表示上のセルの面積で表示仕切れない場合に、例えば、利用者の指でセルの表面を滑らせるような操作に応じて、セルに記入されているデータをスクロール表示してもよい。
In addition, when the
あるいは、表示装置1は、利用者の操作に応じて、キューブCB1が任意の軸を中心として回転された場合であっても、利用者の正面に見えるワークシートに記入されているデータ(文字、数字など)の上下方向が、利用者に違和感を与えないように自動的に合わせて表示するようにしてもよい。
Alternatively, the
図53は、第2の実施例に係る処理手順を示すフローチャートである。図53に示す処理手順は、制御部22が、制御プログラム24aを実行することによって実現される。
FIG. 53 is a flowchart illustrating a processing procedure according to the second embodiment. The processing procedure shown in FIG. 53 is realized by the
図53に示すように、制御部22は、ステップSJ01として、ワークシートを6面に有するキューブCB1を合成表示する。
As shown in FIG. 53, the
続いて、制御部22は、ステップSJ02として、ワークシートに対する操作が検出されたかを判定する。制御部22は、判定の結果、ワークシートに対する操作が検出された場合には(ステップSJ02,Yes)、ステップSJ03として、検出された操作に応じて処理を実行する。例えば、ステップSJ03において実行される処理には、キューブCB1(キューブの6面を構成するワークシート)に対して検出される操作に応じて前記ルールにより決定される表計算に関わる処理の制御、及びキューブCB1(キューブの6面を構成するワークシート)に対して検出される操作に応じてワークシートの表示態様を変化させる処理の制御が含まれる(図40〜図52など参照)。
Subsequently, in step SJ02, the
続いて、制御部22は、ステップSJ04として、操作終了が検出されたかを判定する。操作終了は、例えば、操作部13に対する所定の操作が行われた場合に検出される。操作終了が検出された場合(ステップSJ04,Yes)、制御部22は、図53に示す処理手順を終了させる。操作終了が検出されない場合(ステップSJ04,No)、制御部22は、ステップSJ02以降を再実行する。
Subsequently, the
ステップSJ02において、制御部22は、判定の結果、ワークシートに対する操作が検出されない場合には(ステップSJ02,No)、上記ステップSJ04の処理手順に進む。
In step SJ02, if the result of determination is that an operation on the worksheet has not been detected (No in step SJ02), the
上記の各実施例で示した本発明の態様は、本発明の要旨を逸脱しない範囲で任意に変更することができる。また、上記の各実施例を適宜組み合わせてもよい。例えば、上記の実施例で示した制御プログラムは、複数のモジュールに分割されていてもよいし、他のプログラムと統合されていてもよい。 The aspects of the present invention shown in the above embodiments can be arbitrarily changed without departing from the gist of the present invention. Moreover, you may combine each said Example suitably. For example, the control program shown in the above embodiment may be divided into a plurality of modules or may be integrated with other programs.
上記の実施例では、3次元オブジェクトを利用者自身が操作する例について説明したが、表示装置は、撮影部の撮影範囲における他人、動物、機械等の動きを3次元オブジェクトとして検出してもよい。また、表示装置は、仮想空間を他の装置と共有してもよい。すなわち、表示装置は、仮想空間内の3次元オブジェクトを当該表示装置の利用者以外の人が他の装置を介して見て操作できるように構成されてもよい。 In the above embodiment, the example in which the user himself / herself operates the three-dimensional object has been described. However, the display device may detect the movement of another person, an animal, a machine, or the like in the photographing range of the photographing unit as the three-dimensional object. . In addition, the display device may share the virtual space with other devices. That is, the display device may be configured such that a person other than the user of the display device can view and operate the three-dimensional object in the virtual space through another device.
上記の実施例では、表示装置が単独で3次元オブジェクトに対する操作を検出することとしたが、表示装置がサーバ装置と協業して3次元オブジェクトに対する操作を検出することとしてもよい。この場合、表示装置は、撮影部が撮影した画像または検出部の検出した情報をサーバ装置へ逐次送信し、サーバ装置が操作を検出して検出結果を表示装置へ通知する。このような構成とすることにより、表示装置の負荷を低減することができる。 In the above embodiment, the display device alone detects an operation on the three-dimensional object. However, the display device may detect an operation on the three-dimensional object in cooperation with the server device. In this case, the display device sequentially transmits the image captured by the imaging unit or the information detected by the detection unit to the server device, and the server device detects the operation and notifies the display device of the detection result. With this configuration, the load on the display device can be reduced.
上記の実施例で説明した表示装置により実行される各種制御は、スマートフォン、タブレットなどの携帯型の装置で実行することもできる。 Various controls executed by the display device described in the above embodiments can also be executed by a portable device such as a smartphone or a tablet.
1 表示装置
1a 前面部
1b 側面部
1c 側面部
4d 外部装置
13 操作部
22 制御部
24 記憶部
24a 制御プログラム
24b オブジェクトデータ
24c 作用データ
24d 仮想空間データ
24e 表計算データ
25 検出処理部
26 表示オブジェクト制御部
27 画像合成部
28 表計算処理部
32a、32b 表示部
40、42 撮影部
44 検出部
46 測距部
DESCRIPTION OF
Claims (6)
前記オブジェクトに対する操作と、前記処理に含まれる処理項目とが対応付けられたルールを記憶する記憶部と、
前記操作を検出する検出部と、
前記ルールに基づいて、前記検出部によって検出される前記操作に応じて実行すべき前記処理項目を決定する制御部と
を有し、
前記表示部は、互いに独立した3つの次元のグラフを3次元表示することを特徴とする表示装置。 A display unit that is arranged in front of the user in a state of being worn on the head and displays a three-dimensional object for executing processing related to spreadsheet;
A storage unit that stores a rule in which an operation on the object is associated with a process item included in the process;
A detection unit for detecting the operation;
Based on the rule, it has a control unit for determining the processing items to be executed in response to the operation detected by the detecting unit,
The display unit displays three-dimensional graphs independent of each other in three dimensions .
前記制御部は、前記検出部によって検出される前記操作に応じて、前記平面状のオブジェクトに対して同時に実行すべき前記処理項目を、前記ルールに基づいて決定する請求項1に記載の表示装置。 The display unit displays the three-dimensional object in which each surface is configured with a planar object for executing processing related to spreadsheet,
The display device according to claim 1, wherein the control unit determines, based on the rule, the processing items to be simultaneously executed on the planar object in accordance with the operation detected by the detection unit. .
前記制御部は、前記検出部によって検出される前記操作に応じて、前記平面状のオブジェクトのうち、第1の平面状のオブジェクトに配置されている前記セルに入力されているデータと、第2の平面状のオブジェクトに配置されている前記セルに入力されているデータとを同時に表示させる処理を実行する請求項2に記載の表示装置。 In the planar object, a plurality of cells, which are processing areas into which data is input, are arranged in a grid pattern,
The control unit, in response to the operation detected by the detection unit, out of the planar objects, data input to the cell arranged in the first planar object, and second The display device according to claim 2, wherein a process of simultaneously displaying data input to the cells arranged in the planar object is performed.
前記制御部は、前記検出部によって検出される前記操作に応じて、前記平面状のオブジェクトのうち、第1の平面状のオブジェクトと第2の平面状のオブジェクトとが角度を形成する位置に隣接している、第1の平面状のオブジェクトに配置されている前記セルに入力されているデータと、第2の平面状のオブジェクトに配置されている前記セルに入力されているデータとを参照する演算処理を実行する請求項2に記載の表示装置。 In the planar object, a plurality of cells, which are processing areas into which data is input, are arranged in a grid pattern,
The control unit is adjacent to a position where a first planar object and a second planar object form an angle among the planar objects according to the operation detected by the detection unit. The data input to the cell arranged in the first planar object and the data input to the cell arranged in the second planar object. The display device according to claim 2, which executes arithmetic processing.
立体状の前記オブジェクトを表示装置に3次元表示するステップと、
前記オブジェクトに対する操作を検出するステップと、
前記操作と、前記処理に含まれる処理項目とが対応付けられたルールを記憶する記憶部を参照して、検出される前記操作に応じて実行すべき前記処理項目を決定するステップと、
前記表示装置が互いに独立した3つの次元のグラフを3次元表示するステップと
を含むことを特徴とする制御方法。 A control method executed by a display device arranged in front of the user's eyes in a state of being worn on the head and displaying a three-dimensional object for executing processing related to spreadsheets,
Displaying the three-dimensional object on a display device in three dimensions;
Detecting an operation on the object;
Determining a processing item to be executed according to the detected operation with reference to a storage unit storing a rule in which the operation and a processing item included in the processing are associated ;
And a step of three-dimensionally displaying a three-dimensional graph independent of each other by the display device .
立体状の前記オブジェクトを表示装置に3次元表示するステップと、
前記オブジェクトに対する操作を検出するステップと、
前記操作と、前記処理に含まれる処理項目とが対応付けられたルールを記憶する記憶部を参照して、検出される前記操作に応じて実行すべき前記処理項目を決定するステップと、
前記表示装置が互いに独立した3つの次元のグラフを3次元表示するステップと
を実行させることを特徴とする制御プログラム。 A display device that is placed in front of the user in a state of being worn on the head and displays a three-dimensional object for executing processing related to spreadsheet,
Displaying the three-dimensional object on a display device in three dimensions;
Detecting an operation on the object;
Determining a processing item to be executed according to the detected operation with reference to a storage unit storing a rule in which the operation and a processing item included in the processing are associated ;
And a step of causing the display device to perform three-dimensional display of three-dimensional graphs independent of each other .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016088607A JP6125076B2 (en) | 2016-04-26 | 2016-04-26 | Display device, control method, and control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016088607A JP6125076B2 (en) | 2016-04-26 | 2016-04-26 | Display device, control method, and control program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012218227A Division JP5931681B2 (en) | 2012-09-28 | 2012-09-28 | Display device, control method, and control program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016177819A JP2016177819A (en) | 2016-10-06 |
JP6125076B2 true JP6125076B2 (en) | 2017-05-10 |
Family
ID=57070161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016088607A Active JP6125076B2 (en) | 2016-04-26 | 2016-04-26 | Display device, control method, and control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6125076B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2025001503A (en) * | 2023-06-20 | 2025-01-08 | 株式会社日立製作所 | Information sharing system |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0778054A (en) * | 1993-06-24 | 1995-03-20 | Casio Comput Co Ltd | Data processing device |
JPH0778055A (en) * | 1993-06-25 | 1995-03-20 | Casio Comput Co Ltd | Data processing device |
JP2837815B2 (en) * | 1994-02-03 | 1998-12-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Interactive rule-based computer system |
JP3126898B2 (en) * | 1995-04-26 | 2001-01-22 | シャープ株式会社 | Head-mounted display device |
US6600480B2 (en) * | 1998-12-31 | 2003-07-29 | Anthony James Francis Natoli | Virtual reality keyboard system and method |
EP1221101A4 (en) * | 1999-08-09 | 2003-03-12 | Cognex Corp | Machine vision spreadsheet |
JP2010152443A (en) * | 2008-12-24 | 2010-07-08 | Brother Ind Ltd | Head mounted display |
US9032288B2 (en) * | 2009-09-11 | 2015-05-12 | Xerox Corporation | Document presentation in virtual worlds |
JP2011180843A (en) * | 2010-03-01 | 2011-09-15 | Sony Corp | Apparatus and method for processing information, and program |
JP5564300B2 (en) * | 2010-03-19 | 2014-07-30 | 富士フイルム株式会社 | Head mounted augmented reality video presentation device and virtual display object operating method thereof |
JP5521727B2 (en) * | 2010-04-19 | 2014-06-18 | ソニー株式会社 | Image processing system, image processing apparatus, image processing method, and program |
JP2012218227A (en) * | 2011-04-06 | 2012-11-12 | Sharp Corp | Image forming apparatus |
-
2016
- 2016-04-26 JP JP2016088607A patent/JP6125076B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016177819A (en) | 2016-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7549681B2 (en) | Interacting with 3D Virtual Objects Using Pose and Multiple DOF Controllers - Patent application | |
WO2014050959A1 (en) | Display device and control method | |
US8872854B1 (en) | Methods for real-time navigation and display of virtual worlds | |
EP2903265A1 (en) | Display device, control method, and control program | |
CN104703664B (en) | Display device, control system and control method | |
KR20160080064A (en) | Virtual sensor in a virtual environment | |
JP6159069B2 (en) | Display device | |
US20170032578A1 (en) | Display device | |
GB2376397A (en) | Virtual or augmented reality | |
EP2902998A1 (en) | Display device, control system, and control programme | |
JP5694883B2 (en) | Display device | |
JP2014072576A (en) | Display device and control method | |
JP5715007B2 (en) | Display device | |
WO2014051092A1 (en) | Display device, control method, and control program | |
JP2017208820A (en) | Ordering system | |
JP6125076B2 (en) | Display device, control method, and control program | |
JP6302506B2 (en) | Display device, control method, and control program | |
JP6125785B2 (en) | Display device and control method | |
JP6125075B2 (en) | Display device, control method, and control program | |
JP2014072575A (en) | Display device and control method | |
JP5931680B2 (en) | Display device, control method, and control program | |
JP5931681B2 (en) | Display device, control method, and control program | |
US20220293067A1 (en) | Information processing apparatus, information processing method, and program | |
JP2017163560A (en) | Display device, system, and display method | |
JP2016224959A (en) | Display device and control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A132 Effective date: 20161129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170125 |
|
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: 20170328 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170404 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6125076 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |