(57)【要約】【課題】加速度センサや角速度センサを備えた入力装置を用いたゲームにおいて、ゲームの難易度を適度なものとするゲーム装置を提供すること。【解決手段】まず、ユーザが操作する入力装置の姿勢または動きを検出する所定の検出手段から取得する動き情報に基づいて、入力装置の移動方向を算出する。そして、仮想３次元空間内のオブジェクトの位置が、当該移動方向に基づいて当該オブジェクトを移動させたときの位置を、当該移動した方向に対して直交、あるいは、実質的に直交する方向にのみ補正した位置になるように当該オブジェクトを移動させる。【選択図】図１６
2010246768.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが操作する入力装置の姿勢または動きを検出する所定の検出手段から取得する動き情報に基づいて、仮想３次元空間内のオブジェクトを移動させる情報処理を行う情報処理装置のコンピュータに実行させる情報処理プログラムであって、
前記コンピュータを、
前記動き情報に基づき、前記入力装置が移動した方向を示す移動方向データを算出する移動方向算出手段と、
前記オブジェクトの位置が、前記移動方向データに基づいて当該オブジェクトを移動させたときの位置を、当該移動した方向に対して直交、あるいは、実質的に直交する方向にのみ補正した位置になるように当該オブジェクトを移動させるオブジェクト移動手段として機能させる、情報処理プログラム。
【請求項２】
前記所定の検出手段は前記入力装置に備えられている所定の動きセンサである、請求項１に記載のゲームプログラム。
【請求項３】
前記オブジェクト移動手段は、前記オブジェクトを所定の目標位置に一致するように、あるいは、近づくように移動させる、請求項１に記載の情報処理プログラム。
【請求項４】
前記情報処理プログラムは、前記コンピュータを、前記動き情報に基づき前記入力装置の姿勢を示す入力姿勢を繰り返し算出する入力姿勢算出手段として更に機能させ、
前記オブジェクト移動手段は、前記入力姿勢算出手段によって繰り返し算出された入力姿勢に基づいた前記入力装置の移動方向に対して直交、あるいは、実質的に直交する方向にのみ補正した位置になるように当該オブジェクトを移動させる、請求項１に記載の情報処理プログラム。
【請求項５】
前記オブジェクト移動手段は、前記入力姿勢算出手段によって繰り返し算出された入力姿勢に基づいた当該入力姿勢の変化に基づいて定まる面に対して直交、あるいは、実質的に直交する方向にのみ補正した位置になるように当該オブジェクトを移動させる、請求項４に記載の情報処理プログラム。
【請求項６】
前記オブジェクト移動手段は、前記入力姿勢算出手段によって繰り返し算出された入力姿勢のうちの所定の２つの入力姿勢を示すベクトルの外積で定まる方向にのみ補正した位置になるように当該オブジェクトを移動させる、請求項４に記載の情報処理プログラム。
【請求項７】
前記入力姿勢算出手段によって繰り返し算出された入力姿勢のうちの所定の２つの入力姿勢は、続けて算出された入力姿勢である、請求項６に記載の情報処理プログラム。
【請求項８】
前記情報処理プログラムは、前記コンピュータを、前記入力装置の動きの大きさが所定の値より大きいか否かを判定する動き判定手段として更に機能させ、
前記オブジェクト移動手段は、前記動き判定手段で前記入力装置の動きの大きさが所定の値より大きいと判定された時に補正を行う、請求項１に記載の情報処理プログラム。
【請求項９】
前記オブジェクト移動手段は、前記入力装置の動きの大きさが大きいほど、前記補正方向データで示される方向への補正の大きさを大きくする、請求項１または請求項８に記載の情報処理プログラム。
【請求項１０】
前記オブジェクト移動手段は、
前記移動した方向に対して直交、あるいは、実質的に直交する方向を示す補正方向データを算出する補正方向算出手段を含み、
前記オブジェクトの位置が、前記移動方向データに基づいて当該オブジェクトを移動させたときの位置を、前記補正方向データで示される方向にのみ補正した位置になるように当該オブジェクトを移動させる、請求項１に記載の情報処理プログラム。
【請求項１１】
前記動きセンサは角速度センサであり、
前記動き情報は、前記角速度センサによって検出される角速度を含む情報である、請求項１に記載の情報処理プログラム。
【請求項１２】
ユーザが操作する入力装置の姿勢または動きを検出する所定の検出手段から取得する動き情報に基づいて、仮想３次元空間内のオブジェクトを移動させる情報処理を行う情報処理装置であって、
前記動き情報に基づき、前記入力装置が移動した方向を示す移動方向を算出する移動方向算出手段と、
前記オブジェクトの位置が、前記移動方向に基づいて当該オブジェクトを移動させたときの位置を、当該移動した方向に対して直交、あるいは、実質的に直交する方向にのみ補正した位置になるように当該オブジェクトを移動させるオブジェクト移動手段とを備える、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想３次元空間内のオブジェクトを移動させる情報処理プログラム、および、情報処理装置に関し、より特定的には、自身の動きを検出する動き検出センサを備えた入力装置から出力される動き検出信号に基づいて、仮想３次元空間内のオブジェクトを移動させる情報処理プログラム、および、情報処理装置に関する。
【背景技術】
【０００２】
従来より、加速度センサやジャイロセンサを備えた入力装置を用いたゲーム装置が知られている（例えば、特許文献１）。このゲーム装置では、プレイヤは棒状の入力装置を刀と見立てて動かし、加速度センサやジャイロセンサを用いて刀を振る等の動作を検出し、ゲーム内で刀を所持したキャラクタの動作に反映させている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３０８７５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したようなゲーム装置においては、以下に示す問題点があった。すなわち、上記のゲーム装置では、加速度センサやジャイロセンサにより検出された刀を振る動作が、実際にプレイヤが意図した方向に対する振る動作として認識されず、例えば、刀により所定のオブジェクトに対して切る動作を行ったつもりが、実際には所定のオブジェクトに対して切る動作が行えないことがあった。その結果、ゲームの難易度が上がってしまう事によりユーザのモチベーションを低下させることがあった。
【０００５】
それ故に、本発明の目的は、加速度センサや角速度センサを備えた入力装置を用いたゲームにおいて、ゲームの難易度を適度なものとするゲーム装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係の一例を示したものであって、本発明を何ら限定するものではない。
【０００７】
第１の発明は、ユーザが操作する入力装置の姿勢または動きを検出する所定の検出手段から取得する動き情報に基づいて、仮想３次元空間内のオブジェクトを移動させる情報処理を行う情報処理装置のコンピュータに実行させる情報処理プログラムであって、コンピュータを、移動方向算出手段（Ｓ４）と、オブジェクト移動手段（Ｓ７）として機能させる。移動方向算出手段は、動き情報に基づき、入力装置が移動した方向を示す移動方向データを算出する。オブジェクト移動手段は、オブジェクトの位置が、移動方向データに基づいて当該オブジェクトを移動させたときの位置を、当該移動した方向に対して直交、あるいは、実質的に直交する方向にのみ補正した位置になるように当該オブジェクトを移動させる。
【０００８】
第１の発明によれば、オブジェクトの移動に際して、補正を行っていることをプレイヤに気付かれにくくすることができる。
【０００９】
第２の発明は、第１の発明において、所定の検出手段は入力装置に備えられている所定の動きセンサである。
【００１０】
第２の発明によれば、入力装置の姿勢または動きについて、より正確に検出することが可能となる。
【００１１】
第３の発明は、第１の発明において、オブジェクト移動手段は、オブジェクトを所定の目標位置に一致するように、あるいは、近づくように移動させる。
【００１２】
第３の発明によれば、オブジェクトの移動について補正が行われていることをプレイヤに気付かれずに、ゲームの難易度を調整することができる。
【００１３】
第４の発明は、第１の発明において、情報処理プログラムは、コンピュータを、動き情報に基づき入力装置の姿勢を示す入力姿勢を繰り返し算出する入力姿勢算出手段（Ｓ３）として更に機能させる。そして、オブジェクト移動手段は、入力姿勢算出手段によって繰り返し算出された入力姿勢に基づいた入力装置の移動方向に対して直交、あるいは、実質的に直交する方向にのみ補正した位置になるように当該オブジェクトを移動させる。
【００１４】
第５の発明は、第４の発明において、オブジェクト移動手段は、入力姿勢算出手段によって繰り返し算出された入力姿勢に基づいた当該入力姿勢の変化に基づいて定まる面に対して直交、あるいは、実質的に直交する方向にのみ補正した位置になるように当該オブジェクトを移動させる。
【００１５】
第４乃至第５の発明によれば、補正を行っていることをプレイヤに気付かれにくくすることができる。
【００１６】
第６の発明は、第４の発明において、オブジェクト移動手段は、入力姿勢算出手段によって繰り返し算出された入力姿勢のうちの所定の２つの入力姿勢を示すベクトルの外積で定まる方向にのみ補正した位置になるように当該オブジェクトを移動させる。
【００１７】
第６の発明によれば、情報処理装置の処理負荷を高めることなく補正方向を算出することができる。
【００１８】
第７の発明は、第６の発明において、入力姿勢算出手段によって繰り返し算出された入力姿勢のうちの所定の２つの入力姿勢は、続けて算出された入力姿勢である。
【００１９】
第７の発明によれば、プレイヤに補正を行っていることを気付かれにくくするためにより適切な補正方向を算出することができる。
【００２０】
第８の発明は、第１の発明において、情報処理プログラムは、コンピュータを、入力装置の動きの大きさが所定の値より大きいか否かを判定する動き判定手段として更に機能させる。そして、オブジェクト移動手段は、動き判定手段で入力装置の動きの大きさが所定の値より大きいと判定された時に補正を行う。
【００２１】
第８の発明によれば、プレイヤに、より気付かれにくい補正を行うことが可能となる。
【００２２】
第９の発明は、第１または第８の発明において、オブジェクト移動手段は、入力装置の動きの大きさが大きいほど、補正方向データで示される方向への補正の大きさを大きくする。
【００２３】
第９の発明によれば、プレイヤの操作内容と連動した補正が行われ、より違和感が少なく、プレイヤに気付かれにくい補正を行うことが可能となる。
【００２４】
第１０の発明は、第１の発明において、オブジェクト移動手段は、移動した方向に対して直交、あるいは、実質的に直交する方向を示す補正方向データを算出する補正方向算出手段（Ｓ６）を含む。そして、オブジェクトの位置が、移動方向データに基づいて当該オブジェクトを移動させたときの位置を、補正方向データで示される方向にのみ補正した位置になるように当該オブジェクトを移動させる。
【００２５】
第１０の発明によれば、第１の発明と同様の効果を得ることができる。
【００２６】
第１１の発明は、第１の発明において、動きセンサは角速度センサである。そして、動き情報は、角速度センサによって検出される角速度を含む情報である。
【００２７】
第１１の発明によれば、入力装置の姿勢の変化をより正確に且つ簡便に算出することができ、より適切な補正を行うことが可能となる。
【００２８】
第１２の発明は、ユーザが操作する入力装置の姿勢または動きを検出する所定の検出手段から取得する動き情報に基づいて、仮想３次元空間内のオブジェクトを移動させる情報処理を行う情報処理装置であって、移動方向算出手段（１０）とオブジェクト移動手段（１０）とを備える。移動方向算出手段は、動き情報に基づき、入力装置の移動した方向を示す移動方向を算出する。オブジェクト移動手段は、オブジェクトの位置が、移動方向に基づいて当該オブジェクトを移動させたときの位置を、当該移動した方向に対して直交、あるいは、実質的に直交する方向にのみ補正した位置になるように当該オブジェクトを移動させる。
【００２９】
第１２の発明によれば、第１の発明と同様の効果を得ることができる。
【発明の効果】
【００３０】
本発明によれば、補正を行っていることをプレイヤに気付かれにくくしながらゲームの難易度を調整することができ、ゲームの興趣性を高めることができる。
【図面の簡単な説明】
【００３１】
【図１】ゲームシステム１の外観図
【図２】ゲーム装置３の構成を示すブロック図
【図３】入力装置８の外観構成を示す斜視図
【図４】コントローラ５の外観構成を示す斜視図
【図５】コントローラ５の内部構造を示す図
【図６】コントローラ５の内部構造を示す図
【図７】入力装置８の構成を示すブロック図
【図８】本実施形態における剣オブジェクトの移動に関して説明するための図
【図９】本実施形態にかかる剣オブジェクトの移動および補正処理の概要を説明するための図
【図１０】本実施形態にかかる剣オブジェクトの移動および補正処理の概要を説明するための図
【図１１】本実施形態にかかる剣オブジェクトの移動および補正処理の概要を説明するための図
【図１２】本実施形態にかかる剣オブジェクトの移動および補正処理の概要を説明するための図
【図１３】本実施形態にかかる剣オブジェクトの移動および補正処理の概要を説明するための図
【図１４】外部メインメモリ１２のメモリマップを示す図
【図１５】第１の実施形態にかかる処理を示すフローチャート
【図１６】第１の実施形態にかかる剣オブジェクトの移動および補正の概念を示す図
【図１７】第２の実施形態にかかる処理を示すフローチャート
【図１８】第２の実施形態にかかる剣オブジェクトの移動および補正の概念を示す図
【発明を実施するための形態】
【００３２】
以下、本発明の実施の形態について、図面を参照して説明する。尚、この実施例により本発明が限定されるものではない。
【００３３】
まず、各実施形態の詳細を説明するに先立ち、各実施形態で共通して使用されるゲームシステムの構成について説明する。
【００３４】
［ゲームシステムの全体構成］
図１を参照して、本発明の実施形態に係るゲーム装置を含むゲームシステム１について説明する。図１は、ゲームシステム１の外観図である。以下、据置型のゲーム装置を一例にして、本実施形態のゲーム装置およびゲームプログラムについて説明する。図１において、ゲームシステム１は、テレビジョン受像器（以下、単に「テレビ」と記載する）２、ゲーム装置３、光ディスク４、入力装置８、およびマーカ部６を含む。本システムは、入力装置８を用いたゲーム操作に基づいてゲーム装置３でゲーム処理を実行するものである。
【００３５】
ゲーム装置３には、当該ゲーム装置３に対して交換可能に用いられる情報記憶媒体の一例である光ディスク４が脱着可能に挿入される。光ディスク４には、ゲーム装置３において実行されるためのゲームプログラムが記憶されている。ゲーム装置３の前面には光ディスク４の挿入口が設けられている。ゲーム装置３は、挿入口に挿入された光ディスク４に記憶されているゲームプログラムを読み出して実行することによってゲーム処理を実行する。
【００３６】
ゲーム装置３には、表示装置の一例であるテレビ２が接続コードを介して接続される。テレビ２は、ゲーム装置３において実行されるゲーム処理の結果得られるゲーム画像を表示する。また、テレビ２の画面の周辺（図１では画面の上側）には、マーカ部６が設置される。マーカ部６は、その両端に２つのマーカ６Ｒおよび６Ｌを備えている。マーカ６Ｒ（マーカ６Ｌも同様）は、具体的には１以上の赤外ＬＥＤであり、テレビ２の前方に向かって赤外光を出力する。マーカ部６はゲーム装置３に接続されており、ゲーム装置３はマーカ部６が備える各赤外ＬＥＤの点灯を制御することが可能である。
【００３７】
入力装置８は、自機に対して行われた操作の内容を示す操作データをゲーム装置３に与えるものである。本実施形態では、入力装置８はコントローラ５とジャイロセンサユニット７とを含む。詳細は後述するが、入力装置８は、コントローラ５に対してジャイロセンサユニット７が着脱可能に接続されている構成である。コントローラ５とゲーム装置３とは無線通信によって接続される。本実施形態では、コントローラ５とゲーム装置３との間の無線通信には例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース）（登録商標）の技術が用いられる。なお、他の実施形態においてはコントローラ５とゲーム装置３とは有線で接続されてもよい。
【００３８】
［ゲーム装置３の内部構成］
次に、図２を参照して、ゲーム装置３の内部構成について説明する。図２は、ゲーム装置３の構成を示すブロック図である。ゲーム装置３は、ＣＰＵ１０、システムＬＳＩ１１、外部メインメモリ１２、ＲＯＭ／ＲＴＣ１３、ディスクドライブ１４、およびＡＶ−ＩＣ１５等を有する。
【００３９】
ＣＰＵ１０は、光ディスク４に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。ＣＰＵ１０は、システムＬＳＩ１１に接続される。システムＬＳＩ１１には、ＣＰＵ１０の他、外部メインメモリ１２、ＲＯＭ／ＲＴＣ１３、ディスクドライブ１４およびＡＶ−ＩＣ１５が接続される。システムＬＳＩ１１は、それに接続される各構成要素間のデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。システムＬＳＩ１１の内部構成については後述する。揮発性の外部メインメモリ１２は、光ディスク４から読み出されたゲームプログラムや、フラッシュメモリ１７から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、ＣＰＵ１０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ１３は、ゲーム装置３の起動用のプログラムが組み込まれるＲＯＭ（いわゆるブートＲＯＭ）と、時間をカウントするクロック回路（ＲＴＣ：Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）とを有する。ディスクドライブ１４は、光ディスク４からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ１１ｅまたは外部メインメモリ１２に読み出したデータを書き込む。
【００４０】
また、システムＬＳＩ１１には、入出力プロセッサ（Ｉ／Ｏプロセッサ）１１ａ、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）１１ｂ、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）１１ｃ、ＶＲＡＭ１１ｄ、および内部メインメモリ１１ｅが設けられる。図示は省略するが、これらの構成要素１１ａ〜１１ｅは内部バスによって互いに接続される。
【００４１】
ＧＰＵ１１ｂは、描画手段の一部を形成し、ＣＰＵ１０からのグラフィクスコマンド（作画命令）に従って画像を生成する。ＶＲＡＭ１１ｄは、ＧＰＵ１１ｂがグラフィクスコマンドを実行するために必要なデータ（ポリゴンデータやテクスチャデータ等のデータ）を記憶する。画像が生成される際には、ＧＰＵ１１ｂは、ＶＲＡＭ１１ｄに記憶されたデータを用いて画像データを作成する。
【００４２】
ＤＳＰ１１ｃは、オーディオプロセッサとして機能し、内部メインメモリ１１ｅや外部メインメモリ１２に記憶されるサウンドデータや音波形（音色）データを用いて、音声データを生成する。
【００４３】
上述のように生成された画像データおよび音声データは、ＡＶ−ＩＣ１５によって読み出される。ＡＶ−ＩＣ１５は、読み出した画像データをＡＶコネクタ１６を介してテレビ２に出力するとともに、読み出した音声データを、テレビ２に内蔵されるスピーカ２ａに出力する。これによって、画像がテレビ２に表示されるとともに音がスピーカ２ａから出力される。
【００４４】
入出力プロセッサ１１ａは、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ１１ａは、フラッシュメモリ１７、無線通信モジュール１８、無線コントローラモジュール１９、拡張コネクタ２０、およびメモリカード用コネクタ２１に接続される。無線通信モジュール１８にはアンテナ２２が接続され、無線コントローラモジュール１９にはアンテナ２３が接続される。
【００４５】
入出力プロセッサ１１ａは、無線通信モジュール１８およびアンテナ２２を介してネットワークに接続し、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。入出力プロセッサ１１ａは、定期的にフラッシュメモリ１７にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、無線通信モジュール１８およびアンテナ２２を介してネットワークに送信する。また、入出力プロセッサ１１ａは、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ２２および無線通信モジュール１８を介して受信し、受信したデータをフラッシュメモリ１７に記憶する。ＣＰＵ１０はゲームプログラムを実行することにより、フラッシュメモリ１７に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ１７には、ゲーム装置３と他のゲーム装置や各種サーバとの間で送受信されるデータの他、ゲーム装置３を利用してプレイしたゲームのセーブデータ（ゲームの結果データまたは途中データ）が記憶されてもよい。
【００４６】
また、入出力プロセッサ１１ａは、コントローラ５から送信される操作データをアンテナ２３および無線コントローラモジュール１９を介して受信し、内部メインメモリ１１ｅまたは外部メインメモリ１２のバッファ領域に記憶（一時記憶）する。
【００４７】
さらに、入出力プロセッサ１１ａには、拡張コネクタ２０およびメモリカード用コネクタ２１が接続される。拡張コネクタ２０は、ＵＳＢやＳＣＳＩのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによって無線通信モジュール１８に替えてネットワークとの通信を行ったりすることができる。メモリカード用コネクタ２１は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ１１ａは、拡張コネクタ２０やメモリカード用コネクタ２１を介して外部記憶媒体にアクセスし、外部記憶媒体にデータを保存したり、外部記憶媒体からデータを読み出したりすることができる。
【００４８】
ゲーム装置３には、電源ボタン２４、リセットボタン２５、およびイジェクトボタン２６が設けられる。電源ボタン２４およびリセットボタン２５は、システムＬＳＩ１１に接続される。電源ボタン２４がオンされると、ゲーム装置３の各構成要素に対して、図示しないＡＣアダプタを経て電源が供給される。リセットボタン２５が押されると、システムＬＳＩ１１は、ゲーム装置３の起動プログラムを再起動する。イジェクトボタン２６は、ディスクドライブ１４に接続される。イジェクトボタン２６が押されると、ディスクドライブ１４から光ディスク４が排出される。
【００４９】
［入力装置８の構成］
次に、図３〜図６を参照して、入力装置８について説明する。図３は、入力装置８の外観構成を示す斜視図である。図４は、コントローラ５の外観構成を示す斜視図である。図３は、コントローラ５の上側後方から見た斜視図であり、図４は、コントローラ５を下側前方から見た斜視図である。
【００５０】
図３および図４において、コントローラ５は、例えばプラスチック成型によって形成されたハウジング３１を有している。ハウジング３１は、その前後方向（図３に示すＺ軸方向）を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。プレイヤは、コントローラ５に設けられたボタンを押下すること、および、コントローラ５自体を動かしてその位置や姿勢を変えることによってゲーム操作を行うことができる。
【００５１】
ハウジング３１には、複数の操作ボタンが設けられる。図３に示すように、ハウジング３１の上面には、十字ボタン３２ａ、１番ボタン３２ｂ、２番ボタン３２ｃ、Ａボタン３２ｄ、マイナスボタン３２ｅ、ホームボタン３２ｆ、プラスボタン３２ｇ、および電源ボタン３２ｈが設けられる。本明細書では、これらのボタン３２ａ〜３２ｈが設けられるハウジング３１の上面を「ボタン面」と呼ぶことがある。一方、図４に示すように、ハウジング３１の下面には凹部が形成されており、当該凹部の後面側傾斜面にはＢボタン３２ｉが設けられる。これらの各操作ボタン３２ａ〜３２ｉには、ゲーム装置３が実行するゲームプログラムに応じた機能が適宜割り当てられる。また、電源ボタン３２ｈは遠隔からゲーム装置３本体の電源をオン／オフするためのものである。ホームボタン３２ｆおよび電源ボタン３２ｈは、その上面がハウジング３１の上面に埋没している。これによって、プレイヤがホームボタン３２ｆまたは電源ボタン３２ｈを誤って押下することを防止することができる。
【００５２】
ハウジング３１の後面にはコネクタ３３が設けられている。コネクタ３３は、コントローラ５に他の機器（例えば、ジャイロセンサユニット７や他のコントローラ）を接続するために利用される。また、ハウジング３１の後面におけるコネクタ３３の両側には、上記他の機器が容易に離脱することを防止するために係止穴３３ａが設けられている。
【００５３】
ハウジング３１上面の後方には複数（図３では４つ）のＬＥＤ３４ａ〜３４ｄが設けられる。ここで、コントローラ５には、他のメインコントローラと区別するためにコントローラ種別（番号）が付与される。各ＬＥＤ３４ａ〜３４ｄは、コントローラ５に現在設定されている上記コントローラ種別をプレイヤに通知したり、コントローラ５の電池残量をプレイヤに通知したりする等の目的で用いられる。具体的には、コントローラ５を用いてゲーム操作が行われる際、上記コントローラ種別に応じて複数のＬＥＤ３４ａ〜３４ｄのいずれか１つが点灯する。
【００５４】
また、コントローラ５は撮像情報演算部３５（図６）を有しており、図４に示すように、ハウジング３１前面には撮像情報演算部３５の光入射面３５ａが設けられる。光入射面３５ａは、マーカ６Ｒおよび６Ｌからの赤外光を少なくとも透過する材質で構成される。
【００５５】
ハウジング３１上面における１番ボタン３２ｂとホームボタン３２ｆとの間には、コントローラ５に内蔵されるスピーカ４９（図５）からの音を外部に放出するための音抜き孔３１ａが形成されている。
【００５６】
次に、図５および図６を参照して、コントローラ５の内部構造について説明する。図５および図６は、コントローラ５の内部構造を示す図である。なお、図５は、コントローラ５の上筐体（ハウジング３１の一部）を外した状態を示す斜視図である。図６は、コントローラ５の下筐体（ハウジング３１の一部）を外した状態を示す斜視図である。図６に示す斜視図は、図５に示す基板３０を裏面から見た斜視図となっている。
【００５７】
図５において、ハウジング３１の内部には基板３０が固設されており、当該基板３０の上主面上に各操作ボタン３２ａ〜３２ｈ、各ＬＥＤ３４ａ〜３４ｄ、加速度センサ３７、アンテナ４５、およびスピーカ４９等が設けられる。これらは、基板３０等に形成された配線（図示せず）によってマイクロコンピュータ（Ｍｉｃｒｏ  Ｃｏｍｐｕｔｅｒ：マイコン）４２（図６参照）に接続される。本実施形態では、加速度センサ３７は、Ｘ軸方向に関してコントローラ５の中心からずれた位置に配置されている。これによって、コントローラ５をＺ軸回りに回転させたときのコントローラ５の動きが算出しやすくなる。また、加速度センサ３７は、長手方向（Ｚ軸方向）に関してコントローラ５の中心よりも前方に配置されている。また、無線モジュール４４（図６）およびアンテナ４５によって、コントローラ５がワイヤレスコントローラとして機能する。
【００５８】
一方、図６において、基板３０の下主面上の前端縁に撮像情報演算部３５が設けられる。撮像情報演算部３５は、コントローラ５の前方から順に赤外線フィルタ３８、レンズ３９、撮像素子４０、および画像処理回路４１を備えている。これらの部材３８〜４１はそれぞれ基板３０の下主面に取り付けられる。
【００５９】
さらに、基板３０の下主面上には、上記マイコン４２およびバイブレータ４８が設けられている。バイブレータ４８は、例えば振動モータやソレノイドであり、基板３０等に形成された配線によってマイコン４２と接続される。マイコン４２の指示によりバイブレータ４８が作動することによってコントローラ５に振動が発生する。これによって、コントローラ５を把持しているプレイヤの手にその振動が伝達される、いわゆる振動対応ゲームを実現することができる。本実施形態では、バイブレータ４８は、ハウジング３１のやや前方寄りに配置される。つまり、バイブレータ４８がコントローラ５の中心よりも端側に配置することによって、バイブレータ４８の振動によりコントローラ５全体を大きく振動させることができる。また、コネクタ３３は、基板３０の下主面上の後端縁に取り付けられる。なお、図５および図６に示す他、コントローラ５は、マイコン４２の基本クロックを生成する水晶振動子、スピーカ４９に音声信号を出力するアンプ等を備えている。
【００６０】
また、ジャイロセンサユニット７は、３軸回りの角速度を検知するジャイロセンサ（図７に示すジャイロセンサ５５および５６）を有する。ジャイロセンサユニット７は、コントローラ５のコネクタ３３に着脱可能に装着される。ジャイロセンサユニット７の前端（図３に示すＺ軸正方向側の端部）には、コネクタ３３に接続可能なプラグ（図７に示すプラグ５３）が設けられる。さらに、プラグ５３の両側にはフック（図示せず）が設けられる。ジャイロセンサユニット７がコントローラ５に対して装着される状態では、プラグ５３がコネクタ３３に接続されるとともに、上記フックがコントローラ５の係止穴３３ａに係止する。これによって、コントローラ５とジャイロセンサユニット７とがしっかりと固定される。また、ジャイロセンサユニット７は側面（図３に示すＸ軸方向の面）にボタン５１を有している。ボタン５１は、それを押下すれば上記フックの係止穴３３ａに対する係止状態を解除することができるように構成されている。したがって、ボタン５１を押下しながらプラグ５３をコネクタ３３から抜くことによって、ジャイロセンサユニット７をコントローラ５から離脱することができる。
【００６１】
また、ジャイロセンサユニット７の後端には、上記コネクタ３３と同形状のコネクタが設けられる。したがって、コントローラ５（のコネクタ３３）に対して装着可能な他の機器は、ジャイロセンサユニット７のコネクタに対しても装着可能である。なお、図３においては、当該コネクタに対してカバー５２が着脱可能に装着されている。
【００６２】
なお、図３〜図６に示したコントローラ５およびジャイロセンサユニット７の形状や、各操作ボタンの形状、加速度センサやバイブレータの数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であっても、本発明を実現することができる。また、本実施形態では、撮像手段による撮像方向はＺ軸正方向であるが、撮像方向はいずれの方向であってもよい。すなわち、コントローラ５における撮像情報演算部３５の位置（撮像情報演算部３５の光入射面３５ａ）は、ハウジング３１の前面でなくてもよく、ハウジング３１の外部から光を取り入れることができれば他の面に設けられてもかまわない。
【００６３】
図７は、入力装置８（コントローラ５およびジャイロセンサユニット７）の構成を示すブロック図である。コントローラ５は、操作部３２（各操作ボタン３２ａ〜３２ｉ）、コネクタ３３、撮像情報演算部３５、通信部３６、および加速度センサ３７を備えている。コントローラ５は、自機に対して行われた操作内容を示すデータを操作データとしてゲーム装置３へ送信するものである。
【００６４】
操作部３２は、上述した各操作ボタン３２ａ〜３２ｉを含み、各操作ボタン３２ａ〜３２ｉに対する入力状態（各操作ボタン３２ａ〜３２ｉが押下されたか否か）を示す操作ボタンデータを通信部３６のマイコン４２へ出力する。
【００６５】
撮像情報演算部３５は、撮像手段が撮像した画像データを解析してその中で輝度が高い領域を判別してその領域の重心位置やサイズなどを算出するためのシステムである。撮像情報演算部３５は、例えば最大２００フレーム／秒程度のサンプリング周期を有するので、比較的高速なコントローラ５の動きでも追跡して解析することができる。
【００６６】
撮像情報演算部３５は、赤外線フィルタ３８、レンズ３９、撮像素子４０、および画像処理回路４１を含んでいる。赤外線フィルタ３８は、コントローラ５の前方から入射する光から赤外線のみを通過させる。レンズ３９は、赤外線フィルタ３８を透過した赤外線を集光して撮像素子４０へ入射させる。撮像素子４０は、例えばＣＭＯＳセンサやあるいはＣＣＤセンサのような固体撮像素子であり、レンズ３９が集光した赤外線を受光して画像信号を出力する。ここで、テレビ２の表示画面近傍に配置されるマーカ部６のマーカ６Ｒおよび６Ｌは、テレビ２の前方に向かって赤外光を出力する赤外ＬＥＤで構成される。したがって、赤外線フィルタ３８を設けることによって、撮像素子４０は、赤外線フィルタ３８を通過した赤外線だけを受光して画像データを生成するので、マーカ６Ｒおよび６Ｌの画像をより正確に撮像することができる。以下では、撮像素子４０によって撮像された画像を撮像画像と呼ぶ。撮像素子４０によって生成された画像データは、画像処理回路４１で処理される。画像処理回路４１は、撮像画像内における撮像対象（マーカ６Ｒおよび６Ｌ）の位置を算出する。画像処理回路４１は、算出された位置を示す座標を通信部３６のマイコン４２へ出力する。この座標のデータは、マイコン４２によって操作データとしてゲーム装置３に送信される。以下では、上記座標を「マーカ座標」と呼ぶ。マーカ座標はコントローラ５自体の向き（傾斜角度）や位置に対応して変化するので、ゲーム装置３はこのマーカ座標を用いてコントローラ５の向きや位置を算出することができる。
【００６７】
なお、他の実施形態においては、コントローラ５は画像処理回路４１を備えていない構成であってもよく、撮像画像自体がコントローラ５からゲーム装置３へ送信されてもよい。このとき、ゲーム装置３は、画像処理回路４１と同様の機能を有する回路あるいはプログラムを有しており、上記マーカ座標を算出するようにしてもよい。
【００６８】
加速度センサ３７は、コントローラ５の加速度（重力加速度を含む）を検出する、すなわち、コントローラ５に加わる力（重力を含む）を検出する。加速度センサ３７は、当該加速度センサ３７の検出部に加わっている加速度のうち、センシング軸方向に沿った直線方向の加速度（直線加速度）の値を検出する。例えば、２軸以上の多軸加速度センサの場合には、加速度センサの検出部に加わっている加速度として、各軸に沿った成分の加速度をそれぞれ検出する。例えば、３軸または２軸の加速度センサは、アナログ・デバイセズ株式会社（Ａｎａｌｏｇ  Ｄｅｖｉｃｅｓ，  Ｉｎｃ．）またはＳＴマイクロエレクトロニクス社（ＳＴＭｉｃｒｏｅｌｅｃｔｒｏｎｉｃｓ  Ｎ．Ｖ．）から入手可能である種類のものでもよい。なお、加速度センサ３７は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。
【００６９】
本実施形態では、加速度センサ３７は、コントローラ５を基準とした上下方向（図３に示すＹ軸方向）、左右方向（図３に示すＸ軸方向）および前後方向（図３に示すＺ軸方向）の３軸方向に関してそれぞれ直線加速度を検出する。加速度センサ３７は、各軸に沿った直線方向に関する加速度を検出するものであるため、加速度センサ３７からの出力は３軸それぞれの直線加速度の値を表すものとなる。すなわち、検出された加速度は、入力装置８（コントローラ５）を基準に設定されるＸＹＺ座標系（コントローラ座標系）における３次元のベクトルとして表される。以下では、加速度センサ３７によって検出される３軸に関する各加速度値を各成分とするベクトルを加速度ベクトルと呼ぶ。
【００７０】
加速度センサ３７が検出した加速度を示すデータ（加速度データ）は、通信部３６へ出力される。なお、加速度センサ３７が検出した加速度は、コントローラ５自体の向き（傾斜角度）や動きに対応して変化するので、ゲーム装置３は加速度データを用いてコントローラ５の向きや動きを算出することができる。本実施形態では、ゲーム装置３は、加速度データに基づいてコントローラ５の姿勢を判断する。
【００７１】
加速度センサ３７が検出した加速度（加速度ベクトル）を示すデータ（加速度データ）は、通信部３６へ出力される。本実施形態において、加速度センサ３７は、コントローラ５の傾斜角度を判断するためのデータを出力するセンサとして用いられる。
【００７２】
なお、加速度センサ３７から出力される加速度の信号に基づいて、ゲーム装置３のプロセッサ（例えばＣＰＵ１０）またはコントローラ５のプロセッサ（例えばマイコン４２）等のコンピュータが処理を行うことによって、コントローラ５に関するさらなる情報を推測または算出（判定）することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサ３７を搭載するコントローラ５が静止状態であることを前提としてコンピュータ側の処理が実行される場合（すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理が実行される場合）、コントローラ５が現実に静止状態であれば、検出された加速度に基づいてコントローラ５の姿勢が重力方向に対して傾いているか否かまたはどの程度傾いているかを知ることができる。具体的には、加速度センサ３７の検出軸が鉛直下方向を向いている状態を基準としたとき、１Ｇ（重力加速度）がかかっているか否かによって、コントローラ５が基準に対して傾いているか否かを知ることができるし、その大きさによって基準に対してどの程度傾いているかも知ることができる。また、多軸の加速度センサ３７の場合には、さらに各軸の加速度の信号に対して処理を施すことによって、重力方向に対してコントローラ５がどの程度傾いているかをより詳細に知ることができる。この場合において、プロセッサは、加速度センサ３７からの出力に基づいてコントローラ５の傾斜角度を算出してもよいし、当該傾斜角度を算出せずに、コントローラ５の傾斜方向を算出するようにしてもよい。このように、加速度センサ３７をプロセッサと組み合わせて用いることによって、コントローラ５の傾斜角度または姿勢を判定することができる。
【００７３】
一方、コントローラ５が動的な状態（コントローラ５が動かされている状態）であることを前提とする場合には、加速度センサ３７は重力加速度に加えてコントローラ５の動きに応じた加速度を検出するので、検出された加速度から重力加速度の成分を所定の処理により除去することによってコントローラ５の動き方向を知ることができる。また、コントローラ５が動的な状態であることを前提とする場合であっても、検出された加速度から、加速度センサの動きに応じた加速度の成分を所定の処理により除去することによって、重力方向に対するコントローラ５の傾きを知ることが可能である。なお、他の実施例では、加速度センサ３７は、内蔵の加速度検出手段で検出された加速度信号をマイコン４２に出力する前に当該加速度信号に対して所定の処理を行うための、組込み式の処理装置または他の種類の専用の処理装置を備えていてもよい。組込み式または専用の処理装置は、例えば、加速度センサ３７が静的な加速度（例えば、重力加速度）を検出するために用いられる場合、加速度信号を傾斜角（あるいは、他の好ましいパラメータ）に変換するものであってもよい。
【００７４】
通信部３６は、マイコン４２、メモリ４３、無線モジュール４４、およびアンテナ４５を含んでいる。マイコン４２は、処理を行う際にメモリ４３を記憶領域として用いながら、マイコン４２が取得したデータをゲーム装置３へ無線送信する無線モジュール４４を制御する。また、マイコン４２はコネクタ３３に接続されている。ジャイロセンサユニット７から送信されてくるデータは、コネクタ３３を介してマイコン４２に入力される。以下、ジャイロセンサユニット７の構成について説明する。
【００７５】
ジャイロセンサユニット７は、プラグ５３、マイコン５４、２軸ジャイロセンサ５５、および１軸ジャイロセンサ５６を備えている。上述のように、ジャイロセンサユニット７は、３軸（本実施形態では、ＸＹＺ軸）周りの角速度を検出し、検出した角速度を示すデータ（角速度データ）をコントローラ５へ送信する。
【００７６】
２軸ジャイロセンサ５５は、Ｘ軸周りの角速度およびＹ軸周りの（単位時間あたりの）角速度を検出する。また、１軸ジャイロセンサ５６は、Ｚ軸周りの（単位時間あたりの）角速度を検出する。なお、本明細書では、コントローラ５の撮像方向（Ｚ軸正方向）を基準として、ＸＹＺ軸周りの回転方向を、それぞれ、ロール方向、ピッチ方向、ヨー方向と呼ぶ。すなわち、２軸ジャイロセンサ５５は、ロール方向（Ｘ軸周りの回転方向）およびピッチ方向（Ｙ軸周りの回転方向）の角速度を検出し、１軸ジャイロセンサ５６は、ヨー方向（Ｚ軸周りの回転方向）の角速度を検出する。
【００７７】
なお、本実施形態では、３軸回りの角速度を検出するために、２軸ジャイロセンサ５５と１軸ジャイロセンサ５６とを用いる構成としたが、他の実施形態においては、３軸回りの角速度を検出することができればよく、用いるジャイロセンサの数および組み合わせはどのようなものであってもよい。
【００７８】
また、本実施形態では、後述する姿勢算出処理における計算を容易にする目的で、各ジャイロセンサ５５および５６が角速度を検出する３つの軸は、加速度センサ３７が加速度を検出する３つの軸（ＸＹＺ軸）と一致するように設定される。ただし、他の実施形態においては、各ジャイロセンサ５６および５７が角速度を検出する３つの軸と、加速度センサ３７が加速度を検出する３つの軸とは一致しなくてもよい。
【００７９】
各ジャイロセンサ５５および５６で検出された角速度を示すデータは、マイコン５４に出力される。したがって、マイコン５４には、ＸＹＺ軸の３軸回りの角度速度を示すデータが入力されることになる。マイコン５４は、上記３軸回りの角速度を示すデータを角速度データとしてプラグ５３を介してコントローラ５へ送信する。なお、マイコン５４からコントローラ５への送信は所定の周期毎に逐次行われるが、ゲームの処理は１／６０秒を単位として（１フレーム時間として）行われることが一般的であるので、この時間以下の周期で送信を行うことが好ましい。
【００８０】
コントローラ５の説明に戻り、操作部３２、撮像情報演算部３５、および加速度センサ３７からマイコン４２へ出力されたデータ、ならびに、ジャイロセンサユニット７からマイコン４２へ送信されてきたデータは、一時的にメモリ４３に格納される。これらのデータは、上記操作データとしてゲーム装置３へ送信される。すなわち、マイコン４２は、ゲーム装置３の無線コントローラモジュール１９への送信タイミングが到来すると、メモリ４３に格納されている操作データを無線モジュール４４へ出力する。無線モジュール４４は、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース）（登録商標）の技術を用いて、所定周波数の搬送波を操作データで変調し、その微弱電波信号をアンテナ４５から放射する。つまり、操作データは、無線モジュール４４で微弱電波信号に変調されてコントローラ５から送信される。微弱電波信号はゲーム装置３側の無線コントローラモジュール１９で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置３は操作データを取得することができる。そして、ゲーム装置３のＣＰＵ１０は、取得した操作データとゲームプログラムとに基づいて、ゲーム処理を行う。なお、通信部３６から無線コントローラモジュール１９への無線送信は所定の周期毎に逐次行われるが、ゲームの処理は１／６０秒を単位として（１フレーム時間として）行われることが一般的であるので、この時間以下の周期で送信を行うことが好ましい。コントローラ５の通信部３６は、例えば１／２００秒に１回の割合で各操作データをゲーム装置３の無線コントローラモジュール１９へ出力する。
【００８１】
上記コントローラ５を用いることによって、プレイヤは、各操作ボタンを押下する従来の一般的なゲーム操作に加えて、コントローラ５を任意の傾斜角度に傾ける操作を行うことができる。その他、上記コントローラ５によれば、プレイヤは、コントローラ５によって画面上の任意の位置を指示する操作、および、コントローラ５自体を動かす操作を行うこともできる。
【００８２】
（第１の実施形態）
次に、第１の実施形態で想定するゲームの概要について説明する。本実施形態で想定するゲームは、剣劇ゲーム等の剣を振って遊ぶゲームを想定している。プレイヤは、上記のようなジャイロセンサユニット７を備えた入力装置８を剣（の柄）に見立てて、剣を振るように入力装置８を振る操作を行う。この操作に連動して、仮想ゲーム空間内において剣オブジェクトを手にしているプレイヤオブジェクトが当該剣オブジェクトを振る動作を行う。そして、本ゲームでは、斬る対象となる「ターゲット」が画面上に表示され、このターゲットを狙って斬るような指示がプレイヤに提示される。プレイヤはこのターゲットを狙って入力装置８（仮想ゲーム空間内の剣オブジェクト）を振り、制限時間内にターゲットを斬ることができれば得点が加算されるというゲームを想定する。（なお、画面上に複数の上記ターゲット候補のオブジェクトを表示し、プレイヤが所定の操作を行うことで任意の１つのオブジェクトをターゲットとしてロックオンするようなゲームにも適用可能である。）
【００８３】
ここで、剣オブジェクトの移動軌跡に関して説明する。本ゲームでは、仮想ゲーム空間内において、図８に示すように、プレイヤオブジェクト１０１が剣オブジェクト１０２を右手に持っている状態とする。そのため、剣オブジェクト１０２の移動軌跡については、剣の柄（剣を把持している手先の部分）は、図８の球１０３（図８は２次元的に示しているため、円として示している）の表面上を移動するような状態になる（プレイヤオブジェクト１０１の腕の長さを半径とするような球）。また、剣オブジェクト１０２の切っ先部分は、プレイヤオブジェクト１０１の肩を中心点（図８の点１１０）とする仮想的な球の表面上を移動するような状態になる（プレイヤオブジェクト１０１の腕の長さに剣オブジェクト１０２の長さを加えた長さを半径とするような球）。つまり、本実施形態における剣オブジェクト１０２の移動軌跡は、ある点を中心点とする球形状の移動軌跡となる。なお、この球は、プレイヤオブジェクト１０１の右腕の可動範囲に対応するものである。当該可動範囲はゲームの内容に応じて適宜設定されればよい。そのため、図８では、円で表現しているが、可動範囲は楕円形状の球となることもある。いずれにしても、本実施形態における剣オブジェクト１０２の移動軌跡は、ある点（図８では点１１０）を中心点とする球形状の移動軌跡となることに変わりはない。
【００８４】
次に、本実施形態にかかる処理の概要について説明する。上記のように、本ゲームは、ジャイロセンサユニット７を備えた入力装置８を剣に見立てて振ることでプレイするゲームである。このような、ジャイロセンサユニット７を用いた振りの操作については、３次元のアナログ的な操作が要求される。また、本実施形態では、ジャイロセンサユニット７からの出力データ（角速度データ）に基づいて入力装置８の姿勢を算出するが、ジャイロセンサユニット７に基づいて算出される姿勢と、現実の入力装置８の姿勢との間にズレが生じること等が原因で、プレイヤが狙い通りの場所を斬る操作が難しく、ゲームの難度を必要以上に高くして、ゲームの興趣性を下げてしまう可能性がある。一方、本ゲームでは、上記のように斬る対象として「ターゲット」が示されている、つまり、プレイヤが狙う場所が予め判っている状況である。そのため、本ゲームでは、当該ターゲットの場所に剣オブジェクト１０２が向かうように剣オブジェクト１０２の軌道を補正することで、ゲームの難度を下げ、プレイヤの遊びやすさを向上させてゲームの興趣性を高めている。
【００８５】
ここで、上記のような補正を行うとき、単純に剣オブジェクト１０２の位置をターゲットに近づけるような補正を行うと、違和感のある動きとなる可能性がある。例えば、ターゲット１０５と剣オブジェクト１０２の位置の関係が図９のような関係であるとする（なお、図９では、剣オブジェクト１０２の位置を点として示している）。そして、プレイヤが入力装置８を右に水平に動かしたとする（つまり、右に水平斬りするような操作を行ったとする）。この場合、補正を行わなければ、仮想空間内では剣オブジェクト１０２の軌跡は、図１０に示すように、右に水平に移動する軌跡となり、その結果、剣オブジェクト１０２はターゲット１０５には当たらず、斬ることができない。
【００８６】
そこで、剣オブジェクト１０２の移動軌跡が、例えば、図１１に示すような、ターゲット１０５に命中するような軌跡となるように補正する場合を考える。このような補正を行うときの手法として、まず、図１２に示すように、実際の入力装置８の動きに沿って剣オブジェクト１０２を移動させた位置（図１２の点１０６の位置）を算出した後、この位置を更にターゲット１０５に向けて補正することが考えられる。この補正において、単純に剣オブジェクト１０２の位置をターゲット１０５に近づける補正を行うと、図１２の矢印１０７のように、右上方向に位置を移動させることになる（その結果、図１２の点１０８の位置となる）。しかし、このような補正を行うと、剣オブジェクト１０２がターゲット１０５に近づくときは、剣オブジェクトの移動速度が速くなるような印象（例えば、不自然に加速がかかっている、あるいは、ターゲット１０５に剣オブジェクト１０２が引き寄せられるような印象）をプレイヤに与える。また、ターゲット１０５から剣が遠ざかる場合は、剣の移動速度が遅くなる印象（ターゲット１０５に剣オブジェクト１０２が引っ張られて、移動速度が鈍くなるような印象）を与え、補正していることがプレイヤに悟られてしまう可能性がある。
【００８７】
そこで、プレイヤに剣オブジェクト１０２の移動について、自然な動きに見せつつも補正していることが悟られないようにするために、本実施形態では、以下のような補正を行う。すなわち、一旦剣オブジェクト１０２を入力装置８の動きに沿って移動させ、当該移動後の位置から、当該入力装置８から得られた剣オブジェクト１０２の移動方向（図１２では、右方向）についての補正は行わずに、それ以外の方向への補正のみを行う。具体的には、剣オブジェクト１０２の移動軌跡によってできる面の法線を算出し、この法線方向（つまり、剣オブジェクト１０２の移動方向に対して直交する方向）のみについての補正を行う。上図を例にすると、右に向けての水平斬りであるため、入力装置８の移動方向（および、これに基づいた剣オブジェクト１０２の移動方向）は右方向となり、その移動軌跡でできる面の法線方向は、真上方向となる。そのため、入力装置８の実際の動きに沿った剣オブジェクト１０２の位置を算出した後、上記図１２のような右上方向にではなく、図１３に示すように、真上方向（図１３の矢印１０９）にのみ剣オブジェクト１０２の位置を移動させるような補正を行う（図１３の点１１０の位置）。
【００８８】
更に、本実施形態では、ジャイロセンサユニット７から得られた回転の速度（角速度）に応じて、上記の補正の強さ（図１３で言うと、矢印１０９の長さに相当する）を変えている。これは、プレイヤが入力装置８をゆっくり動かしているときに補正を行うと、補正していることが悟られやすい（気付かれやすい）が、入力装置８を素早く動かしているときに補正を行っても、プレイヤに悟られにくい（気付かれにくい）という特徴を利用したものである。
【００８９】
このような補正を行うことで、プレイヤに補正を行っていることを気付かれずに、自然な動きに見せかけた補正を行って、プレイヤに違和感を感じさせることなく、ゲームを遊びやすくすることが可能となる。
【００９０】
次に、ゲーム装置３によって実行されるゲーム処理の詳細を説明する。まず、ゲーム処理の際に外部メインメモリ１２に記憶されるデータについて説明する。図１４は、ゲーム装置３の外部メインメモリ１２のメモリマップを示す図である。図１４において、外部メインメモリ１２は、ゲームプログラム６０、操作データ６２、およびゲーム処理用データ６７を含む。ゲームプログラム６０は、光ディスク４に記憶され、ゲームプログラム実行時には外部メインメモリ１２に転送されて記憶される。
【００９１】
ゲームプログラム６０は、ＣＰＵ１０によって実行されるゲームプログラムを記憶し、このゲームプログラム６０は、剣移動処理プログラム６１などによって構成される。
【００９２】
操作データ６２は、コントローラ５からゲーム装置３へ送信されてくる操作データである。上述したように、コントローラ５からゲーム装置３へ１／２００秒に１回の割合で操作データが送信されるので、外部メインメモリ１２に記憶される操作データ６２はこの割合で更新される。本実施形態においては、外部メインメモリ１２には、最新の（最後に取得された）操作データのみが記憶されればよい。
【００９３】
操作データ６２には、角速度データ６３、加速度データ６４、マーカ座標データ６５、および操作ボタンデータ６６が含まれる。角速度データ６３は、ジャイロセンサユニット７のジャイロセンサ５５および５６によって検出された角速度を示すデータである。ここでは、角速度データ６３は、図３に示すＸＹＺの３軸回りのそれぞれの角速度を示す。また、加速度データ６４は、加速度センサ３７によって検出された加速度（加速度ベクトル）を示すデータである。ここでは、加速度データ６４は、図３に示すＸＹＺの３軸の方向に関する加速度を各成分とする３次元の加速度ベクトルを示す。また、本実施形態においては、コントローラ５が静止している状態で加速度センサ３７が検出する加速度ベクトルの大きさを”１”とする。つまり、加速度センサ３７によって検出される重力加速度の大きさは”１”である。
【００９４】
マーカ座標データ６５は、撮像情報演算部３５の画像処理回路４１によって算出される座標、すなわち上記マーカ座標を示すデータである。マーカ座標は、撮像画像に対応する平面上の位置を表すための２次元座標系で表現される。なお、撮像素子４０によって２つのマーカ６Ｒおよび６Ｌが撮像される場合には、２つのマーカ座標が算出される。一方、撮像素子４０の撮像可能な範囲内にマーカ６Ｒおよび６Ｌのいずれか一方が位置しない場合には、撮像素子４０によって１つのマーカのみが撮像され、１つのマーカ座標のみが算出される。また、撮像素子４０の撮像可能な範囲内にマーカ６Ｒおよび６Ｌの両方が位置しない場合には、撮像素子４０によってマーカが撮像されず、マーカ座標は算出されない。したがって、マーカ座標データ６５は、２つのマーカ座標を示す場合もあるし、１つのマーカ座標を示す場合もあるし、マーカ座標がないことを示す場合もある。
【００９５】
操作ボタンデータ６６は、各操作ボタン３２ａ〜３２ｉに対する入力状態を示すデータである。
【００９６】
ゲーム処理用データ６７は、ゲーム処理において用いられる各種データであり、入力装置姿勢データ６８、現在剣姿勢データ６９、前回剣姿勢データ７０、補正割合データ７１、法線ベクトルデータ７２、剣位置データ７３、および、ターゲット位置データ７４が含まれる。
【００９７】
入力装置姿勢データ６８は、入力装置８の姿勢を示すデータである。以下では、入力装置８の姿勢を装置姿勢Ｇｄｉｒと呼ぶ。本実施形態では、装置姿勢Ｇｄｉｒを互いに直交する３つの軸の組みで示す。すなわち、上記コントローラ座標系におけるＸＹＺ軸で示す。以下では、コントローラ座標系におけるＸ軸を”Ｇｄｉｒ．Ｘ”、Ｙ軸を”Ｇｄｉｒ．Ｙ”、Ｚ軸を”Ｇｄｉｒ．Ｚ”と示す。また、各軸の要素は、例えば、Ｘ軸は、（Ｇｄｉｒ．Ｘ．ｘ，Ｇｄｉｒ．Ｘ．ｙ，Ｇｄｉｒ．Ｘ．ｚ）と示す。より具体的には、入力装置姿勢データ６８は以下のような行列に相当するデータとなる。
【００９８】
【数１】
2010246768.tif 000003
【００９９】
現在剣姿勢データ６９は、上記剣オブジェクト１０２の姿勢を示すデータである。以下では、当該現在剣姿勢データ６９で示される剣オブジェクトの姿勢を現在剣姿勢Ｓｄｉｒと呼ぶ。また、本実施形態では、現在剣姿勢データ６９は、上記入力装置姿勢データ６８と一致させて扱うものとする。つまり、装置姿勢Ｇｄｉｒをそのまま現在剣姿勢Ｓｄｉｒとして適用するものとする。そのため、現在剣姿勢データＳｄｉｒも、上述した入力装置姿勢データＧｄｉｒと同様に、以下のような、３×３の行列の形式で示すことができる。
【０１００】
【数２】
2010246768.tif 000004
【０１０１】
前回剣姿勢データ７０は、直近に算出された現在剣姿勢データを保存したものである。後述する処理は、１フレーム単位で繰り返し行われるものであるため、直前のフレームにおいて算出された現在剣姿勢データ６９が前回剣姿勢データ７０として示されるものである。以下では、当該前回剣姿勢データ７０で示される剣オブジェクトの姿勢を前回剣姿勢ＰｒｅｖＳｄｉｒと呼ぶ。前回剣姿勢データ７０も、上述した入力装置姿勢データＧｄｉｒと同様に、以下のような、３×３の行列の形式で示すことができる。
【０１０２】
【数３】
2010246768.tif 000005
【０１０３】
補正割合データ７１は、上述したような補正の強さを示すための係数である。法線ベクトルデータ７２は、上述したような、剣の移動軌跡でできる面に対する法線方向を示すデータである。剣位置データ７３は、仮想ゲーム空間内における剣オブジェクト１０２の位置を示すデータである。ターゲット位置データ７４は、上記ターゲット１０５の仮想空間内における位置を示すデータである。以下では、補正割合データ７１で示される補正割合をｒａｔｉｏ、法線ベクトルデータ７２で示される法線ベクトルをｎｒｍ、剣位置データ７３で示される剣オブジェクト１０２の仮想空間内における位置をＳｐｏｓ、ターゲット位置データ７４で示されるターゲット１０５の仮想空間内における位置をＴｐｏｓと呼ぶ。
【０１０４】
次に、図１５〜図１６を参照して、ゲーム装置３によって実行されるゲーム処理のうち、本実施形態にかかる剣オブジェクト移動処理（以下、剣移動処理と呼ぶ）について説明する。図１５は、第１の実施形態にかかる剣移動処理の詳細を示すフローチャートであり、図１６は、剣オブジェクト１０２の位置を補正する処理の概要を示した図である。ゲーム装置３の電源が投入されると、ゲーム装置３のＣＰＵ１０は、ＲＯＭ／ＲＴＣ１３に記憶されている起動プログラムを実行し、これによって外部メインメモリ１２等の各ユニットが初期化される。そして、光ディスク４に記憶されたゲームプログラムが外部メインメモリ１２に読み込まれ、ＣＰＵ１０によって当該ゲームプログラムの実行が開始される。図１５に示すフローチャートは、以上の処理が完了した後に行われる剣移動処理を示すフローチャートである。また、図１５に示すステップＳ１〜ステップＳ８の処理ループは、１フレーム毎に繰り返し実行される。なお、本実施形態においては、上記剣移動処理以外にかかるゲーム処理は本発明と直接関連しないので、説明は省略する。
【０１０５】
図１５において、まず、ステップＳ１において、以下の処理で用いられる各種変数の初期化処理が実行される。具体的には、入力装置姿勢データ６８（つまり、装置姿勢Ｇｄｉｒ）に、以下に示す行列に相当するデータが設定される。また、前回剣姿勢データ７０にも、同じデータが設定される。
【０１０６】
【数４】
2010246768.tif 000006
【０１０７】
次に、ステップＳ２において、外部メインメモリ１２から角速度データ６３が取得される。
【０１０８】
次に、ステップＳ３において、上記取得された角速度データ６３に基づいて入力装置８の姿勢が更新される。具体的には、まず、当該角速度データ６３で示される３軸の角速度成分を合成して３次元ベクトルｏｍｅｇａを算出する。次に、当該３次元ベクトルｏｍｅｇａを軸として、当該ｏｍｅｇａで示される角度の絶対値だけ回転させる回転行列が生成される。次に、当該回転行列を用いて装置姿勢Ｇｄｉｒを変換する（つまり、装置姿勢Ｇｄｉｒを回転させる）ことで、現在の入力装置８の姿勢が算出される。そして、当該算出された姿勢で装置姿勢Ｇｄｉｒを更新する。
【０１０９】
次に、ステップＳ４において、上記算出された装置姿勢Ｇｄｉｒに基づいて剣オブジェクト１０２の位置と姿勢が算出される。剣オブジェクト１０２の姿勢Ｓｄｉｒについては、上述したように、装置姿勢Ｇｄｉｒをそのまま適用させる。そのため、現在剣姿勢データ６９に入力装置姿勢データ６８の値が設定される（つまり、入力装置８の移動方向がそのまま剣オブジェクト１０２の移動方向となる）。一方、剣オブジェクト１０２の位置Ｓｐｏｓについては、例えば、次のように算出される。まず、プレイヤオブジェクトの肩から剣オブジェクト１０２の位置（より正確には、剣オブジェクト１０２の剣先位置。ゲーム内容によっては、剣オブジェクト１０２の重心位置でもよい）までの距離Ｓを算出する。そして、以下の式を用いて剣位置Ｓｐｏｓが算出される（つまり、入力装置８の姿勢の変化のみに基づいた剣オブジェクト１０２の移動後の位置が算出されることになる）。
Ｓｐｏｓ＝（プレイヤオブジェクトの肩の位置）＋（Ｇｄｉｒ．Ｚ）×Ｓ
【０１１０】
次に、ステップＳ５において、補正割合ｒａｔｉｏの算出が実行される。本実施形態では、補正割合ｒａｔｉｏは、角速度の大きさに比例させる。具体的には、以下の式を用いて補正割合ｒａｔｉｏを算出する。
ｒａｔｉｏ＝（ｏｍｅｇａの絶対値）・Ｋ
ここで、Ｋは予め定められた定数である。更に、上記式で算出された補正割合ｒａｔｉｏが“１”より大きいときは、当該補正割合ｒａｔｉｏの値を”１”とする。つまり、補正割合ｒａｔｉｏの最大値が”１”となるように調整が行われる。このようにして求められた補正割合ｒａｔｉｏが補正割合データ７１として外部メインメモリ１２に記憶される。
【０１１１】
次に、ステップＳ６において、剣オブジェクト１０２の移動軌跡によってできる平面に対する法線ベクトルｎｒｍが算出される。具体的には、外部メインメモリ１２から前回剣姿勢データ７０が読み出され、前回剣姿勢ＰｒｅｖＳｄｉｒのＺ軸方向を示すベクトルＰｒｅｖＳｄｉｒ．Ｚと、上記ステップＳ４で算出された現在剣姿勢ＳｄｉｒのＺ軸方向を示すベクトルＳｄｉｒ．Ｚとの外積が算出される。そして、算出された値を正規化することで法線ベクトルｎｒｍが算出され、法線ベクトルデータ７２として外部メインメモリ１２に記憶される。
【０１１２】
次に、ステップＳ７において、剣位置Ｓｐｏｓをターゲット位置Ｔｐｏｓに近づけるような補正が行われる。図１６を用いて、この処理の詳細を説明する。まず、外部メインメモリ１２から剣位置データ７３およびターゲット位置データ７４が読み出される。そして、剣オブジェクト１０２の位置からターゲット１０５の位置へ向かうベクトルＶが、以下の式で算出される。
Ｖ＝Ｔｐｏｓ−Ｓｐｏｓ
次に、ベクトルＶの成分のうち、上記法線ベクトルｎｒｍ成分の長さを示す長さｄが以下の式で算出される。
ｄ＝（ｎｒｍ．ｘ）・（Ｖ．ｘ）＋（ｎｒｍ．ｙ）・（Ｖ．ｙ）＋（ｎｒｍ．ｚ）・（Ｖ．ｚ）
ここで、上記（ｎｒｍ．ｘ）は、上記法線ベクトルｎｒｍのＸ軸成分を示し、（Ｖ．ｘ）は、上記ベクトルＶのＸ軸成分を示す。Ｙ軸成分、Ｚ軸成分についても同様の示し方をしている。そして、以下の式を用いて、最終的な剣の位置Ｓｐｏｓが算出され、剣位置データ７３として外部メインメモリ１２に記憶される。すなわち、剣の位置Ｓｐｏｓを法線ベクトルｎｒｍの方向に、補正割合ｒａｔｉｏに応じて移動させることになる。
Ｓｐｏｓ＝Ｓｐｏｓ＋ｎｒｍ・ｄ・ｒａｔｉｏ
【０１１３】
次に、ステップＳ８において、現在剣姿勢データ６９を前回剣姿勢データ７０として外部メインメモリ１２に記憶する。その後、上記ステップＳ２に戻り、所定のゲーム処理終了条件（図示せず）が満たされるまで、処理が繰り返される。以上で、第１の実施形態にかかる剣オブジェクト移動処理の説明を終了する。
【０１１４】
このように、本実施形態では、剣オブジェクト１０２の位置をターゲットに近づける補正を行う際に、単純にターゲット１０５に近づくような補正を行うのではなく、剣オブジェクト１０２の移動軌跡でできる面の法線方向についてのみの補正を行っている。これにより、補正を行っていることをプレイヤに気付かれにくくしながら、ターゲット１０５に剣オブジェクト１０２を当たりやすくすることができる。その結果、ゲームの難易度を下げ、ユーザのモチベーションの低下を防ぐことができる。
【０１１５】
（第２の実施形態）
次に、図１７から図１８を参照して、本発明の第２の実施形態について説明する。上述の第１の実施形態では、補正を行う際、上記法線ベクトルｎｒｍの方向にのみ補正を行うようにしていた。これに対して、第２の実施形態では、ゲームの興趣性をより高めるために、不自然さをプレイヤに感じさせない程度に、上記法線ベクトルｎｒｍ方向から少しだけターゲット方向に向けた補正を行う。
【０１１６】
例えば、プレイヤがゲームの難易度を設定可能なように、予め数段階の難易度設定を設けておく。例えば、１（最も易しい）〜１０（最も難しい）の１０段階で難易度設定が可能なようにしておく（例えばゲームの設定画面を表示し、プレイヤに難易度の選択が可能なようにする）。そして、上記第１の実施形態で示したような、上記法線ベクトルｎｒｍの方向にのみ補正を行うものを難易度１０に割り当てる。そして、難易度が下がっていくに連れて、プレイヤに違和感を感じさせない程度に、ｎｒｍ方向から少しだけターゲット１０５側に向けて剣オブジェクト１０２の位置を補正する。
【０１１７】
次に、第２の実施形態にかかる処理について、図１７および図１８を用いて説明する。図１７は、第２の実施形態にかかる剣移動処理の詳細を示すフローチャートであり、図１８は、本処理の概要を示した図である。なお、図１７において、ステップＳ１からステップＳ６までの処理、および、ステップＳ８の処理は、上述の第１の実施形態で図１５を用いて説明したステップＳ１からステップＳ６の処理およびステップＳ８の処理と同様であるため、ここでは詳細な説明を省略する。
【０１１８】
図１７において、ステップＳ６における法線ベクトルｎｒｍの算出が終われば、次に、ステップＳ２１において、剣オブジェクト１０２の位置からターゲット１０５の位置へ向かうベクトルＶが、以下の式で算出される。
Ｖ＝Ｔｐｏｓ−Ｓｐｏｓ
【０１１９】
次に、ステップＳ２２において、上記ベクトルＶの成分のうち、図１８に示すような、上記法線ベクトルｎｒｍの方向成分Ｗが以下の式で算出される。
ｄ＝（ｎｒｍ．ｘ）・（Ｖ．ｘ）＋（ｎｒｍ．ｙ）・（Ｖ．ｙ）＋（ｎｒｍ．ｚ）・（Ｖ．ｚ）
Ｗ＝ｎｒｍ・ｄ
なお、ｄは、第１の実施形態で上述した上記法線ベクトルｎｒｍ成分の長さである。
【０１２０】
次に、ステップＳ２３において、上記ベクトルＶと方向成分Ｗとを線形補間したベクトルＬＩが以下の式で算出される。
ＬＩ＝Ｗ・ｋ＋Ｖ・（１−ｋ）
ここで、係数ｋは、０．０〜１．０の範囲の値をとる調整用の係数である。そして、上述したような難易度の設定内容が、当該係数ｋとして設定される。例えば、上記のような１０段階の難易度を例にすると、難易度１（最も易しい）が設定されたときは、係数ｋには０が設定される。その結果、ＬＩ＝Ｖとなり、ターゲット１０５に向かうようなベクトルが算出される。一方、難易度１０（最も難しい）が設定されたときは、係数ｋには１が設定される。その結果、ＬＩ＝Ｗとなり、上記第１の実施形態と同様の、法線ベクトルｎｒｍ方向のみのベクトルＬＩが算出されることになる。そして、難易度１〜１０の間は、例えば係数ｋの値が０．１ずつ変化するように割り当てる。
【０１２１】
次に、ステップＳ２４において、剣の位置Ｓｐｏｓが上記ベクトルＬＩで示される方向に補正される。このとき、第１の実施形態と同様に、補正割合ｒａｔｉｏによって、補正の度合いが決定される。具体的には、以下の式を用いてＳｐｏｓが算出される。
Ｓｐｏｓ＝Ｓｐｏｓ＋ＬＩ・ｒａｔｉｏ
【０１２２】
その後、第１の実施形態で上述したステップＳ８以降の処理が実行される。以上で、第２の実施形態にかかる剣移動処理の説明を終了する。
【０１２３】
このように、第２の実施形態では、ゲーム難易度の設定に応じて、上記補正する向きを若干変化させることが可能となる。上記の例では、難易度を１０に設定すれば、剣オブジェクト１０２の位置については上記法線ベクトルｎｒｍ方向のみへの補正が行われるが、難易度を１に設定すれば、当該ｎｒｍ方向から少しターゲット１０５の方向に近づくような補正が行われ、ゲームの難易度をより下げることができる。これにより、ゲームの興趣性をより高めることが可能となる。
【０１２４】
なお、上述の各実施形態では、ジャイロセンサユニット７を用いたものを例としたが、この他、例えば補正割合ｒａｔｉｏの算出については、加速度センサ３７で検出した加速度に基づいて算出するようにしても良い。この場合は、検出された加速度の大きさに補正割合ｒａｔｉｏを比例させればよい。
【０１２５】
また、上述の実施形態では、入力装置８の動きの大きさの大小に関わらず、常に補正を行うような処理を行っていた。これに限らず、入力装置８の動きの大きさが所定値より大きいときにのみ、上述したような補正を行うような処理としてもよい。例えば、上記ステップＳ２で取得した角速度の大きさが所定値より大きいか否かを判定し、大きい場合にのみ、上記ステップＳ３以降の処理を実行するように構成しても良い。また、入力装置８の動きの大きさの判定については、角速度の大きさだけでなく、上記ステップＳ３で算出された入力装置の姿勢に基づいて判定するようにしても良い。すなわち、直前のフレームで算出された入力装置８の姿勢との差異を算出し、その差異が所定値より大きいか否かを判定することで、入力装置の動きの大きさが所定値より大きいか否かを判定するようにしても良い。これにより、入力装置８の動きが小さいときは補正を行わないようにすることができるため、よりプレイヤに補正を行っていることを気付かれにくくすることができる。
【０１２６】
また、入力装置８の姿勢の検出に関して、上述の実施形態では、上記ジャイロセンサユニット７を用いたものを例に挙げた。これに限らず、入力装置８の姿勢の算出については、所定のカメラで入力装置８を撮像し、当該撮像データに基づいて入力装置８の姿勢を算出するようにしてもよい。例えば、所定のカメラで入力装置８を撮像し、当該撮像画像のデータをゲーム装置３に取得させる。そして、ＣＰＵ１０は、撮像画像に写っている入力装置８を識別し、当該入力装置８の姿勢やその移動方向を算出する処理を実行してもよい。そして、当該算出された移動方向に基づき、上述したような移動方向に直交する方向を算出してもよい。
【産業上の利用可能性】
【０１２７】
本発明にかかる情報処理プログラムおよび情報処理装置は、仮想空間内のオブジェクトを移動させるときに、プレイヤに気付かれにくい補正を行って移動させることができ、ゲーム装置やパーソナルコンピュータ、携帯型の各種情報処理端末等に有用である。
【符号の説明】
【０１２８】
１…ゲームシステム
２…モニタ
２ａ…スピーカ
３…ゲーム装置
４…光ディスク
５…コントローラ
７…ジャイロセンサユニット
８…入力装置
１０…ＣＰＵ
１１…システムＬＳＩ
１１ａ…入出力プロセッサ
１１ｂ…ＧＰＵ
１１ｃ…ＤＳＰ
１１ｄ…ＶＲＡＭ
１１ｅ…内部メインメモリ
１２…外部メインメモリ
１３…ＲＯＭ／ＲＴＣ
１４…ディスクドライブ
１５…ＡＶ−ＩＣ
１６…ＡＶコネクタ
１７…フラッシュメモリ
１８…無線通信モジュール
１９…無線コントローラモジュール
２０…拡張コネクタ
２１…外部メモリカード用コネクタ
２２…アンテナ
２３…アンテナ
２４…電源ボタン
２５…リセットボタン
２６…イジェクトボタン
３０…基板
３１…ハウジング
３２…操作部
３３…コネクタ
３４…ＬＥＤ
３５…撮像情報演算部
３６…通信部
３７…加速度センサ
３８…赤外線フィルタ
３９…レンズ
４０…撮像素子
４１…画像処理回路
４２…マイコン
４３…メモリ
４４…無線モジュール
４５…アンテナ
４８…バイブレータ
４９…スピーカ
５３…プラグ
５４…マイコン
５５…２軸ジャイロセンサ
５６…１軸ジャイロセンサ
【図１】
2010246768.tif 000007
【図２】
2010246768.tif 000008
【図３】
2010246768.tif 000009
【図４】
2010246768.tif 000010
【図５】
2010246768.tif 000011
【図６】
2010246768.tif 000012
【図７】
2010246768.tif 000013
【図８】
2010246768.tif 000014
【図９】
2010246768.tif 000015
【図１０】
2010246768.tif 000016
【図１１】
2010246768.tif 000017
【図１２】
2010246768.tif 000018
【図１３】
2010246768.tif 000019
【図１４】
2010246768.tif 000020
【図１５】
2010246768.tif 000021
【図１６】
2010246768.tif 000022
【図１７】
2010246768.tif 000023
【図１８】
2010246768.tif 000024