(57)【要約】本開示は、モバイルデバイス上の３次元環境内でナビゲートするための方法およびシステムに関する。いくつかの実施形態は、モバイルデバイスの配向を使用する３次元環境のナビゲーションに関する。いくつかの実施形態は、モバイルデバイス上で仮想カメラを移動させるためのユーザインターフェースジェスチャに関する。いくつかの実施形態は、ピンチング、回転、ダブルタッチズーム等のモバイルデバイス上で仮想カメラを移動させるためのユーザインターフェースジェスチャに関する。いくつかの実施形態は、モバイルデバイス上の３次元環境内のパンニングに関する。最後に、いくつかの実施形態は、モバイルデバイス上の３次元環境内のアンカーナビゲーションに関する。
2012501016.tif 000002
【特許請求の範囲】
【請求項１】
タッチ画面を有するモバイルデバイス上の３次元環境内で仮想カメラをナビゲートするためのコンピュータ実装方法であって、
（ａ）第１の物体が前記モバイルデバイスのタッチ画面上でほぼ静止していることを示す、第１のユーザ入力を受信することと、
（ｂ）第２の物体が前記タッチ画面上を移動したことを示す、第２のユーザ入力を受信することと、
（ｃ）前記第２のユーザ入力に従って、前記仮想カメラの配向を変更することと
を含む、方法。
【請求項２】
前記受信すること（ａ）は、第１の指が前記タッチ画面上でほぼ静止状態していることを示す、前記第１のユーザ入力を受信することを含み、
前記受信すること（ｂ）は、第２の指が前記タッチ画面上を移動したことを示す、前記第２のユーザ入力を受信することを含む、
請求項１に記載の方法。
【請求項３】
前記受信すること（ｂ）は、前記第２の指の運動の方向を受信することを含む、請求項２に記載の方法。
【請求項４】
前記変更すること（ｃ）は、前記方向が前記モバイルデバイスの左側または右側に向かっているとき、前記仮想カメラのヨーを変更することを含む、請求項３に記載の方法。
【請求項５】
前記変更すること（ｃ）は、前記方向が前記モバイルデバイスの頂部または底部に向かっているとき、前記仮想カメラのピッチを変更することを含む、請求項３に記載の方法。
【請求項６】
（ｄ）前記モバイルデバイスの加速度計から前記モバイルデバイスの配向を受信することと、
（ｅ）前記モバイルデバイスの前記配向に従って、前記仮想カメラの配向を変更することと、
を含む、請求項２に記載の方法。
【請求項７】
前記変更すること（ｃ）は、前記第１の指の位置が、最初に前記第２の指の位置より下にあるとき、前記仮想カメラの前記配向を変更することを含み、
（ｄ）前記３次元環境内の標的場所を決定することと、
（ｅ）前記第１の指の前記位置が前記第２の指の前記位置より上にあるとき、前記第２のユーザ入力に従って、前記仮想カメラの位置を変更することと、をさらに含み、前記標的場所と前記仮想カメラの前記位置との間の距離は、ほぼ一定のままである、
請求項２に記載の方法。
【請求項８】
（ｄ）前記第１のユーザ入力に基づいて、前記仮想カメラの軸を決定することをさらに含み、
前記変更すること（ｃ）は、前記仮想カメラを前記軸の周囲で回転させることを含む、
請求項１に記載の方法。
【請求項９】
モバイルデバイス上の３次元環境内で仮想カメラをナビゲートするためのシステムであって、
第１の物体が前記モバイルデバイスのタッチ画面上でほぼ静止していることを示す、第１のユーザ入力を受信し、第２の物体が前記タッチ画面上を移動したことを示す、第２のユーザ入力を受信する、タッチレシーバと、
前記第２のユーザ入力に従って、前記仮想カメラの配向を変更するルックアラウンドモジュールと、
を備える、システム。
【請求項１０】
前記第１および第２の物体は、指である、請求項９に記載のシステム。
【請求項１１】
前記第２のユーザ入力は、前記第２の指の運動の方向を含む、請求項１０に記載のシステム。
【請求項１２】
前記ルックアラウンドモジュールは、前記方向が前記モバイルデバイスの左側または右側に向かっているとき、前記仮想カメラのヨーを変更する、請求項１０に記載のシステム。
【請求項１３】
前記ルックアラウンドモジュールは、前記方向が前記モバイルデバイスの頂部または底部に向かっているとき、前記仮想カメラのピッチを変更する、請求項１０に記載のシステム。
【請求項１４】
前記モバイルデバイスの加速度計から前記モバイルデバイスの配向を受信する加速度計と、
前記モバイルデバイスの前記配向に従って、前記仮想カメラの配向を変更するナビゲーションモジュールと、
をさらに備える、請求項１０に記載のシステム。
【請求項１５】
前記ルックアラウンドモジュールは、前記第１の指の位置が前記第２の指の位置より上にあるとき、前記仮想カメラの前記配向を変更し、
前記３次元環境内の標的場所を決定する標的モジュールと、
前記第１の指の前記位置が前記第２の指の前記位置より下にあるとき、前記第２のユーザ入力に従って、前記仮想カメラの位置を変更するヘリコプタモジュールと、をさらに備え、前記標的場所と前記仮想カメラの前記位置との間の距離は、ほぼ一定のままである、
請求項１０に記載のシステム。
【請求項１６】
タッチ画面を有するモバイルデバイス上の３次元環境内で仮想カメラをナビゲートするためのコンピュータ実装方法であって、
（ａ）第１の物体が前記モバイルデバイスのタッチ画面上でほぼ静止していることを示す、第１のユーザ入力を受信することと、
（ｂ）第２の物体が前記タッチ画面上を移動したことを示す、第２のユーザ入力を受信することと、
（ｃ）前記３次元環境内の標的場所を決定することと、
（ｄ）前記第２のユーザ入力に従って、前記仮想カメラの位置を変更することであって、前記標的場所と前記仮想カメラの前記位置との間の距離は、ほぼ一定のままである、こととを含む、
方法。
【請求項１７】
前記受信すること（ａ）は、第１の指が前記タッチ画面上でほぼ静止していることを示す、前記第１のユーザ入力を受信することを含み、
前記受信すること（ｂ）は、第２の指が前記タッチ画面上を移動したことを示す、前記第２のユーザ入力を受信することを含む、
請求項１６に記載の方法。
【請求項１８】
前記受信すること（ｂ）は、前記第２の指の運動の方向を受信することを含む、請求項１７に記載の方法。
【請求項１９】
前記変更すること（ｄ）は、前記方向が前記モバイルデバイスの左または右側に向かっているとき、前記標的から上向きに方向付けられたベクトルに対する方位角を変更することを含む、請求項１８に記載の方法。
【請求項２０】
前記変更すること（ｄ）は、前記方向が前記モバイルデバイスの頂部または底部に向かっているとき、前記標的から上向きに方向付けられたベクトルに対する傾斜を変更することを含む、請求項１８に記載の方法。
【請求項２１】
（ｅ）前記モバイルデバイスの加速度計から前記モバイルデバイスの配向を受信することと、
（ｆ）前記モバイルデバイスの前記第２の配向に従って、前記仮想カメラの位置を変更することであって、前記標的場所と前記仮想カメラの前記位置との間の距離は、ほぼ一定のままである、ことと、
をさらに含む、請求項１７に記載の方法。
【請求項２２】
前記変更すること（ｄ）は、前記第１の指の位置が、最初に前記第２の指の前記位置より上にあるとき、前記仮想カメラの前記位置を変更することを含み、
（ｅ）前記第１の指の前記位置が前記第２の指の前記位置より下にあるとき、前記第２のユーザ入力に従って、前記仮想カメラの配向を変更することをさらに含む、
請求項１７に記載の方法。
【請求項２３】
前記決定すること（ｃ）は、前記タッチ画面上の前記第１の指の位置に基づいて、前記標的場所を決定することを含む、請求項１７に記載の方法。
【請求項２４】
前記決定すること（ｃ）は、前記第１の指の前記位置がほぼ水平線に近いとき、前記標的場所をダンピングすることをさらに含む、請求項２３に記載の方法。
【請求項２５】
前記決定すること（ｃ）は、
（ｉ）前記仮想カメラの位置および前記指の位置に基づいて、射線を延長することと、
（ｉｉ）前記標的場所を決定するように、前記射線を前記３次元環境内の３次元モデルと交差させることと、
を含む、請求項１７に記載の方法。
【請求項２６】
（ｅ）前記第２の入力に基づいて、前記仮想カメラの移動速度を決定することをさらに含み、前記変更すること（ｄ）は、前記第２の物体の移動が完了した後、（ｅ）において決定される前記速度で前記仮想カメラの前記位置を変更することを含む、請求項１７に記載の方法。
【請求項２７】
（ｆ）前記仮想カメラを徐々に減速することをさらに含む、請求項２６に記載の方法。
【請求項２８】
モバイルデバイス上の３次元環境内で仮想カメラをナビゲートするためのシステムであって、
第１の物体が前記モバイルデバイスのタッチ画面上でほぼ静止していることを示す、第１のユーザ入力、および第２の物体が前記タッチ画面上を移動したことを示す、第２のユーザ入力を受信する、タッチレシーバと、
前記３次元環境内の標的場所を決定する標的モジュールと、
前記第２のユーザ入力に従って、前記仮想カメラの位置を変更するヘリコプタモジュールであって、前記標的場所と前記仮想カメラの前記位置との間の距離は、ほぼ一定のままである、ヘリコプタモジュールとを備える、
システム。
【請求項２９】
前記第１および第２の物体は、指である、請求項２８に記載のシステム。
【請求項３０】
前記第２のユーザ入力は、前記第２の指の運動の方向を含む、請求項２９に記載のシステム。
【請求項３１】
前記ヘリコプタモジュールは、前記方向が前記モバイルデバイスの左側または右側に向かっているとき、前記標的から上向きに方向付けられたベクトルに対する方位角を変更する、請求項３０に記載のシステム。
【請求項３２】
前記ヘリコプタモジュールは、前記方向が前記モバイルデバイスの頂部または底部に向かっているとき、前記標的から上向きに方向付けられたベクトルに対する傾斜を変更する、請求項３０に記載のシステム。
【請求項３３】
前記モバイルデバイスの配向を受信する加速度計と、
前記第２のユーザ入力に従って、前記仮想カメラの位置を変更するナビゲーションモジュールであって、前記標的場所と前記仮想カメラの前記位置との間の距離は、ほぼ一定のままである、ナビゲーションモジュールと、
をさらに備える、請求項２９に記載のシステム。
【請求項３４】
前記ヘリコプタモジュールは、前記第１の指の前記位置が前記第２の指の前記位置より上にあるとき、前記仮想カメラの前記位置を変更し、
前記第１の指の前記位置が前記第２の指の前記位置より下にあるとき、前記第２のユーザ入力に従って、前記仮想カメラの配向を変更するヘリコプタモジュールをさらに備える、
請求項２９に記載のシステム。
【請求項３５】
前記標的モジュールは、前記タッチ画面上の前記第１の指の位置に基づいて、前記標的場所を決定する、請求項２９に記載のシステム。
【請求項３６】
前記標的モジュールは、前記第１の指の前記位置が水平線に近いとき、前記標的場所をダンピングする、請求項３５に記載のシステム。
【請求項３７】
前記標的モジュールは、前記仮想カメラの位置および前記指の位置に基づいて、射線を延長し、前記標的場所を決定するように、前記射線を前記３次元環境と交差させる、請求項２９に記載のシステム。
【請求項３８】
タッチ画面を有するモバイルデバイス上の３次元環境内で仮想カメラをナビゲートするためのコンピュータ実装方法であって、
（ａ）第１の物体が前記モバイルデバイスのタッチ画面上でほぼ静止していることを示す、第１のユーザ入力を受信することと、
（ｂ）第２の物体が前記タッチ画面上を移動したことを示す、第２のユーザ入力を受信することと、
（ｃ）前記３次元環境内の標的場所を決定することと、
（ｄ）前記標的場所から上向きに方向付けられたベクトルに対する前記仮想カメラの傾斜値を変更することと、
（ｅ）前記標的場所から上向きに方向付けられたベクトルに対する前記仮想カメラの方位角値を変更することと、
を含む、方法。
【請求項３９】
タッチ画面を有するモバイルデバイス上の３次元環境内で仮想カメラをナビゲートするためのコンピュータ実装方法であって、
（ａ）第１の物体がモバイルデバイスのタッチ画面上の第１の点に触れたことを示す、第１のユーザ入力を受信することと、
（ｂ）前記第１の物体が前記画面上の前記第１の点に触れた後、第２の物体が、前記タッチ画面上の前記第２の点に触れたことを示す、第２のユーザ入力を受信することと、
（ｃ）前記第２の点に対する前記第１の点の前記位置に基づいて、複数のナビゲーションモードからナビゲーションモードを決定することと、を含む、方法。
【請求項４０】
前記決定すること（ｃ）は、前記複数のナビゲーションモードから前記ナビゲーションモードを決定することを含み、前記複数のナビゲーションモードは、前記仮想カメラの位置を変更する第１のナビゲーションモード、および前記仮想カメラの配向を変更する第２のナビゲーションモードを含む、請求項３９に記載の方法。
【請求項４１】
タッチ画面を有するモバイルデバイス上の３次元環境内で仮想カメラをナビゲートするためのコンピュータ実装方法であって、
（ａ）第１の物体がモバイルデバイスのタッチ画面上の第１の点に触れたことを示す、第１のユーザ入力を受信することと、
（ｂ）前記第１の物体が前記画面上の前記第１の点に触れた後、第２の物体が、前記タッチ画面上の前記第２の点に触れたことを示す、第２のユーザ入力を受信することと、
（ｃ）前記第２の点に対する前記第１の点の前記位置に基づいて、複数のナビゲーションモードからナビゲーションモードを決定することと、
を含む、方法。
【請求項４２】
タッチ画面を有するモバイルデバイス上の３次元環境内で仮想カメラをナビゲートするためのコンピュータ実装方法であって、
（ａ）２つの物体がモバイルデバイスの前記タッチ画面に触れたこと、および前記２つの物体が前記タッチ画面上をほぼ同じ方向にほぼ同じ距離を移動したことを示す、ユーザ入力を受信することと、
（ｂ）前記タッチ画面上の前記２つの物体の運動を表す、運動データを決定することと、
（ｃ）（ｂ）において決定される前記運動データ従って、前記仮想カメラの配向を変更することと、
を含む、方法。
【請求項４３】
前記決定すること（ｂ）は、前記タッチ画面上の前記２つの物体の運動を表すベクトルを決定することを含む、請求項４２に記載の方法。
【請求項４４】
前記変更すること（ｃ）は、
（ｉ）前記モバイルデバイスの左右軸上の前記ベクトルの構成要素に基づいて、前記仮想カメラのヨーを変更することを含む、請求項４３に記載の方法。
【請求項４５】
前記変更すること（ｃ）は、
（ｉｉ）前記モバイルデバイスの上下軸上の前記ベクトルの構成要素に基づいて、前記仮想カメラのピッチを変更することをさらに含む、請求項４４に記載の方法。
【請求項４６】
（ｄ）前記モバイルデバイスの配向に基づいて、前記仮想カメラのピッチを変更することをさらに含む、請求項４４に記載の方法。
【請求項４７】
タッチ画面を有するモバイルデバイス上の３次元環境内で仮想カメラをナビゲートするためのコンピュータ実装方法であって、
（ａ）２つの物体が前記モバイルデバイスの表示に触れたこと、および前記２つの物体が相互に移動したことを示すユーザ入力を受信することと、
（ｂ）前記ユーザ入力に基づいて、前記物体が相互に対して移動した速度を決定することと、
（ｃ）前記物体が相互から離れて移動した前記物体の前記速度に基づいて、前記仮想カメラの速度を決定することと、
（ｄ）（ｃ）において決定される前記仮想カメラの前記速度に従って、前記３次元環境内で前記仮想カメラを移動させることと、
を含む、方法。
【請求項４８】
前記受信すること（ａ）は、２つの指が前記表示に触れたこと、および前記２つの指が相互に対して移動したことを示す、前記ユーザ入力を受信することを含む、請求項４７に記載の方法。
【請求項４９】
（ｅ）前記仮想カメラを徐々に減速することをさらに含む、請求項４８に記載の方法。
【請求項５０】
前記減速すること（ｅ）は、仮想カメラを減速するように、空気抵抗をシミュレートすることを含む、請求項４９に記載の方法。
【請求項５１】
前記移動させること（ｄ）は、前記仮想カメラを平行移動させることを含む、請求項４９に記載の方法。
【請求項５２】
前記移動させること（ｄ）は、前記仮想カメラをズームすることを含む、請求項４８に記載の方法。
【請求項５３】
前記３次元環境は、地球の３次元モデルを含み、前記移動させること（ｄ）は、地球の前記３次元モデルを回転させることを含む、請求項５２に記載の方法。
【請求項５４】
（ｅ）前記２つの物体が相互に対して回転したことを示す、ユーザ入力を受信することと、
（ｆ）（ｅ）において受信される前記ユーザ入力に基づいて、前記物体が前記モバイルデバイスに対して回転した角度を決定することと、
（ｇ）（ｆ）において決定される前記角度に従って、前記仮想カメラの前記位置または配向を変更することと、
をさらに含む、請求項４７に記載の方法。
【請求項５５】
（ｈ）標的場所を決定することをさらに含み、
前記変更すること（ｇ）は、前記仮想カメラの位置と前記標的場所との間の方位角が、（ｆ）において決定される前記角度に従って変化するように、前記仮想カメラを移動させることを含む、
請求項５４に記載の方法。
【請求項５６】
モバイルデバイス上の３次元環境内で仮想カメラをナビゲートするためのシステムであって、
２つの物体が前記モバイルデバイスの表示に触れたこと、および前記２つの物体が相互に対して移動したことを示す、ユーザ入力を受信するタッチレシーバと、
前記ユーザ入力に基づいて前記物体の速度を決定し、前記物体の前記速度に基づいて前記仮想カメラの速度を決定し、前記仮想カメラの前記速度に従って、前記３次元環境に対して前記仮想カメラを移動させる、運動量モジュールと、
を備える、システム。
【請求項５７】
前記２つの物体は、指である、請求項５６に記載のシステム。
【請求項５８】
前記運動量モジュールは、前記仮想カメラを徐々に減速する、請求項５７に記載のシステム。
【請求項５９】
前記運動量モジュールは、仮想カメラを減速するように、空気抵抗をシミュレートする、請求項５８に記載のシステム。
【請求項６０】
運動量モジュールは、前記仮想カメラを平行移動させる、請求項５７に記載のシステム。
【請求項６１】
前記運動量モジュールは、前記仮想カメラをズームする、請求項５７に記載のシステム。
【請求項６２】
前記３次元環境は、地球の３次元モデルを含み、前記運動量モジュールは、地球の前記３次元モデルを回転させる、請求項５７に記載のシステム。
【請求項６３】
前記タッチレシーバは、前記２つの物体が相互に回転したことを示すユーザ入力を受信し、
前記２つの物体が回転したことを示す前記ユーザ入力に基づいて、前記物体が前記モバイルデバイスに対して回転した角度を決定し、前記物体が回転した前記角度に従って、前記仮想カメラの前記位置または配向を変更する、ヘリコプタモジュールをさらに備える、
請求項５６に記載のシステム。
【請求項６４】
標的場所を決定する標的モジュールをさらに備え、
前記ヘリコプタモジュールは、前記仮想カメラの位置と前記標的場所との間の方位角が、（ｆ）において決定される前記角度に従って変化するように、前記仮想カメラを移動させる、
請求項６３に記載のシステム。
【請求項６５】
タッチ画面を有するモバイルデバイス上の３次元環境内で仮想カメラをナビゲートするためのコンピュータ実装方法であって、
（ａ）ユーザが前記モバイルデバイスの表示上の位置を選択したことを示す、ユーザ入力を受信することと、
（ｂ）前記ユーザによって選択される前記モバイルデバイスの前記表示の前記位置に基づいて、標的場所を決定することと、
（ｃ）前記３次元環境内の前記仮想カメラを前記標的場所に向かって移動させることと、
（ｄ）前記３次元環境内の前記仮想カメラを前記標的場所に向かって回転させることと、
を含む、方法。
【請求項６６】
前記受信すること（ａ）は、前記ユーザが前記モバイルデバイスの前記表示上の前記位置をダブルタップしたことを示す、ユーザ入力を受信することを含む、請求項６５に記載の方法。
【請求項６７】
前記回転させること（ｄ）は、前記標的場所が前記表示のほぼ中心に現れるように、前記仮想カメラを配向することを含む、請求項６５に記載の方法。
【請求項６８】
前記回転させること（ｄ）は、前記仮想カメラのヨーを変更することを含む、請求項６５に記載の方法。
【請求項６９】
前記決定すること（ｂ）は、前記ユーザによって選択される前記位置が水平線に近いとき、前記標的場所をダンピングすることをさらに含む、請求項６５に記載の方法。
【請求項７０】
前記決定すること（ｂ）は、
（ｉ）前記仮想カメラの位置および前記指の位置に基づいて、射線を延長することと、
（ｉｉ）前記標的場所を決定するように、前記射線を前記３次元環境と交差させることと、
を含む、請求項６５に記載の方法。
【請求項７１】
前記移動させること（ｃ）は、仮想カメラを移動させながら、前記仮想カメラのロールを変更することを含む、請求項６５に記載の方法。
【請求項７２】
モバイルデバイス上の３次元環境内で仮想カメラをナビゲートするためのシステムであって、
ユーザが前記モバイルデバイスの表示上の位置を選択したことを示す、ユーザ入力を受信するタッチレシーバと、
前記ユーザによって選択される前記モバイルデバイスの前記表示の前記位置に基づいて、標的場所を決定する標的モジュールと、
前記標的場所に向かって、前記３次元環境内の前記仮想カメラを移動させ、前記標的場所に向かって、前記３次元環境内の前記仮想カメラを回転させる、角度ジャンプモジュールと、
を備える、システム。
【請求項７３】
前記ユーザ入力は、前記ユーザが前記モバイルデバイスの前記表示上の前記位置をダブルタップしたことを示す、請求項７２に記載のシステム。
【請求項７４】
前記角度ジャンプモジュールは、前記標的場所が前記表示のほぼ中心に現れるように、前記仮想カメラを配向する、請求項７２に記載のシステム。
【請求項７５】
前記角度ジャンプモジュールは、前記仮想カメラのヨーを変更する、請求項７２に記載のシステム。
【請求項７６】
前記標的モジュールは、前記ユーザによって選択される前記表示の前記位置に基づいて、前記標的場所を決定する、請求項７２に記載のシステム。
【請求項７７】
前記標的モジュールは、前記仮想カメラの位置および前記指の位置に基づいて、射線を延長し、前記標的場所を決定するように、前記射線を前記３次元環境と交差させる、請求項７２に記載のシステム。
【請求項７８】
前記標的モジュールは、前記仮想カメラの位置および前記指の位置に基づいて、射線を延長し、前記標的場所を決定するように、前記射線を前記３次元環境と交差させる、請求項７２に記載のシステム。
【請求項７９】
前記角度ジャンプモジュールは、仮想カメラの運動中に前記仮想カメラのロールを変更する、請求項７２に記載のシステム。
【請求項８０】
タッチ画面を有するモバイルデバイス上の３次元環境内で仮想カメラをナビゲートするためのコンピュータ実装方法であって、
（ａ）物体が前記モバイルデバイスの画面上の第１の点に触れたこと、および前記物体が前記タッチ画面上の第２の点にドラッグされたことを示すユーザ入力を受信することと、
（ｂ）前記タッチ画面上の前記第１の点に基づいて、前記３次元環境内の第１の標的場所を決定することと、
（ｃ）前記タッチ画面上の前記第２の点に基づいて、前記３次元環境内の第２の標的場所を決定することと、
（ｄ）前記第１および第２の標的場所に従って、前記仮想カメラに対して前記３次元環境内の３次元モデルを移動させることと、
を含む、方法。
【請求項８１】
前記決定すること（ｂ）は、
（ｉ）前記仮想カメラの位置および前記タッチ画面上の前記第１の位置に基づいて、射線を延長することと、
（ｉｉ）前記第１の標的場所を決定するように、前記射線を前記３次元環境内の３次元モデルと交差させることと、を含む、請求項８０に記載の方法。
【請求項８２】
（ｅ）前記第１の標的場所に基づいて、仮想表面を決定することをさらに含む、請求項８１に記載の方法。
【請求項８３】
前記決定すること（ｃ）は、
（ｉ）前記仮想カメラの位置および前記タッチ画面上の前記第２の位置に基づいて、射線を延長することと、
（ｉｉ）前記第２の標的場所を決定するように、前記射線を前記３次元環境と交差させることと、
を含む、請求項８２に記載の方法。
【請求項８４】
前記決定すること（ｅ）は、前記仮想表面を決定するように、前記第１の標的場所に接線し、かつ前記３次元モデルの中心に中心がある、球体を作図することを含む、請求項８３に記載の方法。
【請求項８５】
前記移動させること（ｄ）は、前記３次元モデルを回転させることを含む、請求項８０に記載の方法。
【請求項８６】
（ｅ）回転軸を決定するように、前記第１および第２の標的場所のクロス積を決定することと、
（ｅ）回転角度を決定するように、前記第１および第２の標的場所のドット積を決定することと、をさらに含む、
請求項８５に記載の方法。
【請求項８７】
（ｇ）前記回転軸および前記回転角度に基づいて、回転行列を決定することをさらに含み、
前記移動させること（ｄ）は、前記回転行列に従って、前記３次元モデルを回転させることをさらに含む、請求項８６に記載の方法。
【請求項８８】
モバイルデバイス上の３次元環境内で仮想カメラをナビゲートするためのシステムであって、
物体が前記モバイルデバイスのタッチ画面上の第１の点に触れたこと、および前記物体が前記タッチ画面上の第２の点にドラッグされたことを示す、ユーザ入力を受信するタッチレシーバと、
前記タッチ画面上の前記第１の点に基づいて前記３次元環境内の第１の標的場所を決定し、前記タッチ画面上の前記第２の点に基づいて前記３次元環境内の第２の標的場所を決定する、標的モジュールと、
前記第１および第２の標的場所に従って、前記仮想カメラに対して前記３次元環境内の３次元モデルを移動させるパンモジュールと、
を備える、システム。
【請求項８９】
前記標的モジュールは、前記仮想カメラの位置および前記タッチ画面上の前記第１の点に基づいて、射線を延長し、前記第１の標的場所を決定するように、前記射線を３次元モデルと交差させる、請求項８８に記載のシステム。
【請求項９０】
前記パンモジュールは、前記第１の標的場所に基づいて、仮想表面を決定する、請求項８９に記載のシステム。
【請求項９１】
前記標的モジュールは、前記仮想カメラの位置および前記タッチ画面上の前記第２の点に基づいて、射線を延長し、前記第２の標的場所を決定するように、前記射線を前記仮想表面と交差させる、請求項９０に記載のシステム。
【請求項９２】
前記仮想表面は、前記第１の標的場所に接線し、かつ前記３次元モデルの中心に中心がある、球体である、請求項９１に記載のシステム。
【請求項９３】
前記パンモジュールは、前記３次元モデルを回転させる、請求項９２に記載のシステム。
【請求項９４】
前記パンモジュールは、回転軸を決定するように、前記第１および第２の標的場所のクロス積を決定し、回転角度を決定するように、前記第１および第２の標的場所のドット積を決定する、請求項９３に記載のシステム。
【請求項９５】
前記パンモジュールは、前記回転軸および前記回転角度に基づいて、回転行列を決定し、前記回転行列に従って、前記３次元モデルを回転させる、請求項９４に記載のシステム。
【請求項９６】
タッチ画面を有するモバイルデバイス上の３次元環境内で仮想カメラをナビゲートするためのコンピュータ実装方法であって、
（ａ）物体が前記モバイルデバイスの画面上の第１の点に触れたこと、および前記物体が前記タッチ画面上の第２の点にドラッグされたことを示す、ユーザ入力を受信することと、
（ｂ）前記モバイルデバイスの配向を受信することと、
（ｃ）前記モバイルデバイスの前記配向に基づいて、複数のパンニングモードからパンニングモードを決定することと、
を含む、方法。
【請求項９７】
前記決定すること（ｃ）は、前記モバイルデバイスの前記配向が下向きに面しているとき、第１のパンニングモードを選択することと、前記モバイルデバイスの前記配向が水平線に向かって面しているとき、第２のパンニングモードを選択することとを含む、請求項９６に記載の方法。
【請求項９８】
（ｄ）前記第２のパンニングモードが（ｃ）において決定されるとき、前記物体を辿るように３次元モデルを移動させることをさらに含む、請求項９７に記載の方法。
【請求項９９】
前記第１のパンニングモードが（ｃ）において決定されるとき、前記タッチ画面上で前記物体の移動を上方または下方に辿るように３次元モデルを移動させることと、
（ｅ）前記第１のパンニングモードが（ｃ）において決定されるとき、前記タッチ画面の左側または右側の前記物体の移動に従って、前記仮想カメラの配向を変更することと、
をさらに含む、請求項９８に記載の方法。
【請求項１００】
モバイルデバイス上の３次元環境内で仮想カメラをナビゲートするためのコンピュータ実装方法であって、
（ａ）前記モバイルデバイスの配向情報を受信することと、
（ｂ）前記配向情報に従って、前記３次元環境内で前記仮想カメラを配向することと、を含む、方法。
【請求項１０１】
前記受信すること（ａ）は、重力に対する前記モバイルデバイスの配向を受信することを含む、請求項１００に記載の方法。
【請求項１０２】
前記配向すること（ｂ）は、重力に対する前記モバイルデバイスの前記配向に従って、仮想カメラのピッチを変更することを含む、請求項１０１に記載の方法。
【請求項１０３】
前記受信すること（ａ）は、前記モバイルデバイスの機首方位を受信することを含み、前記配向すること（ｂ）は、前記モバイルデバイスの前記機首方位に従って、仮想カメラのヨーを変更することを含む、請求項１００に記載の方法。
【請求項１０４】
（ｃ）前記モバイルデバイスの場所を受信することと、
（ｄ）前記モバイルデバイスの前記場所に従って、前記仮想カメラを位置付けることと、を含む、請求項１００に記載の方法。
【請求項１０５】
（ｅ）前記モバイルデバイスを追跡するようにこと（ａ）から（ｄ）を繰り返すことをさらに含む、請求項１０４に記載の方法。
【請求項１０６】
前記３次元環境は、地球の３次元モデルを含む、請求項１０５に記載の方法。
【請求項１０７】
モバイルデバイス上の３次元環境内で仮想カメラをナビゲートするためのシステムであって、
前記モバイルデバイスの配向情報を受信するセンサと、
前記配向情報に従って、前記３次元環境内で前記仮想カメラを配向するナビゲーションモジュールと、
を備える、システム。
【請求項１０８】
前記センサは、重力に対する前記モバイルデバイスの配向を受信する、請求項１０７に記載のシステム。
【請求項１０９】
前記ナビゲーションモデルは、重力に対する前記モバイルデバイスの前記配向に従って、仮想カメラのピッチを変更する、請求項１０８に記載のシステム。
【請求項１１０】
前記センサは、前記モバイルデバイスの機首方位を受信し、前記ナビゲーションモデルは、前記モバイルデバイスの前記機首方位に従って、仮想カメラのヨーを変更する、請求項１０７に記載のシステム。
【請求項１１１】
前記モバイルデバイスの場所を受信する、場所レシーバをさらに備え、
前記ナビゲーションモジュールは、前記モバイルデバイスの前記場所に従って、前記仮想カメラを位置付ける、
請求項１０７に記載のシステム。
【請求項１１２】
前記３次元環境は、地球の３次元モデルを含む、請求項１１１に記載のシステム。
【請求項１１３】
前記ナビゲーションモジュールは、前記地球の前記３次元モデル内で前記モバイルデバイスを追跡する、請求項１１２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の分野）
本発明は、概して、３次元環境内でのナビゲーションに関する。
【背景技術】
【０００２】
（背景技術）
３次元データを表示するための３次元環境内をナビゲーションするためのシステムが存在する。３次元環境として、どの３次元データを表示するかを定義する仮想カメラが挙げられる。仮想カメラは、その位置および配向に従って視点を有する。仮想カメラの視点を変更することによって、ユーザは、３次元環境内をナビゲートすることが可能である。
【０００３】
携帯電話、パーソナルデジタルアシスタント（ＰＤＡ）、携帯用ナビゲーションデバイス（ＰＮＤ）および携帯ゲーム機等のモバイルデバイスは、向上した演算能力を備えて作製されている。多数のモバイルデバイスは、インターネット等のネットワーク１つ以上にアクセスすることができる。また、Ａｐｐｌｅ  Ｉｎｃ．から販売されているＩＰＨＯＮＥデバイス等のいくつかのモバイルデバイスは、ＧＰＳセンサ、加速度計、およびタッチ画面からの入力を受理する。向上した演算能力によって、モバイルデバイス上で広範囲のソフトウェアアプリケーションを稼動することが可能になっている。向上した演算能力にも関わらず、多数の携帯モバイルデバイスは、概して、４インチ未満の小型ディスプレイを有する。小型のディスプレイによって、ユーザがモバイルデバイス上の３次元環境内をナビゲートすることを困難にしている場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
モバイルデバイス上の３次元環境内でのナビゲーションを改善する方法およびシステムが必要とされる。
【課題を解決するための手段】
【０００５】
（簡単な要旨）
本明細書に開示される実施形態は、モバイルデバイス上の３次元環境内でナビゲートするための方法およびシステムに関する。いくつかの実施形態は、モバイルデバイスの配向を使用する、３次元環境のナビゲーションに関する。いくつかの実施形態は、モバイルデバイス上で仮想カメラを移動させるためのユーザインターフェースジェスチャに関する。いくつかの実施形態は、ピンチング、回転、ダブルタッチズーム等のモバイルデバイス上で仮想カメラを移動させるためのユーザインターフェースジェスチャに関する。いくつかの実施形態は、モバイルデバイス上の３次元環境内のパンニングに関する。最後に、いくつかの実施形態は、モバイルデバイス上の３次元環境内のアンカーナビゲーションに関する。
【０００６】
本発明のさらなる実施形態、特長、および利点、ならびに本発明の多様な実施形態の構造および操作は、添付の図面を参照して以下に詳細を説明する。
【図面の簡単な説明】
【０００７】
本明細書に組み入れられ、仕様の一部を形成する添付の図面は、本発明を図説し、さらに、詳細説明と併せて本発明の原則を説明し、当業者が本発明を作製および使用することを可能にすることを目的とする。
【図１】図１は、３次元環境内をナビゲートするモバイルデバイスを示す図である。
【図２】図２は、３次元環境内をナビゲートする仮想カメラを示す図である。
【図３】図３は、３次元環境内をナビゲートするように、ユーザインターフェースジェスチャを受理するシステムを示す図である。
【図４】図４は、角度ジャンプナビゲーションのための方法を示すフローチャートである。
【図５】図５は、モバイルデバイス上の角度ジャンプナビゲーションを示す図である。
【図６Ａ】図６Ａ〜Ｂは、表示上で選択される位置に従い、標的場所を決定するステップを示す図である。
【図６Ｂ】図６Ａ〜Ｂは、表示上で選択される位置に従い、標的場所を決定するステップを示す図である。
【図７】図７は、角度ジャンプ軌道を示す図である。
【図８】図８は、アンカールックアラウンドナビゲーションのための方法を示すフローチャートである。
【図９Ａ】図９Ａ〜Ｂは、モバイルデバイス上のアンカールックアラウンドナビゲーションを示す図である。
【図９Ｂ】図９Ａ〜Ｂは、モバイルデバイス上のアンカールックアラウンドナビゲーションを示す図である。
【図１０】図１０は、アンカーヘリコプタナビゲーションのための方法を示すフローチャートである。
【図１１Ａ】図１１Ａ〜Ｂは、モバイルデバイス上のアンカーヘリコプタナビゲーションを示す図である。
【図１１Ｂ】図１１Ａ〜Ｂは、モバイルデバイス上のアンカーヘリコプタナビゲーションを示す図である。
【図１２】図１２は、モバイルデバイス上の３次元環境内で周囲を見回すための２つの指のジェスチャを示す図である。
【図１３】図１３は、モバイルデバイスの配向に基づいて、仮想カメラをナビゲートするための方法を示すフローチャートである。
【図１４】図１４Ａ〜Ｃは、モバイルデバイスの配向に基づいて、仮想カメラをナビゲートするステップを示す図である。
【図１５】図１５は、ピンチ運動量を使用して、仮想カメラをナビゲートするための方法を示すフローチャートである。
【図１６Ａ】図１６Ａ〜Ｃは、ピンチ運動量を使用して、モバイルデバイス上の３次元環境内で仮想カメラをナビゲートするステップを示す図である。
【図１６Ｂ】図１６Ａ〜Ｃは、ピンチ運動量を使用して、モバイルデバイス上の３次元環境内で仮想カメラをナビゲートするステップを示す図である。
【図１６Ｃ】図１６Ａ〜Ｃは、ピンチ運動量を使用して、モバイルデバイス上の３次元環境内で仮想カメラをナビゲートするステップを示す図である。
【図１７】図１７は、モバイルデバイス上でパンニングするための方法を示すフローチャートである。
【図１８Ａ】図１８Ａ〜Ｂは、モバイルデバイス上の３次元環境内をパンニングするステップを示す図である。
【図１８Ｂ】図１８Ａ〜Ｂは、モバイルデバイス上の３次元環境内をパンニングするステップを示す図である。
【図１９】図１９Ａ〜Ｃは、モバイルデバイス上のナビゲーション内で使用されてもよい、異なるパンモードを示す図である。
【０００８】
要素が最初に示される図面は、典型的に、対応する参照番号の左端の数字によって示される。図面において、同様な参照番号は、同一または機能的に類似の要素を示す場合がある。
【発明を実施するための形態】
【０００９】
（実施形態の詳細な説明）
モバイルデバイス上の３次元環境内でのナビゲーションのための本発明の実施形態を提供する。以下の実施形態の詳細説明において、「一実施形態」、「実施形態」、「例示的実施形態」等への参照は、説明される実施形態が、特定の特長、構造、または特性を含むことができるが、あらゆる実施形態が、必ずしも、特定の特長、構造、または特性を含まなくてもよいことを示す。さらに、このような語句は、必ずしも同じ実施形態を参照していない。その上、特定の特長、構造、または特性が、実施形態に関係して説明されるとき、明示的に説明されているかどうかに関わらず、このような特長、構造、または特性を他の実施形態に関係して達成することは、当業者の知識の範囲内であると考えられる。
【００１０】
この詳細説明は項に分かれる。第１の項では、モバイルデバイス上の３次元環境内のナビゲーションの導入を提供する。第２の項では、モバイルデバイス上の３次元環境内でナビゲートするためのユーザインターフェースジェスチャを受理するシステムを説明する。次のいくつかの項では、ユーザインターフェースジェスチャを詳細に説明する。第３の項では、角度ズームユーザインターフェースジェスチャを説明する。第４の項では、２つのアンカーナビゲーションジェスチャを説明する。第５の項では、２重の指のルックアラウンドジェスチャを説明する。第６の項では、加速度計ナビゲーションを説明する。第７の項では、ピッチ運動量、ならびに２本の指のタッチおよび回転ジェスチャを説明する。最後に、第８の項では、モバイルデバイス上の３次元環境内でのパンニングを説明する。
【００１１】
（導入）
この項では、モバイルデバイス上の３次元環境内でのナビゲーションの概要を提供する。図１は、３次元環境内をナビゲートすることが可能なモバイルデバイス１００を示す図である。実施形態において、モバイルデバイス１００は、ＰＤＡ、携帯電話、携帯ゲーム機、または当業者には周知の他のハンドヘルドモバイルデバイスであり得る。実施例において、モバイルデバイス１００は、Ａｐｐｌｅ  Ｉｎｃ．から販売されているＩＰＨＯＮＥデバイスであってもよい。別の実施例において、モバイルデバイス１００は、Ｇｏｏｇｌｅ  Ｉｎｃ．から入手可能なＡＮＤＲＯＩＤプラットフォームを稼動しているデバイスであってもよい。他の実施形態において、モバイルデバイス１００は、タブレットコンピュータ、ノートパソコン、またはハンドヘルドモバイルデバイスより大型であるが、依然としてユーザによって容易に携帯される他のモバイルデバイスであってもよい。これらの例は、説明のためであって、本発明を制限することを意味しない。
【００１２】
モバイルデバイス１００は、ユーザからのタッチ入力を受理する、タッチ画面を有することができる。ユーザは、ユーザの指、スタイラス、または当業者には周知の他の手段で画面に触れることができる。モバイルデバイス１００はまた、モバイルデバイスが加速するときを検出、またはモバイルデバイス１００の重力に対する配向を検出する、加速度計を有することもできる。モバイルデバイス１００の配向を決定するために他のデバイスが使用されてもよく、本発明は加速度計に限定されることを意味しないことに注意されたい。さらに、１つ以上の加速度計が使用されてもよい。さらに、モバイルデバイス１００は、ＧＰＳ受信機等の場所受信機を有することができ、インターネット等のネットワーク１つ以上に接続されてもよい。
【００１３】
モバイルデバイス１００は、表示１０２を有する。前述のように、モバイルデバイス１００は、ユーザが表示１０２に触れるときにタッチ入力を受理することができる。さらに、表示１０２は、ユーザに画像を出力することができる。実施例において、モバイルデバイス１００は、３次元環境を描画することができ、仮想カメラの視点から、表示１０２内でユーザに３次元環境を表示することができる。
【００１４】
モバイルデバイス１００は、ユーザに３次元環境内で仮想カメラをナビゲートすることを可能にする。実施例において、３次元環境は、地球の３次元モデル等の３次元モデルを含むことができる。地球の３次元モデルは、３次元地形にマッピングされる衛星画像テクスチャを含むことができる。地球の３次元モデルは、建物のモデルおよび他の位置情報も含むことができる。この例は、説明に過ぎず、本発明を制限することを意味しない。
【００１５】
ユーザ入力に応答して、モバイルデバイス１００は、仮想カメラの視点を変更することができる。仮想カメラの新しい視点に基づいて、モバイルデバイス１００は、表示１０２内に新しい画像を描画することができる。仮想カメラの視点を変更し、新しい画像をもたらす、多様なユーザインターフェースジェスチャについて以下に詳細を説明する。
【００１６】
図２は、３次元環境内の仮想カメラを示す図２００を示す。図２００は、仮想カメラ２０２を含む。仮想カメラ２０２は、３次元地形２１０を視察するように方向付けられる。３次元地形２１０は、地球の３次元モデル等のより大型の３次元モデルの一部であってもよい。
【００１７】
前述のように、ユーザ入力によって、図１のモバイルデバイス１００等のモバイルデバイスは、仮想カメラ２０２を新しい場所へ移動させることができる。さらに、ユーザ入力は、仮想カメラ２０２に、ピッチ、ヨー、ロール等の配向を変更させることができる。
【００１８】
この様式において、モバイルデバイス上のユーザインターフェースジェスチャは、仮想カメラにモバイルデバイス上の３次元環境内をナビゲートさせる。ユーザインターフェースジェスチャの多様なシステム構成要素および詳細について、以下に説明する。
【００１９】
（システム）
本項では、ユーザインターフェースジェスチャに応答して、モバイルデバイス上の３次元環境内で仮想カメラをナビゲートするシステムを説明する。図３は、モバイルデバイス上の３次元環境内でのナビゲーションのために、ユーザインターフェースジェスチャを受理するシステム３００を示す図である。
【００２０】
システム３００は、ユーザ相互作用モジュール３１０およびレンダラモジュール３２２を有するクライアント３０２を含む。ユーザ相互作用モジュール３１０は、運動モデル３１４を含む。概して、クライアント３０２は次のように操作する。ユーザ相互作用モジュール３１０は、ユーザが視察を希望する場所に関するユーザ入力を受信し、運動モデル３１４を介して、仮想カメラを定義する表示仕様を作成する。レンダラモジュール３２２は、表示仕様を使用して、どのデータが描画されるかを決定し、データを描画する。レンダラモジュール３２２が、システム３００が有さないデータを描画することが必要な場合、システム３００は、ネットワークインターフェース３５０を使用して、インターネット等のネットワーク１つ以上から、追加データを求めるリクエストをサーバに送信する。
【００２１】
運動モデル３１４は、表示仕様を作成する。表示仕様は、視錐台として周知の、３次元空間内の仮想カメラの可視ボリューム、および３次元環境内の視錐台の位置および配向を定義する。実施形態において、視錐台は、角錐台の形状である。視錐台は、表示環境に依存して変化し得る、最小および最大の視界距離を有する。このため、表示仕様を変更すると、仮想カメラの可視ボリュームにカリングされる地理データが変化する。カリングされる地理データは、レンダラモジュール３２２によって描画される。
【００２２】
表示仕様は、仮想カメラの３つの主なパラメータセットである、カメラ三脚、カメラレンズ、およびカメラ焦点機能を指定することができる。カメラ三脚パラメータセットは、仮想カメラの位置（Ｘ、Ｙ、Ｘ座標）、仮想カメラがデフォルトの配向に対して配向される向き、ピッチ（例えば、水平？下向き？上向き？その間？）、およびヨー／ロール（例えば、水平？右回り？左回り？その間）を指定する。レンズパラメータセットは、水平方向の視野（例えば、望遠？通常の人間の眼‐約５５度？または広角？）、および縦方向の視野（例えば、望遠、通常の人間の眼‐約５５度？または広角？）を指定する。焦点パラメータセットは、近位クリップ平面までの距離（例えば、仮想カメラが見ることが可能な「レンズ」までの距離、これより近接の物体は描画されない）、および遠位クリップ平面までの距離（例えば、仮想カメラが見ることが可能なレンズからの距離、これより遠い物体は描画されない）を指定する。本明細書に使用されるように、「仮想カメラを移動させるステップ」は、仮想カメラをズームするステップ、ならびに仮想カメラを平行移動させるステップを含む。
【００２３】
表示仕様を作成するために、ユーザ相互作用モジュール３１０は、ユーザ入力を受信する。クライアント３０２は、入力を受信するための多様なメカニズムを有する。例えば、クライアント３０２は、タッチレシーバ３４０、加速度計３４２、および場所モジュール３４４を含むセンサを使用して入力を受信することができる。センサの各々は次にそれぞれを説明する。
【００２４】
タッチレシーバ３４０は、タッチ画面から入力を受理する、任意の種類のタッチレシーバであってよい。タッチレシーバ３４０は、図１の表示１０２等の表示上でタッチ入力を受信することができる。受信されるタッチ入力は、画面上のＸおよびＹ座標によって定義されるようにユーザが触れた位置を含むことができる。ユーザは、指、スタイラス、または他の物体で画面に触れることができる。タッチレシーバ３４０は、例えば、ユーザが画面上の複数の場所を選択する場合、複数のタッチを同時に受信することが可能であってもよい。画面は、抵抗性、容量性、赤外線、弾性表面波、歪みゲージ、光学的画像、音響パルス認識、漏れ全反射、および拡散レーザ画像技術を含むが、これらに限定されない、当分野では周知の任意の技術を使用してタッチを検出することができる。
【００２５】
加速度計３４２は、当業者には周知の任意の種類の加速度計であってよい。加速度計３４２は、モバイルデバイスが移動するときを検出することが可能であってもよい。加速度計３４２はまた、重力に対するモバイルデバイスの配向を検出することが可能であってもよい。
【００２６】
場所レシーバ３４４は、モバイルデバイスの場所を検出する。場所レシーバ３４４は、例えば、ＧＰＳレシーバから、モバイルデバイスの場所を検出することができる。ＧＰＳレシーバは、ＧＰＳ衛星からの信号を使用して、モバイルデバイスの場所を決定する。他の実施例において、場所レシーバ３４４は、例えば、近隣の携帯電話基地局および無線ランのホットスポットから情報を収集することによって、モバイルデバイスの場所を検出することができる。場所レシーバ３４４は、モバイルデバイスの場所を迅速かつ正確に決定するように、携帯電話基地局、無線ランのホットスポット、およびＧＰＳ衛星からの情報を合わせて使用することができる。
【００２７】
前述のように、ユーザ相互作用モジュール３１０は、表示仕様によって定義されるように仮想カメラの視点を変更する多様なモジュールを含む。ユーザ相互作用モジュール３１０は、運動量モジュール３１６、角度ジャンプモジュール３１２、ナビゲーションモジュール３１８、アンカーモジュール３２０、パンモジュール３４８、および標的モジュール３４６を含む。これらのモジュールの各々について以下に説明する。
【００２８】
ユーザ相互作用モジュール３１０内のモジュールは、標的場所に従って、仮想カメラの視点を変更することができる。標的場所は、標的モジュール３４６によって決定されてもよい。実施形態において、標的モジュール３４６は、仮想カメラの焦点から射線を延長することができる。標的場所は、射線と、地球の３次元モデル等の３次元モデルとの交差点であってもよい。射線は、ユーザによって選択される、表示上の位置に従って延長されてもよい。代替として、射線は、仮想カメラの視錐台の中心を通って延長されてもよい。標的モジュール３４６の操作は、図６Ａ〜Ｂに関して詳細を説明する。
【００２９】
標的モジュール３４６が使用する１つのモジュールは、角度ジャンプモジュール３１２である。３次元環境内の地物を選択するユーザに応答して、角度ジャンプモジュール３１２は、仮想カメラを地物に向かって移動させる。実施例において、タッチレシーバ３４０は、ユーザが表示の位置を選択したことを示す、ユーザ入力を受信する。実施例において、ユーザは、表示上の位置を選択し、位置上をダブルタップすることによって、角度ジャンプを開始することができる。ユーザによって選択される位置に基づいて、標的モジュール３４６は、標的場所を決定する。標的場所を使用して、角度ジャンプモジュール３１２は、仮想カメラを移動させる。角度ジャンプモジュール３１２は、仮想カメラを標的場所に向かって移動させることができ、仮想カメラを標的場所に向かって回転させることができる。仮想カメラが移動するにつれて、角度ジャンプモジュール３１２は、飛行機のバンキングをシミュレーションするように、仮想カメラのロールを変更することができる。角度ジャンプモジュール３１２は、標的場所が表示のほぼ中心に現れるように、仮想カメラを配向することができる。仮想カメラを配向するために、角度ジャンプモジュール３１２は、仮想カメラのピッチまたはヨー値を変更することができる。この様式において、ユーザは、片手で画面上をダブルタップし、仮想カメラを標的に向けて容易にナビゲートすることが可能である。さらに、仮想カメラを新しい場所に円滑に移行することによって、ユーザに満足する効果を生むことができる。
【００３０】
アンカーモジュール３２０は、他のユーザインターフェースジェスチャに応答して、仮想カメラを移動させる。実施例において、アンカーモジュール３２０は、タッチレシーバ３４０が、１本の指の静止および他の指が運動中である、２本の指のタッチを受信するときに呼び出される。静止および運動中の指の相対的な初期位置は、アンカールックアラウンドモードまたはアンカーヘリコプタモードという、２つのナビゲーションモードのうちの１つを有効にすることができる。実施形態において、アンカールックアラウンドモードは、第１の静止指の初期位置が、第２の指の初期位置より下にあるときに有効になる。アンカーヘリコプタモードは、第１の静止指の初期位置が、第２の指の初期位置より上にあるときに有効になる。アンカールックアラウンドモードは、ルックアラウンドモジュール３２６によって実行されてもよく、アンカーヘリコプタモードは、ヘリコプタモジュール３２４によって実行されてもよい。
【００３１】
ルックアラウンドモジュール３２６は、第２の指の運動に従って、仮想カメラの配向を変更する。タッチレシーバ３４０は、第２の指の運動の方向を受信し、方向をルックアラウンドモジュール３２６に送信することができる。方向に基づいて、ルックアラウンドモジュール３２６は、仮想カメラを異なる軸に沿って回転させることができる。ルックアラウンドモジュール３２６は、指がモバイルデバイスの左側または右側に向かって移動するとき、仮想カメラのヨーを変更することができる。同様に、ルックアラウンドモジュール３２６は、指がモバイルデバイスの頂部または底部に向かって移動するとき、仮想カメラのピッチを変更することができる。ルックアラウンドモジュール３２６の操作は、図８および９Ａ〜Ｂに関して詳細を説明する。実施形態において、ルックアラウンドモジュール３２６はまた、２本の指の運動に応答して、仮想カメラの配向を変更することもできる。この実施形態は、図１２に関して説明する。
【００３２】
ヘリコプタモジュール３２４は、静止している指の位置が、最初に、移動する指より下にあるとき、仮想カメラを移動させる。実施形態において、タッチレシーバ３４０が、静止している指が移動する指より下にある、２本の指のタッチを受信するとき、標的モジュール３４６は、標的場所を決定することができる。標的場所は、静止している指の位置に基づいて、射線を延長することによって決定されてもよい。代替として、標的場所は、仮想カメラの視錐台の中心を通って射線を延長することによって決定されてもよい。標的場所を決定するステップは、図６Ａ〜Ｂに関して以下に詳細を説明する。
【００３３】
タッチレシーバ３４０は、移動する指の方向をヘリコプタモジュール３２４に送信することができる。移動する指の方向に基づいて、ヘリコプタモジュール３２４は、仮想カメラを異なる方向に移動することができ、標的場所と仮想カメラの位置との間の距離をほぼ一定に保つ。ヘリコプタモジュール３２４は、距離のわずかな変化を可能にしてもよい。例えば、新しい地形は、距離を変化させるクライアントにストリームされてもよい。
【００３４】
ヘリコプタモジュール３２４は、標的モジュール３４６によって決定される標的場所から上向きに射線を延長することができる。移動する指の方向がモバイルデバイスの頂部または底部に向かっているとき、ヘリコプタモジュール３２４は、射線に対する傾斜角を変更することができる。傾斜角を変更すると、仮想カメラを上または下に移動させることができる。移動する指の方向がモバイルデバイスの左側または右側に向かっているとき、ヘリコプタモジュール３２４は、射線に対する方位角を変更することができる。方位角を変更すると、一定の高さを維持しながら、仮想カメラを標的場所周囲で移動させることができる。さらに、移動する指の方向が、モバイルデバイスの両方の軸上に構成要素を有するとき、ヘリコプタモジュール３２４は、傾斜角および方位角の両方を変更することができる。この様式において、ヘリコプタモジュール３２４は、ユーザに標的場所周囲で容易にナビゲートすることを可能にする。ヘリコプタモジュールはまた、図１６Ｃで説明されるように、モバイルデバイスの画面上で２本の指が回転するとき、仮想カメラを移動させることもできる。
【００３５】
実施形態において、ヘリコプタモジュール３２４はまた、標的場所と仮想カメラとの間の距離を変更することもできる。例えば、仮想カメラは、標的場所内へ、または標的場所から離れて移動することができる。例えば、初期に静止している指の運動によって、標的に向かって、または標的から離れて仮想カメラを平行移動することになってもよい。
【００３６】
実施形態において、ナビゲーションモジュール３１８に、重力に対するモバイルデバイスの配向に基づいて傾斜角を変更することを可能にする一方で、ヘリコプタモジュール３２４は、方位角を変更することができる。ヘリコプタモジュール３２４の操作は、図１０および図１１Ａ〜Ｂに関して詳細を説明する。
【００３７】
ナビゲーションモジュール３１８は、加速度計３４２および場所レシーバ３４４から受信される配向および位置情報に従って、３次元環境内で仮想カメラを配向かつ位置付ける。ナビゲーションモジュール３１８は、加速度計ナビゲーションモジュール３３０を含む。実施形態において、加速度計３４２は、重力に対するモバイルデバイスの配向を受信する。モバイルデバイスの配向に基づいて、加速度計ナビゲーションモジュール３３０は、仮想カメラの位置または配向を変更する。モバイルデバイスの配向に基づいて、加速度計ナビゲーションモジュール３３０は、仮想カメラのピッチを変更することができ、仮想カメラを上方および下方に向けさせる。代替として、加速度計ナビゲーションモジュール３３０は、標的場所に対する仮想カメラの傾斜を変更することができ、仮想カメラを上方または下方に移動させる。
【００３８】
場所レシーバ３４４は、モバイルデバイスの機首方位値を受信することができる。例えば、場所レシーバ３４４は、モバイルデバイスが面する基本方位（北、東、南、西）を受信することができる。機首方位に基づいて、ナビゲーションモジュール３１８は、仮想カメラをモバイルデバイスの方向に配向することができる。さらに、場所レシーバ３４４は、モバイルデバイスの場所値を受信することができる。例えば、場所レシーバ３４４は、モバイルデバイスの緯度、経度、および高度を受信することができる。モバイルデバイスの場所に基づいて、ナビゲーションモジュール３１８は、仮想カメラを３次元環境内で位置付けることができる。３次元環境として、地球の３次元環境を挙げることができる。この様式において、ナビゲーションモジュール３１８は、実際の地球内のモバイルデバイスの位置および配向に相応するように、仮想カメラを仮想地球内に位置付けかつ配向することができる。ナビゲーションモジュール３１８は、モバイルデバイスを追跡するように、仮想カメラの位置および配向を継続的に更新することができる。ナビゲーションモジュール３１８の操作は、図１３および図１４Ａ〜Ｂに関して詳細を説明する。
【００３９】
角度ジャンプモジュール３１２、運動量モジュール３１６、加速度計ナビゲーションモジュール３３０、ルックアラウンドモジュール３２６、およびヘリコプタモジュール３２４の各々は、ユーザインターフェースジェスチャを受理して、仮想カメラを移動させる。これらのモジュールの各々は、ユーザインターフェースジェスチャが完了した後、仮想カメラの運動を継続するように、運動量モジュール３１６と協調することができる。運動量モジュール３１６は、ジェスチャが完了した後、運動を徐々に減速することができる。この様式において、運動量モジュール３１６は、運動量を有する仮想カメラをシミュレートし、空気抵抗等の摩擦を受けている仮想カメラをシミュレートする。
【００４０】
上述のように、アンカーモジュール３１６は、タッチレシーバ３４０が、１本の指は静止状態で、他の指が運動中である、２本の指のタッチを受信するとき、仮想カメラをナビゲートする。さらなる特長に従い、両方の指が運動中であるとき、運動量モジュール３１６も、仮想カメラをナビゲートすることができる。両方の指が運動中である２本の指のタッチは、本明細書においては、ときにはピンチジェスチャとして説明され、指は相互から離れて移動するか、または相互に向かって移動するかのいずれかである。運動量モジュール３１６は、指が相互に対して移動する速度を決定することができる。指の速度に基づいて、運動量モジュール３１６は、仮想カメラの速度を決定することができ、仮想カメラを所定の速度で移動させることができる。指を相互に向かって移動させることによって、仮想カメラを前方に移動させることができ、指を相互から離れて移動させることによって、仮想カメラを後方に移動させることができる。運動量モジュール３１６は、空気抵抗をシミュレートすることができ、従って、仮想カメラの速度を徐々に減少させることができる。
【００４１】
代替として、仮想カメラは、静止したままにすることができ、地球の３次元モデル等の３次元モデルは、指の速度に従って移動することができる。運動量モジュール３１６は、指の速度に従って決定される角速度で地球のモデルを回転させることができる。運動量モジュール３１６の操作は、図１５および図１６Ａ〜Ｂに関して詳細を説明する。
【００４２】
地球の３次元モデル等の３次元モデルはまた、パンモジュール３４８によって回転されてもよい。実施形態において、タッチレシーバ３４０は、ユーザがモバイルデバイスの表示上の第１の位置に触れ、指を表示上の第２の位置へ移動したこと（タッチアンドドラッグジェスチャ）を示す、ユーザ入力を受信することができる。第１および第２の位置に基づいて、標的モジュール３４６は、３次元環境内の第１および第２の点を決定することができる。第１および第２の点に基づいて、パンモジュール３４８は、仮想カメラに対して３次元モデルを移動させることができる。この運動は、本明細書においては「パンニング」と参照されてもよい。実施例において、パンモジュール３４８は、３次元モデル上の回転軸を決定し、回転軸周囲で３次元モデルを回転させることによって、３次元モデルを移動させることができる。
【００４３】
実施形態において、パンモジュール３４８の操作は、仮想カメラの配向に従って変更することができる。前述のように、仮想カメラの配向は、重力に対するモバイルデバイスの配向に従って決定されてもよい。実施例において、仮想カメラが地面に面するとき、ユーザは、任意の方向にパンすることができる。しかしながら、仮想カメラが水平線に面するとき、ユーザは、前方および後方にのみパンすることができる。代わりに、左側および右側への指の運動は、カメラを左側または右側に向けることになってもよい。パンモジュール３４８の操作は、図１７、図１８Ａ〜Ｂ、および図１９Ａ〜Ｃに関して詳細を説明する。
【００４４】
システム３００の構成要素の各々は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせに実装されてもよい。
【００４５】
以下の項では、角度ジャンプモジュール３１２、標的モジュール３４６、アンカーモジュール３２０、運動量モジュール３１６、ナビゲーションモジュール３１８、およびパンモジュール３４８の操作を詳細に説明する。
【００４６】
（角度ジャンプ）
この項では、図４〜５、６Ａ〜Ｂ、および７に関してジャンプ角度ナビゲーションのための方法を説明する。角度ジャンプナビゲーションは、ユーザに、モバイルデバイス上の３次元環境内を容易かつ直感的にナビゲートすることを可能にする。概して、ユーザが場所上をダブルタップすることに応答して、方法は、場所に向けて仮想カメラをナビゲートし、場所に向けて仮想カメラの角度を決める。
【００４７】
図４は、角度ジャンプナビゲーションのための方法４００を示すフローチャートである。方法４００は、ステップ４０２で、ユーザが表示の場所をダブルタップしたことを示す、ユーザ入力を受信して開始する。ステップ４０２は、図５に示される。図５は、モバイルデバイス上の角度ジャンプナビゲーションを示す図５００を示す。図５００は、表示１０２を備えるモバイルデバイス１００を示す。ユーザは、場所５０４をダブルタップする。角度ジャンプナビゲーションは、方法４００の残りのステップにおいて説明されるように、軌道５０２に沿ってナビゲートする。
【００４８】
ステップ４０２で受信されるタップ場所の場所に基づいて、ステップ４０４で、標的場所が決定される。標的場所を決定するステップは、図６Ａ〜Ｂに示される。図６Ａは、標的場所を決定するように、画面射線を延長するステップを示す図６００を示す。図６００は、焦点６０２を備える仮想カメラを示す。仮想カメラは、焦点距離６０６およびビューポート６０４を有する。ビューポート６０４上で、点６１０は、モバイルデバイスの表示上でユーザによって選択される点に相当する。焦点６０２から、射線６１２は、点６１０を通って延長される。射線６１２は、３次元モデル６１６と交差して、標的場所６１４を決定する。この様式において、標的場所６１４は、ユーザにより選択される（例えば、ダブルタップされる）点に基づいて決定される。
【００４９】
ユーザにとっては容易であるが、指で表示をダブルタップすることは、不正確であり得る。モバイルデバイスは、小型の表示を有する傾向がある（例えば、ハンドヘルドモバイルデバイスは、概して、４インチ未満の表示を有する場合がある）。この結果、指のタッチは、表示の相当部分を占める場合がある。ユーザが水平線に近い位置を選択するとき、画面の射線は、３次元モデルに対するほぼ接線の場合がある。太い指の位置の小さい変化が、標的場所の大きい変更になる場合がある。この結果、角度ジャンプナビゲーションは不安定な場合がある。
【００５０】
潜在的な不安定性に対処するため、図６Ｂに示されるように、ユーザ選択がダンピングされてもよい。図６Ｂは、焦点６０２、焦点距離６０６、およびビューポート６０４を有する仮想カメラを含む図６５０を示す。ユーザは、水平線に近い、表示上の点を選択する。ユーザによって選択される点は、ビューポート６０４上の点６５２に相当する。射線６５４は、焦点６０２からビューポート６０４上の点６５２を通って延長する。射線６５４は、点６５６で凸形の仮想表面６５８と交差する。点６５６は、標的場所を決定するように、３次元モデル６６０上に投影されてもよい。画面射線を仮想表面と交差させることによって、ユーザの選択はダンピングされ、従って、安定性を向上させる。図６５０は、ユーザ選択をダンピングするための一方法を示すが、当業者に周知であるような他の方法が使用されてもよい。
【００５１】
図４を再び参照すると、標的場所が決定されたら、ステップ４０６で、仮想カメラが標的場所に向かって移動する。仮想カメラが標的場所に向かって移動するにつれて、ステップ４０８で、仮想カメラは標的場所に向かって回転する。ステップ４０６および４０８は、図７に示される。
【００５２】
図７は、角度ジャンプ軌道を示す図７００を示す。図７００は、初期位置７０２での仮想カメラを示す。仮想カメラは、軌道７０６に沿って移動する。仮想カメラは、初期の前方速度ベクトルを備えて開始することができる。仮想カメラが軌道７０６上を継続するにつれて、仮想カメラは、標的７０８に向かって回転する。標的７０８に向かって回転するステップは、仮想カメラのピッチまたはヨーを変更するステップを含むことができる。仮想カメラが軌道７０６上を継続するにつれて、仮想カメラは減速することができ、標的７０８に面する位置７０４で静止するようになる。仮想カメラが静止するようになるとき、標的７０８は、表示のほぼ中心に現れることができる。表示のほぼ中心は、中心からのわずかなオフセットが可能とされるように、正確に中心でなくてもよい。
【００５３】
仮想カメラが軌道７０６に沿って移動するにつれて、仮想カメラは、ロールすることができる。ロールは、着陸先に向かう飛行機のような旋回をシミュレートすることができる。仮想カメラは、ロールのない軌道７０６を開始することができる。仮想カメラのロールは、軌道７０６に沿って移動するにつれて増加することができ、軌道７０６の中間で最大量のロールを獲得することができる。次に、仮想カメラのロールは減少することができ、仮想カメラがその最終位置７０４に到達するときにゼロに戻る。
【００５４】
この様式において、角度ジャンプナビゲーションは、ユーザに、３次元環境内の標的場所に向かって容易にナビゲートすることを可能にする。加えて、ダブルタッチジェスチャに基づいて標的場所を決定することによって、ユーザは、片手だけで、場所に向かってナビゲートすることが可能である。これは、しばしばユーザは片手でモバイルデバイスを持ち、片手だけが自由で３次元環境内をナビゲートすることから、有用である。
【００５５】
（アンカーナビゲーション）
ナビゲートするために片手が自由な場合、いくつかのユーザインターフェースジェスチャは、２本の指を使用することができる。この項では、アンカールックアラウンドおよびアンカーヘリコプタという、２本の指を使用する２つのユーザインターフェースジェスチャを説明する。各ユーザインターフェースジェスチャでは、１本の指が最初に静止していて、他が移動する。静止している指は、移動する指の前に、画面に触れることができる。静止および移動する指の初期の相対的位置は、ユーザが、アンカールックアラウンドモードまたはアンカーヘリコプタモードに入るかどうかを決定することができる。
【００５６】
図８は、アンカールックアラウンドナビゲーションのための方法８００を示すフローチャートである。方法８００は、ステップ８０２で、モバイルデバイスの表示上の２本の指のタッチに対するユーザ入力を受信することによって開始する。２本の指のうちの１本が運動中で、ステップ８０４で、第２の指の運動の方向（例えば、運動ベクトル）が受信される。２本の指のタッチは、図９Ａに示される。
【００５７】
図９Ａは図９００を示す。図９００は、表示１０２を備えるモバイルデバイス１００を示す。ユーザは、指９０２および指９０４で表示１０２に触れた。指９０２は、最初は静止していて、指９０４は、最初は運動中である。指９０２は、指９０４の前に少なくとも一定時間、画面に触れることができる。指９０２および９０４の相対的位置の結果として、ユーザは、アンカールックアラウンドナビゲーションモードに入る。実施形態において、ユーザは、最初に移動する指（指９０４）が、最初に静止している指（指９０２）の上にあるとき、アンカーナビゲーションモードに入る。
【００５８】
図８を再び参照すると、第２の指の運動が受信されると、仮想カメラの配向は、第２の指の運動に従って変更される。仮想カメラの配向がどのように変更されるかは、図９Ｂに示される。
【００５９】
図９Ｂは、３次元環境内で周囲を見回す仮想カメラを示す図９５０を示す。図９５０は、３次元地形２１０および仮想カメラ２０２を示す。そのピッチを変更することによって、カメラ２０２は、矢印９５２によって示されるように上方および下方を向くことができる。そのヨーを変更することによって、カメラ２０２は、矢印９５４によって示されるように左側および右側に向くことができる。
【００６０】
図９Ａにおいて、ユーザが、矢印９０６および９０８によって示されるように、指９０４を左側または右側に移動するとき、仮想カメラのヨーは、これに従って左側または右側を向くように変化することができる。同様に、ユーザが、矢印９０６および９０８によって示されるように、指９０４を上方または下方に移動するとき、仮想カメラのピッチは、これに従って上方または下方を向くように変化することができる。ユーザが、矢印９２０によって示されるように、指を斜めに移動するとき、仮想カメラのピッチおよびヨーの両方が変化することができる。ピッチおよびヨーは、モバイルデバイスの軸に沿って、運動ベクトルの構成要素に従って変化することができる。この様式において、指を移動することによって、ユーザは、仮想カメラを周囲を見回すようにさせることが可能で、異なる視点から３次元環境を視察する。
【００６１】
代替実施形態において、仮想カメラは、モバイルデバイスの配向に基づいて上方および下方を向きながら、ユーザ入力に基づいて左側および右側を向くことができる。重力に対するモバイルデバイスの配向は、モバイルデバイスの加速度計から受信されてもよい。仮想カメラのピッチは、モバイルデバイスの配向に従って変更されてもよい。この様式において、ユーザは、モバイルデバイスを上方および下方の角度に決めることによって、上方および下方を見ることが可能である。
【００６２】
実施形態において、仮想カメラの軸は、第１の静止している指の位置に基づいて決定されてもよい。実施例において、標的場所は、静止している指の位置に基づいて決定されてもよい。軸は、仮想カメラおよび標的場所を結ぶ直線である。この実施形態において、第２の指の運動によって、仮想カメラを軸の周囲で回転させる。
【００６３】
前述のように、ユーザは、静止している指が移動する指より下にあるときに、アンカールックアラウンドモードに入る。しかしながら、静止している指が移動する指より上にあるとき、ユーザは、アンカーヘリコプタモードに入ることができる。アンカーヘリコプタモードは、図１０および１１Ａ〜Ｂに関して説明する。
【００６４】
図１０は、アンカーヘリコプタナビゲーションのための方法１０００を示すフローチャートである。方法１０００は、ステップ１００２で、モバイルデバイスの表示上の２本の指のタッチに対するユーザ入力を受信することによって開始する。２本の指のうちの１本が運動中で、ステップ１００４で、第２の指の運動の方向（例えば、運動ベクトル）が受信される。２本の指のタッチは、図１１Ａに示される。
【００６５】
図１１Ａは、図１１００を示す。図１１００は、表示１０２を備えるモバイルデバイス１００を示す。ユーザは、指１１０２および指１１０４で表示１０２に触れた。指１１０２は、最初は静止しており、指１１０４は、最初は運動中である。ユーザは、指１１０４で表示に触れる一定時間前に、指１１０２で表示１０２に触れることができる。指１１０２および１１０４の相対的位置の結果として、ユーザは、アンカーヘリコプタモードに入る。前述のように、ユーザは、最初に移動する指（指１１０４）が、最初に静止している指（指１１０２）より下にあるとき、アンカーヘリコプタモードに入る。
【００６６】
ここで再び図１０を参照すると、ユーザ入力を受信後、ステップ１００４で、標的場所が決定される。実施形態において、標的場所は、第１の静止している指の位置に基づいて決定されてもよい。標的場所は、図６Ａにおいて説明されたように、画面射線を延長することによって決定されてもよい。さらに、画面射線は、図６Ｂに関して説明されるようにダンピングされてもよい。代替として、標的場所は、仮想カメラの視錐台の中心を通って射線を延長することによって決定されてもよい。射線は、標的場所で３次元モデルと交差することができる。これらの実施例は説明目的であって、当業者に周知であるような、標的場所を決定する他の方法が使用されてもよい。
【００６７】
標的場所が決定されると、ステップ１００８で、標的場所に対する傾斜または方位角値が、第２の指の運動に従って変更される。ステップ１００８は、図１１Ｂに示される。
【００６８】
図１１Ｂは、アンカーヘリコプタナビゲーションを示す図１１５０を示す。図１１５０は、３次元地形２１０に向かって方向付けられた仮想カメラ２０２を示す。射線１１６０は、ステップ１００６で説明されるように、標的１１５８を決定するように延長される。標的１１５８から、上向きに方向付けられたベクトル１１６２が決定される。ベクトル１１６２に対して、仮想カメラ２０２は、傾斜角１１５６および方位角１１５４を有する。傾斜角１１５６を変更すると、仮想カメラを上方または下方に移動させ、方位角１１５４を変更すると、仮想カメラを一定の高さで標的１１５８の周囲で周回させる。実施形態において、傾斜角１１５６および方位角１１５４を変更しても、仮想カメラ２０２と標的１１５８との間の距離を変更することにならない。この様式において、傾斜角１１５６および方位角１１５４を変更すると、標的１１５８への等距離にあるままで、標的１１５８の周囲で仮想カメラをナビゲートする。
【００６９】
図１１Ａにおいて、ユーザが、矢印１１０８および１１０６によって示されるように、指１１０４を左側または右側に移動するとき、方位角が変化し、仮想カメラ２０２を一定の高さで標的１１５８の周囲で周回させる。同様に、ユーザが、矢印１１１０および１１１２によって示されるように、指９０４を上方または下方に移動するとき、傾斜角が変化することができ、仮想カメラを標的１１５８に対して上方および下方に移動させる。ユーザが、矢印１１１６によって示されるように、指を斜めに移動するとき、傾斜角および方位角の両方が変化することができる。傾斜および方位の値は、モバイルデバイスの軸に沿って、運動ベクトルの構成要素に従って変化することができる。この様式において、指を移動することによって、ユーザは、仮想カメラを標的場所の周囲で移動させることが可能で、異なる視点から標的場所を視察する。仮想カメラの配向はまた、仮想カメラが継続して標的に面するように、変化することもできる。
【００７０】
実施例において、ユーザは、指１１０４を下方および右側へ移動することができる。この実施例において、標的場所に対する傾斜および方位の両方の値は、指の運動に応答して増加することができる。傾斜値が増加するにつれて、仮想カメラは、標的場所の高度に向かって下方に移動する。一方で、方位角が増加すると、仮想カメラを標的場所の周囲で回転させる。仮想カメラが移動している間、仮想カメラは、標的場所に向かった配向のままであってもよい。この様式において、ユーザは、異なる視点から、３次元環境内の地物を容易に視察することが可能である。
【００７１】
実施形態において、仮想カメラと標的場所との間の距離も変化してもよい。例えば、傾斜または方位の値を変更する間に仮想カメラを標的内に移動させることによって、仮想カメラは、標的内に急降下することができる。また、仮想カメラは、傾斜または方位の値を変更する間に、標的から離れて移動することが可能である。
【００７２】
実施形態において、指１１０４を左側または右側に移動することによって、方位角を変更することができ、一方で、傾斜角度は、モバイルデバイスの配向に従って決定される。重力に対するモバイルデバイスの配向は、モバイルデバイスの加速度計から受信されてもよい。モバイルデバイスの配向に基づいて、傾斜角が決定される。この様式において、ユーザは、モバイルデバイスを上方および下方に移動させることによって、仮想カメラを上方および下方に移動させることができる。
【００７３】
例えば、モバイルデバイスを持ち、ディスプレイを視察しているユーザは、地面に対してデバイスを移動させることができる。デバイスが地面に面するように移動するにつれて、仮想カメラは、標的より上側に移動し、標的に向かって下方へ面することができる。デバイスが地面に対して垂直に移動するにつれて、仮想カメラは、標的の高度まで移動し、地上の視点から標的を視察することができる。
【００７４】
（２本の指によるルックアラウンドナビゲーション）
前述のように、ユーザは、１本の指を移動し、別の指を静止したままにすることによって、仮想カメラに周囲を見回すようにさせることができる。この項では、仮想カメラに周囲を見回すようにさせることができる、別のジェスチャを説明する。この項に説明されるジェスチャは、２本の指でディスプレイに触れることを含む。概して、２本の指は、ほぼ同じ方向にほぼ同じ距離だけ移動し、仮想カメラは、指の移動に従って移動する。
【００７５】
図１２は、モバイルデバイス上の三次元環境内で検索するための２つの指ジェスチャを示す図１２００である。図１２００は、表示１０２を備えるモバイルデバイス１００を示す。表示１０２に触れるのは、指１２０２および１２０４である。ユーザが表示１０２に触れると、ユーザは、ベクトル１２０６および１２０８によって示されるように、表示１０２上で指１２０２および１２０４を移動する。ベクトル１２０６および１２０８は、ユーザが指１２０２および１２０４を移動する方向および距離を表す。
【００７６】
ベクトル１２０６および１２０８は、ほぼ同じ方向であってもよい。ベクトル１２０６および１２０８は、正確に平行である必要はない。方向１２０８と１２０８との間の小角度は、閾値まで可能にされてもよい。同様に、ベクトル１２０６および１２０８は、ほぼ同じ長さを有することができる。ベクトル１２０６および１２０８の長さのわずかな差は、閾値まで可能であってもよい。
【００７７】
ユーザが指１２０２および１２０４を移動する方向および距離に基づいて、仮想カメラの配向が変化する。指１２０２および１２０４は、わずかに異なる方向および距離を移動してから、方向および距離の値は、集合ベクトルを決定するように、組み合わされてもよい。実施例において、ベクトル１２０６および１２０８の方向および距離は、集合ベクトルを決定するように、平均されてもよい。ここでは、ベクトルが説明されるが、任意の種類の運動データが使用されてもよい。
【００７８】
指１２０２および１２０４の運動に応答して、仮想カメラは、図９Ｂに示されるようにその配向を変更することができる。図９Ｂは、３次元地形２１０および仮想カメラ２０２を含む図９５０を示す。図９５０は、３次元地形２１０および仮想カメラ２０２を示す。指運動のベクトルが、モバイルデバイス上の左側または右側を向くとき、仮想カメラのヨーが変化してもよい。仮想カメラのヨーを変更すると、矢印９５４によって示されるように、仮想カメラを左側または右側に向かせる。同様に、指運動のベクトルがモバイルデバイス上の上方または下方であるとき、仮想カメラのピッチが変化してもよい。仮想カメラのピッチを変更すると、矢印９５６によって示されるように、仮想カメラを上方または下方に向かせる。
【００７９】
ユーザが指を斜めに移動するとき、仮想カメラのピッチおよびヨーの両方が変化することができる。ピッチおよびヨーは、モバイルデバイスの軸に沿って、指運動のベクトルの構成要素に従って変化することができる。この様式において、２本の指を移動することによって、ユーザは、仮想カメラを周囲を見回すようにさせることが可能で、異なる視点から３次元環境を視察する。
【００８０】
代替実施形態において、仮想カメラは、モバイルデバイスの配向に基づいて上方および下方を向きながら、ユーザ入力に基づいて左側および右側に向くことができる。重力に対するモバイルデバイスの配向は、モバイルデバイスの加速度計から受信されてもよい。仮想カメラのピッチは、モバイルデバイスの配向に従って変更されてもよい。この様式において、ユーザは、モバイルデバイスの角度を上方および下方に決めることによって、上方および下方を見ることが可能である。仮想カメラの配向は、加速度計によって決定されてもよい。次の項では、加速度計ナビゲーションを詳細に説明する。
【００８１】
（加速度計ナビゲーション）
この項では、加速度計を備える仮想カメラをナビゲートするステップを詳細に説明する。図１３は、モバイルデバイスの配向に基づいて、仮想カメラをナビゲートするための方法１３００を示すフローチャートである。
【００８２】
方法１３００は、ステップ１３０２で、加速度計ナビゲーションを可能にすることで、開始する。加速度計ナビゲーションは、例えば、ユーザが有効にする設定変更を行うとき、またはデフォルトの設定が加速度計ナビゲーションに設定されている場合の開始時に、可能にされてもよい。別の実施例において、アンカーナビゲーションまたはルックアラウンドナビゲーション等のナビゲーションモードに入ることによって、加速度計ナビゲーションを可能にすることができる。また、加速度計ナビゲーションは、モバイルデバイスの配向の変化が閾値を超えるときに可能にされてもよい。このように、配向のわずかな変化は、仮想カメラの視点を誤って変更することがない。また、加速度計ナビゲーションは、重力に対するモバイルデバイスの配向が閾値を超えるときに可能にされてもよい。重力に対するモバイルデバイスの配向が閾値を下回る場合、配向は、「無効範囲」内であってもよい。
【００８３】
加速度計ナビゲーションが可能になった後、ステップ１３０４で、モバイルデバイスの配向が決定される。実施形態において、加速度計は、重力の方向、および重力に対するモバイルデバイスの配向を決定する。モバイルデバイスの配向に基づいて、ステップ１３０６で、仮想カメラの位置または配向が変更される。ステップ１３０４および１３０６は、図１４Ａ〜Ｃに示される。さらに、加速度計の計測値はダンピングされてもよい。
【００８４】
図１４Ａ〜Ｃ各々は、異なる配向のモバイルデバイスを示す。図１４Ａは、地面に面するモバイルデバイス１４０２の輪郭を示す。モバイルデバイス１４０２の配向は、モバイルデバイス１４０２の画面の平面に直交するベクトルに対して定義されると想定する。モバイルデバイスの加速度計は、重力が下向きであることを検出する。つまり、重力は、モバイルデバイス１４０２の配向に平行である。このため、仮想カメラは、地球の３次元モデル等、３次元モデルで下向きに配向される。地面に面している仮想カメラでは、仮想カメラは、地上の画像１４０４をキャプチャすることができる。
【００８５】
図１４Ｂは、地面に対する角度で、モバイルデバイス１４２２の輪郭を示す。モバイルデバイスの加速度計は、重力が、モバイルデバイスの配向に対して角度１４２６を有することを検出する。この結果、加速カメラのピッチは、角度１４２６に設定されてもよい。仮想カメラを角度１４２６で配向すると、仮想カメラによってキャプチャされ、ユーザに表示される画像は、画像１４２４として現れることができる。
【００８６】
代替として、仮想カメラのピッチは、角度１４２６に基づいて決定されてもよい。実施形態において、モバイルデバイスの角度の範囲は、仮想カメラの角度の範囲まで円滑に補間することができる。補間は、直線的補間であってもよい。実施例において、モバイルデバイスの角度の範囲が、３０度から９０度までであると想定する。その範囲は、仮想カメラの角度を０度から９０度まで補間する。その実施例において、ユーザがデバイスを６０度に保つ場合、仮想カメラの角度は、４５度に設定されてもよい。この実施例は、説明に過ぎない。
【００８７】
図１４Ｃは、地面に直交するモバイルデバイス１４３２の輪郭を示す。モバイルデバイスの加速度計は、重力が、モバイルデバイスに対して角度１４３６を有することを検出する。この結果、加速カメラのピッチは、角度１４３６に設定されてもよい。仮想カメラを角度１４３６で配向すると、仮想カメラによってキャプチャされ、ユーザに表示される画像は、水平線に面する画像１４３４として現れることができる。
【００８８】
図１４Ａ〜Ｃに示されるように、ユーザがモバイルデバイスの配向を変更するにつれて、仮想カメラの配向が変化する。このように、ユーザが水平線に向けてモバイルデバイスを方向付けると、仮想カメラは、水平線の方を向く。ユーザがモバイルデバイスを空に向けて方向付けると、仮想カメラは空の方を向く。最終的に、ユーザが地面に向けてモバイルデバイスを方向付けると、仮想カメラは、地面の方を向く。
【００８９】
仮想カメラの配向を変更することに加えて、仮想カメラの位置も、仮想カメラの配向に従って変化することができる。実施形態において、標的場所および傾斜角度は、図１１Ａ〜Ｂに関して説明されるように決定されてもよい。モバイルデバイスの配向が変化すると、標的場所に対する仮想カメラの傾斜角が変化してもよい。
【００９０】
この様式において、ユーザは、モバイルデバイスの配向を変更することによって、３次元環境内をナビゲートすることが可能である。
【００９１】
（ピンチ運動量）
アンカーナビゲーションの項では、１本の指が最初に静止したままで、他の指が最初に運動中である２本の指のジェスチャを説明した。この項では、両方の指が最初に運動中である２本の指のジェスチャを説明する。２本の指のジェスチャは、ピンチと称されてもよく、図１５および図１６Ａ〜Ｂに関して説明する。ピンチはまた、第１および第２の指が触れるタイミングによって、アンカーナビゲーションから区別されてもよい。例えば、第１の指と第２の指との間のタイミングが閾値を上回るとき、アンカーナビゲーションモードが有効にされてもよい。第１の指と第２の指の間のタイミングが閾値を上回るとき、仮想カメラはピンチ運動量で移動されてもよい。代替実施形態において、アンカーナビゲーションモードは、タイミングが閾値を下回るときに有効にされてもよく、仮想カメラは、タイミングが閾値を上回るときにピンチ運動量で移動されてもよい。
【００９２】
図１５は、ピンチを使用して、仮想カメラをナビゲートするための方法１５００を示すフローチャートである。方法１５００は、１５０２で、表示上のユーザピンチに対する入力を受信することによって開始する。ユーザピンチは、図１６Ａに示される。
【００９３】
図１６Ａは、モバイルデバイス上のピンチジェスチャを示す図１６００を示す。図１６００は、表示１０２を備えるモバイルデバイス１００を示す。ユーザは、指１６０４および１６０２で表示に触れた。両方の指は、運動中で、それらの関連運動は、ステップ１５０４で決定されるピンチの速度である。矢印１６１２および１６１４で示されるように、離れて移動している指１６０４および１６０２は、正のピンチ速度となってもよく、一方で、矢印１６２４および１６２２で示されるように、合わせて移動している指１６０４および１６０２は、負のピンチ速度となってもよい。
【００９４】
ステップ１５０４で決定されるピンチ速度に基づいて、ステップ１５０６で、仮想カメラの速度が決定される。ピンチ速度が正の場合、仮想カメラの速度は正（前方）であってもよく、ピンチ速度が負の場合、仮想カメラの速度は負（後方）であってもよい。実施例において、仮想カメラの速度は、ピンチ速度から直線的に補間されてもよい。これは例示的な実施例に過ぎず、これは本発明を制限することを意味しない。
【００９５】
ステップ１５０８で、仮想カメラは、ステップ１５０６で決定される速度まで加速する。ステップ１５１０で、仮想カメラは徐々に減速することができる。仮想カメラを減速するために、仮想カメラの運動量がシミュレーションされてもよく、仮想カメラは、シミュレーションされる空気抵抗にさらされてもよい。ステップ１５０８および１５１０は、図１６Ｂに示される。
【００９６】
図１６Ｂは、ピンチ運動量の対象となる仮想カメラを示す図１６５０を示す。図１６５０は、位置１６５２で開始し、位置１６５４で終了する仮想カメラを示す。図１６５０は、時間ｔ０、ｔ１、ｔ２、ｔ３、ｔ４、およびｔ５のいくつかの点での仮想カメラを示す。時間が経過するにつれて、仮想カメラは減速する。
【００９７】
別の実施形態において、両方の指が最初に運動中である必要はない。１本または両方の指が最初に静止している可能性がある。さらに、ピンチは、仮想カメラを平行移動、または、運動量が全くなく、仮想カメラをズームさせることができる。その実施形態において、仮想カメラは、ピンチの距離または速度に従って、ズームまたは平行移動する。ピンチジェスチャが完了した後、仮想カメラは、ズームまたは平行移動を停止することができる。
【００９８】
実施形態において、仮想カメラは、直線に平行移動されてもよい。代替として、仮想カメラが静止したままであってもよく、３次元モデルが移動することができる。実施例において、３次元モデルは回転することができる。仮想カメラに対する３次元モデルのこの運動は、「パンニング」と称されてもよい。
【００９９】
別の実施形態において、仮想カメラは、ズーム（または平行移動）および回転の両方が行われる。カメラの回転は、２本の指の間の角度に基づき、ズームは２本の指の間の距離に基づく。これらの２つの動作は同時に実行され得る。このジェスチャのためには、どちらの指も固定される必要はないが、いずれかの指が固定されてもよい。この実施形態は、図１６Ｃに示される。
【０１００】
図１６Ｃにおいて、指１および指２は、同時に表面と接触する。さらに、指１および指２は、同時に運動中であってもよい。指１および指２を矢印１６７１および１６７３によって示されるように回転すると、カメラを標的点の周囲で回転させることになってもよい。標的場所は、図６Ａ〜Ｂにおいて説明されるように、画面射線を延長することによって決定されてもよい。実施例において、画面射線は、第１の指が画面に触れるように、指のうちの１本の場所に基づいて決定されてもよい。代替として、画面射線は、指の間の中点に基づいて決定されてもよい。この様式において、標的点は、ディスプレイ上のユーザの指のうちの１本によって覆われない。
【０１０１】
標的点が決定された後、カメラは標的点の周囲を回転することができる。一実施形態において、カメラは、図１１Ｂに対して説明されるように、方位値を変更することによって、標的点の周囲で回転することができる。この様式において、カメラは、標的点の周囲をヘリコプタ飛行することができ、異なる視点から標的を視察する。
【０１０２】
一実施形態において、「不可視」直線は、指１および指２を接続して決定されてもよい。ユーザが、矢印１６７１および１６７３によって示されるように、指１および指２を回転させると、不可視直線とモバイルデバイスのディスプレイとの間の角度も変化する。不可視直線とモバイルデバイスのディスプレイとの間の角度が変化すると、標的点に対する方位角も変化することができる。一実施形態において、方位角は、不可視直線とモバイルデバイスのディスプレイとの間の角度と同じ量、またはほぼ同じ量変化することができる。この様式において、ユーザがモバイルデバイスのディスプレイ上で２本の指を３６０度回転させるとき、仮想カメラは、標的点の周囲を３６０度ヘリコプタ飛行することができる。
【０１０３】
さらに、矢印１６７９で示されるように、指１と指２との間の距離を変更すると、例えば、仮想カメラをズームまたは平行移動させることによって、仮想カメラの範囲を変更することができる。一実施例において、指１および２を接続する不可視直線は上記のように決定される。不可視線の長さが減少するとき、カメラは標的点から離れて移動することができる。同様に、不可視線の長さが増加するとき、カメラは、標的点に向かって移動、またはその逆であってもよい。範囲を変更するステップは、図１６Ａ〜Ｂに関して説明する。さらに、上記のようにジェスチャを継続するように、運動量は適用されてもよい。回転、ズームのいずれか、または両方の速度は、指を離した後、ジェスチャの終了時点での速度に基づいて、徐々に減速することができる。
【０１０４】
一例示的操作において、ユーザは、指１および２を反時計回りに９０度回転することができ、指１および２を離して移動することができる。その実施例において、仮想カメラは、反時計回りに９０度、標的点の周囲をヘリコプタ飛行することができ、標的点に近づいて平行移動することができる。別の例示的操作において、ユーザは、指１および２を時計回りに４５度回転することができ、指１および２をより近づけて移動することができる。その実施例において、仮想カメラは、時計回りに４５度、標的点の周囲をヘリコプタ飛行することができ、標的点から離れて平行移動することができる。
【０１０５】
単一のユーザインターフェースジェスチャにおいてズームおよび回転することによって、実施形態は、ユーザに、標的点の周囲で容易にナビゲートし、異なる視点から標的を視察することを可能にする。
【０１０６】
（角度パンニング）
本項は、モバイルデバイス上の３次元環境内で仮想カメラをパンニングすることを説明する。概して、ユーザは、指で、モバイルデバイスの表示上の位置を選択することによって、パンする。選択される位置に基づいて、標的場所が決定される。ユーザが指をドラッグするにつれて、仮想カメラに対する３次元モデルの位置は、標的場所を辿るように移動する。これは、タッチアンドドラッグジェスチャとして称され得る。実施形態において、３次元モデルは、タッチアンドドラッグジェスチャに応答して、ユーザの指を辿るように回転する。
【０１０７】
図１７は、モバイルデバイス上のパンニングのための方法１７００を示すフローチャートである。方法１７００は、モバイルデバイスのユーザによって選択される、第１および第２の位置を受信することで、ステップ１７０２を開始する。第１および第２の位置を選択するステップは、図１８Ａに示される。第１および第２の位置の各々は、表示上のＸおよびＹ座標によって定義されてもよい。図１８Ａは、モバイルデバイス上のパンニングを示す図１８００を示す。図１８００は、表示１０２を備えるモバイルデバイス１００を示す。ユーザが、指で位置１８０２に触れて、指を新しい位置１８０４へドラッグする。
【０１０８】
位置１８０２および位置１８０４に基づいて、第１および第２の標的点は、ステップ１７０４で決定される。第１および第２の標的点は、図６Ａ〜Ｂに関して説明されるように、射線で決定されてもよい。射線が、３次元モデルのほぼ接線である場合、標的点は、図６Ｂに関して説明されるようにダンピングされることが必要であってもよい。各標的点は、例えば、緯度、経度、および高度によって定義されてもよい。緯度（本明細書において意味される用語として）は、標的点から３次元モデルの中心までの距離であってもよい。実施形態において、第１の標的点は、射線を３次元モデルと交差させることによって決定され、第２の標的点は、射線を仮想表面球体と交差させることによって決定される。標的点を決定するステップは、図１８Ｂに示される。
【０１０９】
図１８Ｂは、仮想カメラ２０２が３次元地形２１０に面している図１８００を示す。前述のように、３次元地形２１０は、３次元モデルの一部であってもよい。実施形態において、第１の標的点（標的点１８５４）は、３次元地形２１０での３次元モデルと交差するように、射線１８５２を延長することによって決定されてもよい。標的点１８５４に基づいて、仮想球体表面１８６２が決定される。仮想球体表面１８６２は、３次元モデルの中心に中心を有することができ、接線標的点１８５４であってもよい。第２の射線１８６４を仮想球体表面１８６２と交差させることによって、標的点１８５６が決定される。代替として、仮想表面が使用されなくてもよく、第２の標的点は、射線を３次元モデルと交差させることによって決定されてもよい。これらの２つの点、標的点１８５４および標的点１８５６は、３次元モデルの中心に対する地心ベクトルを形成する。
【０１１０】
図１７をもう一度参照すると、標的点が決定された後、ステップ１７０６で回転軸が決定される。回転軸を演算するために、２つの標的点のクロス積が決定されてもよい。図１８Ｂを参照すると、２つの標的点は、２つのベクトルＶ１′およびＶ１によって定義されてもよい。回転軸は、Ｖ１′とＶ１とのクロス積（Ｖ１′×Ｖ１）をとることによって演算される。回転軸が決定された後、ステップ１７０８で、３次元モデルは回転される。３次元モデルは、２つのベクトルＶ１′とＶ１との間のドット積を演算することによって決定される（α＝Ｖ１′・Ｖ１）、角度α分回転される。角度αおよび回転軸に基づいて、開眼行列が演算される。最終的に、回転行列に基づいて、３次元モデルが回転される。
【０１１１】
パンニング運動の完了後、指の最後の画面空間位置が記録されてもよい。さらに、パンニング運動は、ユーザのジェスチャが完了された後継続してもよい。これによって、ユーザが地球を回転させている感覚をユーザに与える。回転の速度は、摩擦をシミュレーションするように、徐々に減少することができる。
【０１１２】
この様式において、指でユーザによって掴まれる標的は、ユーザの指運動を辿る。ユーザにとっては、自分が地球に触れ、操作しているかのような感覚を味わうことができる。表示のサイズのため、指の第１および第２の位置は、あまり離れることができない。これによって、ユーザがパンできる速度を制限し、パンジェスチャの安定性を向上させる。
【０１１３】
いくつかのパンニングモードが存在してもよい。加速度計ナビゲーションが有効で、モバイルデバイスの角度が一定値未満である場合、タッチアンドドラッグジェスチャは、異なる動作を有することができる。この場合、縦方向のタッチアンドドラッグジェスチャは、図１７に関する上記の説明のようにパンニングさせることができ、水平方向のタッチアンドドラッグジェスチャは、仮想カメラに周囲を見回すようにさせることができる。これは、図１９Ａ〜Ｃに示される。
【０１１４】
図１９Ａは、モバイルデバイス１９０４を示す図１９００を示す。モバイルデバイス１９０４は、重力に対するその角度βを検出する加速度計を有する。モバイルデバイスの角度βが閾値αを上回る場合、ユーザは、図１９Ｂの図１９３０に示されるように、全方向にパンすることが可能である。モバイルデバイスのβが閾値αを下回る場合、左および右へのタッチアンドグラフジェスチャは、パンしないが、図１９Ｃの図１９６０に示されるように、仮想カメラに左側および右側を向かせる。仮想カメラは、仮想カメラのヨー値を変更することによって、左側および右側を向くことができる。
結論
前述の実施形態の説明は、タッチ画面と接触を行う指に関して、明確化を目的として説明されたことに注意されたい。しかしながら、スタイラス等の当業者には周知であるような任意の他の物体が使用されてもよい。
【０１１５】
要約および概要の項は、１つ以上を記述してもよいが、本発明人によって検討される本発明の全ての例示的実施形態を記述しなくてもよく、したがって、本発明および添付の請求項をいかなる様式にも制限することを意図しない。
【０１１６】
本発明は、その規定の機能および関係の実装を示す機能構築ブロックを用いて上記に説明してきた。これらの機能構築ブロックの境界は、説明の便宜のために、本明細書において任意に定義してきた。その規定の機能および関係が好適に実施される限り、代替の境界が定義され得る。
【０１１７】
特定の実施形態の前述の説明は、他者が、当技術分野内の知識を適用することによって、本発明の一般的な概念から逸脱することなく、過度の実験を行わずに、特定の実施形態等の多様な用途のために容易に変形および／または適合することが可能である、本発明の一般的な性質を最も完全に明らかにするであろう。したがって、このような適合および変形は、本明細書に提示される教示および指針に基づいて、開示される実施形態の相当物の意義および領域内であることを意図する。本発明の仕様の用語または表現が教示および指針の点から当業者によって解釈されるように、本明細書内の表現または用語は、説明の目的のためであって、制限の目的ではないことを理解されたい。
【０１１８】
本発明の広さおよび範囲は、上記の例示的な実施形態のうちのいずれによっても制限されてはならず、以下の特許請求の範囲およびそれらの均等物に従ってのみ定義されるものである。
【図１】
2012501016.tif 000003
【図２】
2012501016.tif 000004
【図３】
2012501016.tif 000005
【図４】
2012501016.tif 000006
【図５】
2012501016.tif 000007
【図６Ａ】
2012501016.tif 000008
【図６Ｂ】
2012501016.tif 000009
【図７】
2012501016.tif 000010
【図８】
2012501016.tif 000011
【図９Ａ】
2012501016.tif 000012
【図９Ｂ】
2012501016.tif 000013
【図１０】
2012501016.tif 000014
【図１１Ａ】
2012501016.tif 000015
【図１１Ｂ】
2012501016.tif 000016
【図１２】
2012501016.tif 000017
【図１３】
2012501016.tif 000018
【図１４】
2012501016.tif 000019
【図１５】
2012501016.tif 000020
【図１６Ａ】
2012501016.tif 000021
【図１６Ｂ】
2012501016.tif 000022
【図１６Ｃ】
2012501016.tif 000023
【図１７】
2012501016.tif 000024
【図１８Ａ】
2012501016.tif 000025
【図１８Ｂ】
2012501016.tif 000026
【図１９】
2012501016.tif 000027
【国際調査報告】
2012501016.tif 000028
2012501016.tif 000029