(57)【要約】  【構成】画像処理装置では、第１仮想カメラと、第１仮想カメラの第１クリッピングエリアの周囲の領域を視野範囲に含む第２仮想カメラとを、仮想３次元空間に配置する。そして、第２仮想カメラの視野範囲に存在する特定の物体を、たとえば第１仮想カメラに基づいて描画される画面と同じ画面に描画する。具体的には、その特定の物体の座標を第２仮想カメラに基づいて第１仮想カメラの視野範囲内に縮小変換してその位置を修正した後に、第１仮想カメラに基づいて第１仮想カメラの第１クリッピングエリアを描画する。あるいは、特定の物体を拡大した後第２仮想カメラに基づいて描画し、この第２仮想カメラで描画した物体の画像と第１仮想カメラに基づいて描画した画像とを１つの画面に合成する。  【効果】仮想３次元空間内の物体を画面に表示され易くすることができ、しかも見易く表示できる。【選択図】図５
2006155442.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも仮想３次元空間に配置される仮想的な物体に関するデータを記憶する記憶手段を備え、前記仮想３次元空間を描画した画像を表示手段に表示する画像処理装置の画像処理プログラムであって、
前記画像処理装置のプロセサに、
前記仮想３次元空間に注視点を設定して、前記注視点の位置を示す注視点データを前記記憶手段に記憶する注視点設定ステップ、
前記記憶手段の少なくとも前記注視点データに基づいて前記仮想３次元空間に第１仮想カメラを設定して、前記第１仮想カメラの少なくとも位置を含む第１仮想カメラデータを前記記憶手段に記憶する第１仮想カメラ設定ステップ、
前記記憶手段の少なくとも前記第１仮想カメラデータに基づいて、前記第１仮想カメラの第１クリッピングエリアの周囲の領域の少なくとも一部を撮影可能な第２仮想カメラを設定し、前記第２仮想カメラの少なくとも位置を含む第２仮想カメラデータを前記記憶手段に記憶する第２仮想カメラ設定ステップ、
前記記憶手段の少なくとも前記物体に関するデータと前記第１仮想カメラデータと前記第２仮想カメラデータに基づいて、前記第１仮想カメラで前記第１クリッピングエリアを描画する画面に合わせて、前記第２仮想カメラで撮影可能な領域に存在する前記物体を描画して、当該画面を示す画像データを生成する画面生成ステップ、および
生成された前記画面を示す画像データに基づいて前記画面を前記表示手段に表示する表示制御ステップを実行させる画像処理プログラム。
【請求項２】
前記画面生成ステップは、
前記記憶手段の少なくとも前記物体に関するデータと前記第１仮想カメラデータと前記第２仮想カメラデータに基づいて、前記第２仮想カメラで撮影可能な領域に存在する前記物体の座標を前記第１仮想カメラで撮影可能な領域の座標に縮小する変換を行うことによって、当該物体の位置を修正する位置修正ステップ、および
前記位置修正ステップの後、前記記憶手段のデータに基づいて、前記第１仮想カメラから見て前記第１クリッピングエリアを描画して、前記画面を示す画像データを生成する画像生成ステップを含む、請求項１記載の画像処理プログラム。
【請求項３】
前記位置修正ステップは、前記物体が前記第１仮想カメラに近づくにつれて縮小率の値が大きくなるような前記変換によって、前記物体の位置を修正する、請求項２記載の画像処理プログラム。
【請求項４】
前記画面生成ステップは、
前記記憶手段の少なくとも前記第１仮想カメラデータに基づいて、前記第１仮想カメラから見て前記第１クリッピングエリアを示す画像を描画する第１描画ステップ、
前記記憶手段の少なくとも前記第１仮想カメラデータと前記第２仮想カメラデータに基づいて算出される拡大率に基づいて前記第２仮想カメラの第２クリッピングエリアに存在する前記物体の大きさを拡大し、前記記憶手段の少なくとも前記第２仮想カメラデータと前記物体に関するデータに基づいて前記第２仮想カメラから見て前記第２クリッピングエリアを示す画像を描画する第２描画ステップ、および
前記第１描画ステップで描画された画像に前記第２描画ステップで描画された画像を合成して、前記画面を示す画像データを生成する画像生成ステップを含む、請求項１記載の画像処理プログラム。
【請求項５】
前記記憶手段は、少なくとも前記物体として第１物体および第２物体に関するデータを記憶していて、
前記注視点設定ステップは、前記記憶手段に記憶される前記第１物体の位置に関するデータに基づいて、前記注視点を設定し、
前記画面生成ステップは、前記記憶手段の前記第１仮想カメラデータと前記第２仮想カメラデータと前記物体に関するデータに基づいて、前記第１クリッピングエリアに存在する前記第１物体を前記第１仮想カメラで描画する画面に合わせて、前記第２仮想カメラで撮影可能な領域に存在する前記第２物体を描画して、当該画面を示す画像データを生成する、請求項１記載の画像処理プログラム。
【請求項６】
少なくとも仮想３次元空間に配置される仮想的な物体に関するデータを記憶する記憶手段を備え、前記仮想３次元空間を描画した画像を表示手段に表示する画像処理装置であって、
前記仮想３次元空間に注視点を設定して、前記注視点の位置を示す注視点データを前記記憶手段に記憶する注視点設定手段、
前記記憶手段の少なくとも前記注視点データに基づいて前記仮想３次元空間に第１仮想カメラを設定して、前記第１仮想カメラの少なくとも位置を含む第１仮想カメラデータを前記記憶手段に記憶する第１仮想カメラ設定手段、
前記記憶手段の少なくとも前記第１仮想カメラデータに基づいて、前記第１仮想カメラの第１クリッピングエリアの周囲の領域の少なくとも一部を撮影可能な第２仮想カメラを設定し、前記第２仮想カメラの少なくとも位置を含む第２仮想カメラデータを前記記憶領域に記憶する第２仮想カメラ設定手段、
前記記憶手段の少なくとも前記物体に関するデータと前記第１仮想カメラデータと前記第２仮想カメラデータに基づいて、前記第１仮想カメラで前記第１クリッピングエリアを描画する画面に合わせて、前記第２仮想カメラで撮影可能な領域に存在する前記物体を描画して、当該画面を示す画像データを生成する画面生成手段、および
生成された前記画面を示す画像データに基づいて前記画面を前記表示手段に表示する表示制御手段を備える、画像処理装置。
【請求項７】
少なくとも仮想３次元空間に配置される仮想的な物体に関するデータと、仮想カメラ配置用データと、クリッピングエリア設定用データとが記憶される記憶手段を備え、前記物体を仮想カメラで撮影した画像を表示手段に表示する画像処理装置の画像処理プログラムであって、
前記画像処理装置のプロセサに、
前記仮想３次元空間に注視点を設定して、前記注視点の位置を示す注視点データを前記記憶手段に記憶する注視点設定ステップ、
前記記憶手段に記憶される前記仮想カメラ配置用データと前記注視点データを参照して、前記注視点を向く第１仮想カメラの少なくとも位置を示すデータを生成して前記記憶手段に記憶する第１仮想カメラ設定ステップ、
前記記憶手段に記憶される少なくとも前記クリッピングエリア設定用データと前記第１仮想カメラの位置を示すデータを参照して、前記第１仮想カメラの第１クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して前記記憶手段に記憶する第１クリッピングエリア設定ステップ、
前記記憶手段に記憶される少なくとも前記仮想カメラ配置用データを参照して、前記後方クリッピング平面を基準として前記第１仮想カメラと同じ側で前記第１仮想カメラよりも離れた位置に存在しかつ前記注視点を向く第２仮想カメラの少なくとも位置を示すデータを生成して前記記憶手段に記憶する第２仮想カメラ設定ステップ、
前記記憶手段に記憶される少なくとも前記第１仮想カメラの位置を示すデータと前記物体に関するデータを参照して、前記物体を第１仮想カメラ座標系での座標に変換することによって、当該物体の前記第１仮想カメラ座標系での座標を示すデータを生成して前記記憶手段に記憶する第１仮想カメラ座標変換ステップ、
前記記憶手段に記憶される前記仮想カメラ配置用データと前記第１仮想カメラの位置を示すデータと前記第２仮想カメラの位置を示すデータと前記物体の第１仮想カメラ座標系での座標を示すデータを参照して、前記第１クリッピングエリア外でありかつ前記第２仮想カメラで撮影可能な領域に存在する前記物体の座標を、前記第１クリッピングエリア内の座標に縮小変換することによって、当該物体の修正された座標を示す修正位置データを生成して前記記憶手段に記憶する位置修正ステップ、
前記記憶手段に記憶される少なくとも前記物体に関するデータと前記仮想カメラ配置用データと前記第１仮想カメラの位置を示すデータと前記修正位置データと参照して、前記第１クリッピングエリアに存在する前記物体を投影平面座標系での座標に変換して描画することによって、画面の画像データを生成して前記記憶手段の描画バッファに記憶する画面生成ステップ、および
前記記憶手段の前記描画バッファに記憶される前記画面の画像データを参照して、当該画面を前記表示手段に表示する表示制御ステップを実行させるための画像処理プログラム。
【請求項８】
少なくとも仮想３次元空間に配置される仮想的な物体に関するデータと、仮想カメラ配置用データと、クリッピングエリア設定用データとが記憶される記憶手段を備え、前記物体を仮想カメラで撮影した画像を表示手段に表示する画像処理装置の画像処理プログラムであって、
前記画像処理装置のプロセサに、
前記仮想３次元空間に注視点を設定して、前記注視点の位置を示す注視点データを前記記憶手段に記憶する注視点設定ステップ、
前記記憶手段に記憶される前記仮想カメラ配置用データと前記注視点データを参照して、前記注視点を向く第１仮想カメラの少なくとも位置を示すデータを生成して前記記憶手段に記憶する第１仮想カメラ設定ステップ、
前記記憶手段に記憶される少なくとも前記クリッピングエリア設定用データと前記第１仮想カメラの位置を示すデータを参照して、前記第１仮想カメラの第１クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して前記記憶手段に記憶する第１クリッピングエリア設定ステップ、
前記記憶手段に記憶される少なくとも前記仮想カメラ配置用データを参照して、前記後方クリッピング平面を基準として前記第１仮想カメラと同じ側で前記第１仮想カメラよりも離れた位置に存在しかつ前記注視点を向く第２仮想カメラの少なくとも位置を示すデータを生成して前記記憶手段に記憶する第２仮想カメラ設定ステップ、
前記記憶手段に記憶される少なくとも前記クリッピングエリア設定用データと前記第２仮想カメラの位置を示すデータを参照して、前記第２仮想カメラの第２クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して前記記憶手段に記憶する第２クリッピングエリア設定ステップ、
前記記憶手段に記憶される少なくとも前記第１仮想カメラの位置を示すデータと前記物体に関するデータを参照して、前記物体としての第１物体を第１仮想カメラ座標系での座標に変換することによって、当該第１物体の前記第１仮想カメラ座標系での座標を示すデータを生成して前記記憶手段に記憶する第１仮想カメラ座標変換ステップ、
前記記憶手段に記憶される少なくとも前記物体に関するデータと前記仮想カメラ配置用データと前記第１仮想カメラの位置を示すデータと前記第１物体の第１仮想カメラ座標系での座標を示すデータを参照して、前記第１クリッピングエリアに存在する前記第１物体を投影平面座標系での座標に変換して描画することによって、画面における当該第１物体を示す画像データを生成して前記記憶手段の描画バッファに記憶する、第１画像生成ステップ、
前記記憶手段に記憶される少なくとも前記第２仮想カメラの位置を示すデータと前記物体に関するデータを参照して、前記物体としての第２物体を第２仮想カメラ座標系での座標に変換することによって、当該第２物体の前記第２仮想カメラ座標系での座標を示すデータを生成して前記記憶手段に記憶する第２仮想カメラ座標変換ステップ、
前記記憶手段に記憶される少なくとも前記物体に関するデータと前記仮想カメラ配置用データと前記第１仮想カメラの位置を示すデータと前記第２仮想カメラの位置を示すデータと前記第２物体の第２仮想カメラ座標系での座標を示すデータを参照して、前記第２クリッピングエリアに存在する前記第２物体の大きさを拡大した後、当該第２物体を投影平面座標系での座標に変換して描画することによって、前記画面における当該第２物体を示す画像データを生成して前記記憶手段の前記描画バッファに記憶する、第２画像生成ステップ、および
前記記憶手段の前記描画バッファに記憶される前記画面の画像データを参照して、当該画面を前記表示手段に表示する表示制御ステップを実行させるための画像処理プログラム。
【請求項９】
少なくとも仮想３次元空間に配置される仮想的な物体に関するデータと、仮想カメラ配置用データと、クリッピングエリア設定用データとが記憶される記憶手段を備え、前記物体を仮想カメラで撮影した画像を表示手段に表示する画像処理装置であって、
前記仮想３次元空間に注視点を設定して、前記注視点の位置を示す注視点データを前記記憶手段に記憶する注視点設定手段、
前記記憶手段に記憶される前記仮想カメラ配置用データと前記注視点データを参照して、前記注視点を向く第１仮想カメラの少なくとも位置を示すデータを生成して前記記憶手段に記憶する第１仮想カメラ設定手段、
前記記憶手段に記憶される少なくとも前記クリッピングエリア設定用データと前記第１仮想カメラの位置を示すデータを参照して、前記第１仮想カメラの第１クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して前記記憶手段に記憶する第１クリッピングエリア設定手段、
前記記憶手段に記憶される少なくとも前記仮想カメラ配置用データを参照して、前記後方クリッピング平面を基準として前記第１仮想カメラと同じ側で前記第１仮想カメラよりも離れた位置に存在しかつ前記注視点を向く第２仮想カメラの少なくとも位置を示すデータを生成して前記記憶手段に記憶する第２仮想カメラ設定手段、
前記記憶手段に記憶される少なくとも前記第１仮想カメラの位置を示すデータと前記物体に関するデータを参照して、前記物体を第１仮想カメラ座標系での座標に変換することによって、当該物体の前記第１仮想カメラ座標系での座標を示すデータを生成して前記記憶手段に記憶する第１仮想カメラ座標変換手段、
前記記憶手段に記憶される前記仮想カメラ配置用データと前記第１仮想カメラの位置を示すデータと前記第２仮想カメラの位置を示すデータと前記物体の第１仮想カメラ座標系での座標を示すデータを参照して、前記第１クリッピングエリア外でありかつ前記第２仮想カメラで撮影可能な領域に存在する前記物体の座標を、前記第１クリッピングエリア内の座標に縮小変換することによって、当該物体の修正された座標を示す修正位置データを生成して前記記憶手段に記憶する位置修正手段、
前記記憶手段に記憶される少なくとも前記物体に関するデータと前記仮想カメラ配置用データと前記第１仮想カメラの位置を示すデータと前記修正位置データと参照して、前記第１クリッピングエリアに存在する前記物体を投影平面座標系での座標に変換して描画することによって、画面の画像データを生成して前記記憶手段の描画バッファに記憶する画面生成手段、および
前記記憶手段の前記描画バッファに記憶される前記画面の画像データを参照して、当該画面を前記表示手段に表示する表示制御手段を備える、画像処理装置。
【請求項１０】
少なくとも仮想３次元空間に配置される仮想的な物体に関するデータと、仮想カメラ配置用データと、クリッピングエリア設定用データとが記憶される記憶手段を備え、前記物体を仮想カメラで撮影した画像を表示手段に表示する画像処理装置であって、
前記仮想３次元空間に注視点を設定して、前記注視点の位置を示す注視点データを前記記憶手段に記憶する注視点設定手段、
前記記憶手段に記憶される前記仮想カメラ配置用データと前記注視点データを参照して、前記注視点を向く第１仮想カメラの少なくとも位置を示すデータを生成して前記記憶手段に記憶する第１仮想カメラ設定手段、
前記記憶手段に記憶される少なくとも前記クリッピングエリア設定用データと前記第１仮想カメラの位置を示すデータを参照して、前記第１仮想カメラの第１クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して前記記憶手段に記憶する第１クリッピングエリア設定手段、
前記記憶手段に記憶される少なくとも前記仮想カメラ配置用データを参照して、前記後方クリッピング平面を基準として前記第１仮想カメラと同じ側で前記第１仮想カメラよりも離れた位置に存在しかつ前記注視点を向く第２仮想カメラの少なくとも位置を示すデータを生成して前記記憶手段に記憶する第２仮想カメラ設定手段、
前記記憶手段に記憶される少なくとも前記クリッピングエリア設定用データと前記第２仮想カメラの位置を示すデータを参照して、前記第２仮想カメラの第２クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して前記記憶手段に記憶する第２クリッピングエリア設定手段、
前記記憶手段に記憶される少なくとも前記第１仮想カメラの位置を示すデータと前記物体に関するデータを参照して、前記物体としての第１物体を第１仮想カメラ座標系での座標に変換することによって、当該第１物体の前記第１仮想カメラ座標系での座標を示すデータを生成して前記記憶手段に記憶する第１仮想カメラ座標変換手段、
前記記憶手段に記憶される少なくとも前記物体に関するデータと前記仮想カメラ配置用データと前記第１仮想カメラの位置を示すデータと前記第１物体の第１仮想カメラ座標系での座標を示すデータを参照して、前記第１クリッピングエリアに存在する前記第１物体を投影平面座標系での座標に変換して描画することによって、画面における当該第１物体を示す画像データを生成して前記記憶手段の描画バッファに記憶する、第１画像生成手段、
前記記憶手段に記憶される少なくとも前記第２仮想カメラの位置を示すデータと前記物体に関するデータを参照して、前記物体としての第２物体を第２仮想カメラ座標系での座標に変換することによって、当該第２物体の前記第２仮想カメラ座標系での座標を示すデータを生成して前記記憶手段に記憶する第２仮想カメラ座標変換手段、
前記記憶手段に記憶される少なくとも前記物体に関するデータと前記仮想カメラ配置用データと前記第１仮想カメラの位置を示すデータと前記第２仮想カメラの位置を示すデータと前記第２物体の第２仮想カメラ座標系での座標を示すデータを参照して、前記第２クリッピングエリアに存在する前記第２物体を拡大した後、当該第２物体を投影平面座標系での座標に変換して描画することによって、前記画面における当該第２物体を示す画像データを生成して前記記憶手段の前記描画バッファに記憶する、第２画像生成手段、および
前記記憶手段の前記描画バッファに記憶される前記画面の画像データを参照して、当該画面を前記表示手段に表示する表示制御手段を備える画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理プログラムおよび画像処理装置に関し、特にたとえば、仮想３次元空間に配置された仮想的な物体を仮想カメラで撮影した画像を表示手段に表示する、画像処理プログラムおよび画像処理装置に関する。
【背景技術】
【０００２】
従来、仮想３次元空間を示す画像は１つの視点（仮想カメラ）から見た情報に基づいて生成されていた。たとえばプレイヤキャラクタが仮想３次元空間に登場するゲームにおいては、基本的にはプレイヤキャラクタが常に画面に表示されるように仮想カメラが設定される。この場合、仮想３次元空間内の他の物体（たとえばライバルキャラクタないし敵キャラクタ等）は、プレイヤキャラクタをとらえる視野内に存在するときに、画面に表示されることとなる。
【０００３】
また、プレイヤキャラクタと敵キャラクタとが仮想３次元空間内に存在するゲームにおいて、プレイヤキャラクタと敵キャラクタとを同時に表示しようとする技術が存在している。たとえば、特許文献１には、シューティングゲームにおいてプレイヤキャラクタの位置から予め定めた距離範囲内に敵キャラクタが存在する場合には、敵キャラクタを追尾し、かつ、プレイヤキャラクタが視界に存在するように仮想カメラを設定し、その仮想カメラから見た視界画像を生成する技術が開示されている。この特許文献１の技術では、プレイヤキャラクタと敵キャラクタとが予め定めた距離内にいる場合には敵キャラクタが常に視界に入るようにして、プレイヤが敵キャラクタを見失うことを防止し、プレイヤがシューティング操作を楽しめるようにしている。
【特許文献１】特開２００１−１４９６４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述のようなプレイヤキャラクタのみに注目した仮想カメラの場合には、たとえば視野の端の方に見えている敵キャラクタ等の物体が仮想カメラの存在する側に移動すると、その物体はすぐに視野外に出てしまって、急速に画面外に移動しているように見えることとなる。逆に、仮想カメラの近くの視野外に存在している物体が仮想カメラの存在する側と反対方向に移動すると、その物体は視野内に入り、画面外から唐突に現れるように見えることとなる。つまり、物体が急激に移動したような現象が生じ、プレイヤにとって見難い画像となってしまう。
【０００５】
また、物体は仮想カメラから遠い位置に存在する場合には視野内に入り易いが、仮想カメラに近付くと視野に入り難くなってしまう。このように、プレイヤキャラクタのみに注目した場合には、プレイヤキャラクタ以外の物体が目に触れ難くなってしまい、他の物体等を含めた３次元空間内の状況を把握し難いという問題もある。たとえばプレイヤキャラクタとライバルキャラクタとが空間内を移動しながら競走するようなゲームでは、プレイヤキャラクタばかりが表示されると、緊張感やスリルが得難くなり、ゲームの楽しさを減らす要因となってしまう。
【０００６】
一方、特許文献１のような技術では、常にプレイヤキャラクタと敵キャラクタの両方を視界にとらえるために、両者が離れている場合や複数の敵キャラクタが登場するような場合等には、仮想カメラがキャラクタから遠く離れた位置に設定されてしまう。したがって、キャラクタを離れた視点から見ることとなるので、プレイヤキャラクタと敵キャラクタの両方を表示することはできても、画面上ではキャラクタが小さくなり過ぎて見難くなってしまうという問題がある。
【０００７】
それゆえに、この発明の主たる目的は、新規な、画像処理プログラムおよび画像処理装置を提供することである。
【０００８】
この発明の他の目的は、仮想３次元空間内の物体を画面に表示され易くすることができる、画像処理プログラムおよび画像処理装置を提供することである。
【０００９】
この発明のその他の目的は、仮想３次元空間内の物体を画面に表示され易くすることができ、しかも見易く表示することができる、画像処理プログラムおよび画像処理装置を提供することである。
【課題を解決するための手段】
【００１０】
第１の発明は、少なくとも仮想３次元空間に配置される仮想的な物体に関するデータを記憶する記憶手段を備え、仮想３次元空間を描画した画像を表示手段に表示する画像処理装置の画像処理プログラムである。この画像処理プログラムは、画像処理装置のプロセサに、注視点設定ステップ、第１仮想カメラ設定ステップ、第２仮想カメラ設定ステップ、画面生成ステップ、および表示制御ステップを実行させる。注視点設定ステップは、仮想３次元空間に注視点を設定して、注視点の位置を示す注視点データを記憶手段に記憶する。第１仮想カメラ設定ステップは、記憶手段の少なくとも注視点データに基づいて仮想３次元空間に第１仮想カメラを設定して、第１仮想カメラの少なくとも位置を含む第１仮想カメラデータを記憶手段に記憶する。第２仮想カメラ設定ステップは、記憶手段の少なくとも第１仮想カメラデータに基づいて、第１仮想カメラの第１クリッピングエリアの周囲の領域の少なくとも一部を撮影可能な第２仮想カメラを設定し、第２仮想カメラの少なくとも位置を含む第２仮想カメラデータを記憶手段に記憶する。画面生成ステップは、記憶手段の少なくとも物体に関するデータと第１仮想カメラデータと第２仮想カメラデータに基づいて、第１仮想カメラで第１クリッピングエリアを描画する画面に合わせて、第２仮想カメラで撮影可能な領域に存在する物体を描画して、当該画面を示す画像データを生成する。表示制御ステップは、生成された画面を示す画像データに基づいて画面を表示手段に表示する。
【００１１】
第１の発明では、画像処理プログラムは、画像処理装置（１０：実施例で相当する参照符号。以下同じ。）のプログラムである。画像処理装置のプロセサ（４２）はこの画像処理プログラムに従って処理を実行し、仮想３次元空間を描画した画像を表示手段（１２、１４）に表示する。画像処理装置の記憶手段（４８、２８ａ）は、少なくとも仮想３次元空間に配置される仮想的な物体（９２）に関するデータを記憶する。たとえばプレイヤキャラクタ、ライバルキャラクタ、背景オブジェクトのような物体のオブジェクトデータ、テクスチャデータ等が記憶される。注視点設定ステップ（Ｓ３）は注視点を仮想３次元空間に設定して、注視点データを記憶手段（８４）に記憶する。第１仮想カメラ設定ステップ（Ｓ３）は、たとえば、少なくとも注視点データに基づいて、注視点を向く所定の視野角（２θ１）の第１仮想カメラを仮想３次元空間に設定して、第１仮想カメラの少なくとも位置データを含む第１仮想カメラデータを記憶手段（８０）に記憶する。第２仮想カメラ設定ステップ（Ｓ７）は、少なくとも第１仮想カメラデータに基づいて第２仮想カメラを仮想３次元空間に設定して、第２仮想カメラの少なくとも位置データを含む第２仮想カメラデータを記憶手段（８２）に記憶する。この第２仮想カメラは、たとえば注視点を向く所定の視野角（２θ２）を有していて、第１仮想カメラの第１クリッピングエリアの周囲の領域の少なくとも一部を撮影可能に設定される。つまり、第２仮想カメラは第１仮想カメラの視野範囲外の領域を撮影可能なようにして仮想３次元空間に配置されている。画面生成ステップ（Ｓ９−Ｓ２１、Ｓ１０１−Ｓ１１３）は、少なくとも物体に関するデータと第１仮想カメラデータと第２仮想カメラデータに基づいて、第１仮想カメラで第１クリッピングエリアを描画する画面に合わせて、第２仮想カメラで撮影可能な領域に存在する物体を描画し、当該画面を示す画像データを生成して記憶手段（４８、５６，５８）に記憶する。つまり、第１仮想カメラから第１クリッピングエリアを撮影した画面に、第１クリッピングエリアの周囲の領域に存在している物体が描画される。そして、表示制御ステップ（Ｓ２３）は、生成された画像データに基づいて当該画面を表示手段に表示する。
【００１２】
第１の発明によれば、第１仮想カメラの視野範囲外に存在する物体であっても、第２仮想カメラに基づいて、第１仮想カメラで撮影した画面に合わせて描画することができる。したがって、仮想３次元空間に存在する物体が画面に表示され易い。
【００１３】
第２の発明は、第１の発明に従属し、画面生成ステップは、位置修正ステップ、および画像生成ステップを含む。位置修正ステップは、記憶手段の少なくとも物体に関するデータと第１仮想カメラデータと第２仮想カメラデータに基づいて、第２仮想カメラで撮影可能な領域に存在する物体の座標を第１仮想カメラで撮影可能な領域の座標に縮小する変換を行うことによって、当該物体の位置を修正する。画像生成ステップは、位置修正ステップの後、記憶手段のデータに基づいて、第１仮想カメラから見て第１クリッピングエリアを描画して、画面を示す画像データを生成する。
【００１４】
第２の発明では、位置修正ステップ（Ｓ１１）は、第２仮想カメラで撮影可能な領域、すなわち、第２仮想カメラの視野範囲内に存在する物体の座標を縮小変換する。たとえば、縮小率は、実施例では、第１仮想カメラの視野角、第２仮想カメラの視野角、物体の第１仮想カメラ座標系でのＺ座標、および第１仮想カメラの後方クリッピング平面からの距離に基づいて算出される。この縮小変換によって、第２仮想カメラで撮影可能な領域の物体の座標が第１仮想カメラで撮影可能な領域の座標に縮小される。画像生成ステップ（Ｓ１５−Ｓ２１）は、位置修正の後、第１仮想カメラから見て第１クリッピングエリアを画面に描画する。したがって、第１仮想カメラの視野範囲外に存在する物体であっても、位置修正によって第１仮想カメラの視野範囲内に取り込むことが可能になるので、物体を画面に表示し易くすることができる。また、実施例のように第１仮想カメラ座標系での物体のＸ座標とＹ座標だけを縮小変換する場合には、第１仮想カメラに基づいて画面を描画することで、物体の見た目の大きさの整合性をとることが可能であり、したがって、物体を見易く表示することができる。
【００１５】
第３の発明は、第２の発明に従属し、位置修正ステップは、物体が第１仮想カメラに近づくにつれて縮小率の値が大きくなるような変換によって、物体の位置を修正する。
【００１６】
第３の発明では、物体の位置は、物体が第１仮想カメラに近づくにつれて縮小率（ｆ(ｚ)）の値が大きくなるような縮小変換によって修正される。これによって、物体が第１仮想カメラに近付くにつれて、物体の座標があまり縮小されないようにしていくことができ、修正後の物体の位置を第１仮想カメラから見た実際の位置に徐々に近づけていくことができる。したがって、物体を見易く表示することができる。たとえば物体が第１仮想カメラの周辺に向けて移動しているような場合には、当該物体が第１仮想カメラの周辺に向かっているにもかかわらず第１仮想カメラにぶつかってくるように見えてしまう現象を抑制することができる。
【００１７】
第４の発明は、第１の発明に従属し、画面生成ステップは、第１描画ステップ、第２描画ステップ、および画像生成ステップを含む。第１描画ステップは、記憶手段の少なくとも第１仮想カメラデータに基づいて、第１仮想カメラから見て第１クリッピングエリアを示す画像を描画する。第２描画ステップは、記憶手段の少なくとも第１仮想カメラデータと第２仮想カメラデータに基づいて算出される拡大率に基づいて第２仮想カメラの第２クリッピングエリアに存在する物体の大きさを拡大し、記憶手段の少なくとも第２仮想カメラデータと物体に関するデータに基づいて第２仮想カメラから見て第２クリッピングエリアを示す画像を描画する。画像生成ステップは、第１描画ステップで描画された画像に第２描画ステップで描画された画像を合成して、画面を示す画像データを生成する。
【００１８】
第４の発明では、第１描画ステップ（Ｓ１０１、Ｓ１０３、Ｓ１７、Ｓ１９）は、第１仮想カメラで撮影して第１クリッピングエリアを示す画像を描画する。第２描画ステップ（Ｓ１０７、Ｓ１０９、Ｓ１１３、Ｓ２１）は、たとえば後方クリッピング平面からの第１仮想カメラの距離と第２仮想カメラの距離との比によって与えられる拡大率に基づいて、第２仮想カメラの第２クリッピングエリアに存在する物体の大きさを拡大した後、第２仮想カメラで撮影して第２クリッピングエリアを示す画像を描画する。そして、画像生成ステップ（Ｓ２１）は、第１描画ステップで描画された画像に第２描画ステップで描画された画像を合成することによって画面の画像データを生成する。したがって、第１仮想カメラの視野範囲外に存在する物体であっても、第２仮想カメラに基づいて描画して、第１仮想カメラで描画した画面に合わせて描画することができる。したがって、仮想３次元空間に存在する物体を画面に表示され易くすることができる。しかも、物体の大きさを拡大してから第２仮想カメラに基づいて当該物体を描画するので、物体の見た目の大きさの整合性をとることができる。したがって、物体を見易く表示できる。
【００１９】
第５の発明は、第１の発明に従属し、記憶手段は、少なくとも物体として第１物体および第２物体に関するデータを記憶している。注視点設定ステップは、記憶手段に記憶される第１物体の位置に関するデータに基づいて、注視点を設定する。画面生成ステップは、記憶手段の第１仮想カメラデータと第２仮想カメラデータと物体に関するデータに基づいて、第１クリッピングエリアに存在する第１物体を第１仮想カメラで描画する画面に合わせて、第２仮想カメラで撮影可能な領域に存在する第２物体を描画して、当該画面を示す画像データを生成する。
【００２０】
第５の発明では、記憶手段（７４、７６）は、少なくとも第１物体（９０）および第２物体（９２）に関するデータを記憶する。実施例では、第１物体はプレイヤキャラクタであり、第２物体はライバルキャラクタである。注視点設定ステップは、第１物体の位置に関するデータ（７８）に基づいて注視点を設定する。画面生成ステップは、第１仮想カメラの第１クリッピングエリアに存在する第１物体を第１仮想カメラで描画する画面に合わせて、第２仮想カメラで撮影可能な領域に存在する第２物体を描画する。したがって、第１物体が表示される画面に、第１仮想カメラの視野範囲外に存在する第２物体を表示され易くすることができる。
【００２１】
第６の発明は、少なくとも仮想３次元空間に配置される仮想的な物体に関するデータを記憶する記憶手段を備え、仮想３次元空間を描画した画像を表示手段に表示する画像処理装置である。この画像処理装置は、注視点設定手段、第１仮想カメラ設定手段、第２仮想カメラ設定手段、画面生成手段、および表示制御手段を備える。注視点設定手段は、仮想３次元空間に注視点を設定して、注視点の位置を示す注視点データを記憶手段に記憶する。第１仮想カメラ設定手段は、記憶手段の少なくとも注視点データに基づいて仮想３次元空間に第１仮想カメラを設定して、第１仮想カメラの少なくとも位置を含む第１仮想カメラデータを記憶手段に記憶する。第２仮想カメラ設定手段は、記憶手段の少なくとも第１仮想カメラデータに基づいて、第１仮想カメラの第１クリッピングエリアの周囲の領域の少なくとも一部を撮影可能な第２仮想カメラを設定し、第２仮想カメラの少なくとも位置を含む第２仮想カメラデータを記憶領域に記憶する。画面生成手段は、記憶手段の少なくとも物体に関するデータと第１仮想カメラデータと第２仮想カメラデータに基づいて、第１仮想カメラで第１クリッピングエリアを描画する画面に合わせて、第２仮想カメラで撮影可能な領域に存在する物体を描画して、当該画面を示す画像データを生成する。表示制御手段は、生成された画面を示す画像データに基づいて画面を表示手段に表示する。
【００２２】
第６の発明は、第１の発明の画像処理プログラムに対応する画像処理装置である。第６の発明でも、第１の発明と同様にして、物体を画面に表示され易くすることができる。
【００２３】
第７の発明は、少なくとも仮想３次元空間に配置される仮想的な物体に関するデータと、仮想カメラ配置用データと、クリッピングエリア設定用データとが記憶される記憶手段を備え、物体を仮想カメラで撮影した画像を表示手段に表示する画像処理装置の画像処理プログラムである。この画像処理プログラムは、画像処理装置のプロセサに、注視点設定ステップ、第１仮想カメラ設定ステップ、第１クリッピングエリア設定ステップ、第２仮想カメラ設定ステップ、第１仮想カメラ座標変換ステップ、位置修正ステップ、画面生成ステップ、および表示制御ステップを実行させる。注視点設定ステップは、仮想３次元空間に注視点を設定して、注視点の位置を示す注視点データを記憶手段に記憶する。第１仮想カメラ設定ステップは、記憶手段に記憶される仮想カメラ配置用データと注視点データを参照して、注視点を向く第１仮想カメラの少なくとも位置を示すデータを生成して記憶手段に記憶する。第１クリッピングエリア設定ステップは、記憶手段に記憶される少なくともクリッピングエリア設定用データと第１仮想カメラの位置を示すデータを参照して、第１仮想カメラの第１クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して記憶手段に記憶する。第２仮想カメラ設定ステップは、記憶手段に記憶される少なくとも仮想カメラ配置用データを参照して、後方クリッピング平面を基準として第１仮想カメラと同じ側で第１仮想カメラよりも離れた位置に存在しかつ注視点を向く第２仮想カメラの少なくとも位置を示すデータを生成して記憶手段に記憶する。第１仮想カメラ座標変換ステップは、記憶手段に記憶される少なくとも第１仮想カメラの位置を示すデータと物体に関するデータを参照して、物体を第１仮想カメラ座標系での座標に変換することによって、当該物体の第１仮想カメラ座標系での座標を示すデータを生成して記憶手段に記憶する。位置修正ステップは、記憶手段に記憶される仮想カメラ配置用データと第１仮想カメラの位置を示すデータと第２仮想カメラの位置を示すデータと物体の第１仮想カメラ座標系での座標を示すデータを参照して、第１クリッピングエリア外でありかつ第２仮想カメラで撮影可能な領域に存在する物体の座標を、第１クリッピングエリア内の座標に縮小変換することによって、当該物体の修正された座標を示す修正位置データを生成して記憶手段に記憶する。画面生成ステップは、記憶手段に記憶される少なくとも物体に関するデータと仮想カメラ配置用データと第１仮想カメラの位置を示すデータと修正位置データと参照して、第１クリッピングエリアに存在する物体を投影平面座標系での座標に変換して描画することによって、画面の画像データを生成して記憶手段の描画バッファに記憶する。表示制御ステップは、記憶手段の描画バッファに記憶される画面の画像データを参照して、当該画面を表示手段に表示する。
【００２４】
第７の発明は、第２の発明に対応する画像処理プログラムであり、より具体的に記述される。第７の発明では、記憶手段（４８、２８ａ）には、さらに仮想カメラ配置用データ（たとえば視野角データ）、クリッピングエリア設定用データ（後方クリッピング平面を示すデータ、前方クリッピング平面を示すデータ）等が記憶される。第１仮想カメラ設定ステップ（Ｓ３）は、仮想カメラ配置用データと注視点データを参照して、たとえば、注視点を向く所定の視野角の第１仮想カメラを設定し、第１仮想カメラの少なくとも位置を示すデータを生成して記憶手段（８０）に記憶する。第１クリッピングエリア設定ステップ（Ｓ５）は、少なくともクリッピングエリア設定用データと第１仮想カメラの位置を示すデータを参照して、第１クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して記憶手段に記憶する。第２仮想カメラ設定ステップ（Ｓ７）は、少なくとも仮想カメラ配置用データを参照して、後方クリッピング平面を基準として第１仮想カメラと同じ側で第１仮想カメラよりも離れた位置に存在しかつ所定の視野角で注視点を向くような第２仮想カメラを設定し、第２仮想カメラの少なくとも位置を示すデータを生成して記憶手段（８２）に記憶する。第１仮想カメラ座標変換ステップ（Ｓ９）は、少なくとも第１仮想カメラの位置を示すデータと物体に関するデータを参照して、座標変換によって、当該物体の第１仮想カメラ座標系での座標を示すデータを生成して記憶手段に記憶する。位置修正ステップ（Ｓ１１）は、仮想カメラ配置用データと第１仮想カメラの位置を示すデータと第２仮想カメラの位置を示すデータと物体の第１仮想カメラ座標系での座標を示すデータを参照して、第１クリッピングエリア外でありかつ第２仮想カメラで撮影可能な領域に存在する物体の座標を、第１クリッピングエリア内の座標に縮小変換することによって、当該物体の修正された座標を示す修正位置データを生成して記憶手段に記憶する。画面生成ステップ（Ｓ１５−Ｓ２１）は、少なくとも物体に関するデータと仮想カメラ配置用データと第１仮想カメラの位置を示すデータと修正位置データと参照して、第１クリッピングエリアに存在する物体を投影平面座標系での座標に変換して描画することによって、画面の画像データを生成して記憶手段（４８、５６、５８）の描画バッファに記憶する。表示制御ステップ（Ｓ２３）は、描画バッファに記憶される画面の画像データを参照して、当該画面を表示手段に表示する。
【００２５】
第７の発明によれば、上述の第２の発明と同様に、物体が画面に表示され易い。また、物体を見易く表示することも可能である。
【００２６】
第８の発明は、少なくとも仮想３次元空間に配置される仮想的な物体に関するデータと、仮想カメラ配置用データと、クリッピングエリア設定用データとが記憶される記憶手段を備え、物体を仮想カメラで撮影した画像を表示手段に表示する画像処理装置の画像処理プログラムである。この画像処理プログラムは、画像処理装置のプロセサに、注視点設定ステップ、第１仮想カメラ設定ステップ、第１クリッピングエリア設定ステップ、第２仮想カメラ設定ステップ、第２クリッピングエリア設定ステップ、第１仮想カメラ座標変換ステップ、第１画像生成ステップ、第２仮想カメラ座標変換ステップ、第２画像生成ステップ、および表示制御ステップを実行させる。注視点設定ステップは、仮想３次元空間に注視点を設定して、注視点の位置を示す注視点データを記憶手段に記憶する。第１仮想カメラ設定ステップは、記憶手段に記憶される仮想カメラ配置用データと注視点データを参照して、注視点を向く第１仮想カメラの少なくとも位置を示すデータを生成して記憶手段に記憶する。第１クリッピングエリア設定ステップは、記憶手段に記憶される少なくともクリッピングエリア設定用データと第１仮想カメラの位置を示すデータを参照して、第１仮想カメラの第１クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して記憶手段に記憶する。第２仮想カメラ設定ステップは、記憶手段に記憶される少なくとも仮想カメラ配置用データを参照して、後方クリッピング平面を基準として第１仮想カメラと同じ側で第１仮想カメラよりも離れた位置に存在しかつ注視点を向く第２仮想カメラの少なくとも位置を示すデータを生成して記憶手段に記憶する。第２クリッピングエリア設定ステップは、記憶手段に記憶される少なくともクリッピングエリア設定用データと第２仮想カメラの位置を示すデータを参照して、第２仮想カメラの第２クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して記憶手段に記憶する。第１仮想カメラ座標変換ステップは、記憶手段に記憶される少なくとも第１仮想カメラの位置を示すデータと物体に関するデータを参照して、物体としての第１物体を第１仮想カメラ座標系での座標に変換することによって、当該第１物体の第１仮想カメラ座標系での座標を示すデータを生成して記憶手段に記憶する。第１画像生成ステップは、記憶手段に記憶される少なくとも物体に関するデータと仮想カメラ配置用データと第１仮想カメラの位置を示すデータと第１物体の第１仮想カメラ座標系での座標を示すデータを参照して、第１クリッピングエリアに存在する第１物体を投影平面座標系での座標に変換して描画することによって、画面における当該第１物体を示す画像データを生成して記憶手段の描画バッファに記憶する。第２仮想カメラ座標変換ステップは、記憶手段に記憶される少なくとも第２仮想カメラの位置を示すデータと物体に関するデータを参照して、物体としての第２物体を第２仮想カメラ座標系での座標に変換することによって、当該第２物体の第２仮想カメラ座標系での座標を示すデータを生成して記憶手段に記憶する。第２画像生成ステップは、記憶手段に記憶される少なくとも物体に関するデータと仮想カメラ配置用データと第１仮想カメラの位置を示すデータと第２仮想カメラの位置を示すデータと第２物体の第２仮想カメラ座標系での座標を示すデータを参照して、第２クリッピングエリアに存在する第２物体を拡大した後、当該第２物体を投影平面座標系での座標に変換して描画することによって、画面における当該第２物体を示す画像データを生成して記憶手段の描画バッファに記憶する。表示制御ステップは、記憶手段の描画バッファに記憶される画面の画像データを参照して、当該画面を表示手段に表示する。
【００２７】
第８の発明は、第４の発明に対応する画像処理プログラムであり、より具体的に記述される。第８の発明では、記憶手段（４８、２８ａ）には、さらに仮想カメラ配置用データ（たとえば視野角データ）と、クリッピングエリア設定用データ（後方クリッピング平面を示すデータ、前方クリッピング平面を示すデータ）等が記憶される。第１仮想カメラ設定ステップ（Ｓ３）は、仮想カメラ配置用データと注視点データを参照して、たとえば所定の視野角で注視点を向くような第１仮想カメラを設定して、第１仮想カメラの少なくとも位置を示すデータを生成して記憶手段（８０）に記憶する。第１クリッピングエリア設定ステップ（Ｓ５）は、少なくともクリッピングエリア設定用データと第１仮想カメラの位置を示すデータを参照して、第１仮想カメラの第１クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して記憶手段に記憶する。第２仮想カメラ設定ステップ（Ｓ７）は、少なくとも仮想カメラ配置用データを参照して、後方クリッピング平面を基準として第１仮想カメラと同じ側で第１仮想カメラよりも離れた位置に存在しかつ所定の視野角で注視点を向くような第２仮想カメラを設定し、第２仮想カメラの少なくとも位置を示すデータを生成して記憶手段（８２）に記憶する。第２クリッピングエリア設定ステップ（Ｓ１０５）は、少なくともクリッピングエリア設定用データと第２仮想カメラの位置を示すデータを参照して、第２仮想カメラの第２クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して記憶手段（８２）に記憶する。第１仮想カメラ座標変換ステップ（Ｓ１０１）は、少なくとも第１仮想カメラの位置を示すデータと物体に関するデータを参照して、物体としての第１物体（９０）を座標変換することによって、当該第１物体の第１仮想カメラ座標系での座標を示すデータを生成して記憶手段に記憶する。第１画像生成ステップ（Ｓ１０３、Ｓ１７、Ｓ１９）は、少なくとも物体に関するデータと仮想カメラ配置用データと第１仮想カメラの位置を示すデータと第１物体の第１仮想カメラ座標系での座標を示すデータを参照して、第１クリッピングエリアに存在する第１物体を投影平面座標系での座標に変換して描画することによって、画面における当該第１物体を示す画像データを生成して記憶手段（５６、５８、４８）の描画バッファに記憶する。第２仮想カメラ座標変換ステップ（Ｓ１０７）は、少なくとも第２仮想カメラの位置を示すデータと物体に関するデータを参照して、物体としての第２物体（９２）を座標変換することによって、当該第２物体の第２仮想カメラ座標系での座標を示すデータを生成して記憶手段に記憶する。第２画像生成ステップ（Ｓ１０９、Ｓ１１３、Ｓ２１）は、少なくとも物体に関するデータと仮想カメラ配置用データと第１仮想カメラの位置を示すデータと第２仮想カメラの位置を示すデータと第２物体の第２仮想カメラ座標系での座標を示すデータを参照して、第２クリッピングエリアに存在する第２物体の大きさを拡大した後、当該第２物体を投影平面座標系での座標に変換して描画することによって、画面における当該第２物体を示す画像データを生成して記憶手段の描画バッファに記憶する。表示制御ステップ（Ｓ２３）は、記憶手段の描画バッファに記憶される画面の画像データを参照して、当該画面を表示手段に表示する。
【００２８】
第８の発明によれば、上述の第４の発明と同様に、仮想３次元空間に存在する物体を画面に表示され易くすることができる。しかも、物体の見た目の大きさの整合性をとることができるので、物体を見易く表示できる。
【００２９】
第９の発明は、少なくとも仮想３次元空間に配置される仮想的な物体に関するデータと、仮想カメラ配置用データと、クリッピングエリア設定用データとが記憶される記憶手段を備え、物体を仮想カメラで撮影した画像を表示手段に表示する画像処理装置である。この画像処理装置は、注視点設定手段、第１仮想カメラ設定手段、第１クリッピングエリア設定手段、第２仮想カメラ設定手段、第１仮想カメラ座標変換手段、位置修正手段、画面生成手段、および表示制御手段を備える。注視点設定手段は、仮想３次元空間に注視点を設定して、注視点の位置を示す注視点データを記憶手段に記憶する。第１仮想カメラ設定手段は、記憶手段に記憶される仮想カメラ配置用データと注視点データを参照して、注視点を向く第１仮想カメラの少なくとも位置を示すデータを生成して記憶手段に記憶する。第１クリッピングエリア設定手段は、記憶手段に記憶される少なくともクリッピングエリア設定用データと第１仮想カメラの位置を示すデータを参照して、第１仮想カメラの第１クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して記憶手段に記憶する。第２仮想カメラ設定手段は、記憶手段に記憶される少なくとも仮想カメラ配置用データを参照して、後方クリッピング平面を基準として第１仮想カメラと同じ側で第１仮想カメラよりも離れた位置に存在しかつ注視点を向く第２仮想カメラの少なくとも位置を示すデータを生成して記憶手段に記憶する。第１仮想カメラ座標変換手段は、記憶手段に記憶される少なくとも第１仮想カメラの位置を示すデータと物体に関するデータを参照して、物体を第１仮想カメラ座標系での座標に変換することによって、当該物体の第１仮想カメラ座標系での座標を示すデータを生成して記憶手段に記憶する。位置修正手段は、記憶手段に記憶される仮想カメラ配置用データと第１仮想カメラの位置を示すデータと第２仮想カメラの位置を示すデータと物体の第１仮想カメラ座標系での座標を示すデータを参照して、第１クリッピングエリア外でありかつ第２仮想カメラで撮影可能な領域に存在する物体の座標を、第１クリッピングエリア内の座標に縮小変換することによって、当該物体の修正された座標を示す修正位置データを生成して記憶手段に記憶する。画面生成手段は、記憶手段に記憶される少なくとも物体に関するデータと仮想カメラ配置用データと第１仮想カメラの位置を示すデータと修正位置データと参照して、第１クリッピングエリアに存在する物体を投影平面座標系での座標に変換して描画することによって、画面の画像データを生成して記憶手段の描画バッファに記憶する。表示制御手段は、記憶手段の描画バッファに記憶される画面の画像データを参照して、当該画面を表示手段に表示する。
【００３０】
第９の発明は、上述の第７の発明の画像処理プログラムに対応する画像処理装置である。第９の発明でも、第７の発明と同様に、物体を画面に表示され易くすることができ、物体を見易く表示することも可能である。
【００３１】
第１０の発明は、少なくとも仮想３次元空間に配置される仮想的な物体に関するデータと、仮想カメラ配置用データと、クリッピングエリア設定用データとが記憶される記憶手段を備え、物体を仮想カメラで撮影した画像を表示手段に表示する画像処理装置である。この画像処理装置は、注視点設定手段、第１仮想カメラ設定手段、第１クリッピングエリア設定手段、第２仮想カメラ設定手段、第２クリッピングエリア設定手段、第１仮想カメラ座標変換手段、第１画像生成手段、第２仮想カメラ座標変換手段、第２画像生成手段、および表示制御手段を備える。注視点設定手段は、仮想３次元空間に注視点を設定して、注視点の位置を示す注視点データを記憶手段に記憶する。第１仮想カメラ設定手段は、記憶手段に記憶される仮想カメラ配置用データと注視点データを参照して、注視点を向く第１仮想カメラの少なくとも位置を示すデータを生成して記憶手段に記憶する。第１クリッピングエリア設定手段は、記憶手段に記憶される少なくともクリッピングエリア設定用データと第１仮想カメラの位置を示すデータを参照して、第１仮想カメラの第１クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して記憶手段に記憶する。第２仮想カメラ設定手段は、記憶手段に記憶される少なくとも仮想カメラ配置用データを参照して、後方クリッピング平面を基準として第１仮想カメラと同じ側で第１仮想カメラよりも離れた位置に存在しかつ注視点を向く第２仮想カメラの少なくとも位置を示すデータを生成して記憶手段に記憶する。第２クリッピングエリア設定手段は、記憶手段に記憶される少なくともクリッピングエリア設定用データと第２仮想カメラの位置を示すデータを参照して、第２仮想カメラの第２クリッピングエリアを規定する前方クリッピング平面および後方クリッピング平面を示すデータを生成して記憶手段に記憶する。第１仮想カメラ座標変換手段は、記憶手段に記憶される少なくとも第１仮想カメラの位置を示すデータと物体に関するデータを参照して、物体としての第１物体を第１仮想カメラ座標系での座標に変換することによって、当該第１物体の第１仮想カメラ座標系での座標を示すデータを生成して記憶手段に記憶する。第１画像生成手段は、記憶手段に記憶される少なくとも物体に関するデータと仮想カメラ配置用データと第１仮想カメラの位置を示すデータと第１物体の第１仮想カメラ座標系での座標を示すデータを参照して、第１クリッピングエリアに存在する第１物体を投影平面座標系での座標に変換して描画することによって、画面における当該第１物体を示す画像データを生成して記憶手段の描画バッファに記憶する。第２仮想カメラ座標変換手段は、記憶手段に記憶される少なくとも第２仮想カメラの位置を示すデータと物体に関するデータを参照して、物体としての第２物体を第２仮想カメラ座標系での座標に変換することによって、当該第２物体の第２仮想カメラ座標系での座標を示すデータを生成して記憶手段に記憶する。第２画像生成手段は、記憶手段に記憶される少なくとも物体に関するデータと仮想カメラ配置用データと第１仮想カメラの位置を示すデータと第２仮想カメラの位置を示すデータと第２物体の第２仮想カメラ座標系での座標を示すデータを参照して、第２クリッピングエリアに存在する第２物体を拡大した後、当該第２物体を投影平面座標系での座標に変換して描画することによって、画面における当該第２物体を示す画像データを生成して記憶手段の描画バッファに記憶する。表示制御手段は、記憶手段の描画バッファに記憶される画面の画像データを参照して、当該画面を表示手段に表示する。
【００３２】
第１０の発明は、上述の第８の発明の画像処理プログラムに対応する画像処理装置である。第１０の発明でも、第８の発明と同様に、物体を画面に表示され易くすることができる。しかも、物体を見易く表示できる。
【発明の効果】
【００３３】
この発明によれば、第１仮想カメラの第１クリッピングエリア外に存在する物体を、第２仮想カメラに基づいて、第１仮想カメラで描画する画面に合わせて描画することができる。したがって、仮想３次元空間に存在する物体を画面に表示され易くすることができる。
【００３４】
たとえば、第１クリッピングエリアの周囲に存在する物体を第２仮想カメラに基づいて位置修正することによって第１仮想カメラの視野範囲内に取り込んで、第１クリッピングエリアを第１仮想カメラから見て描画するので、物体が画面に表示され易い。しかも、見た目の大きさの整合性をとることが可能なので、物体を見易く表示できる。
【００３５】
また、第１仮想カメラに基づいて描画した第１クリッピングエリアの画像と、第１クリッピングエリア外の物体を第２仮想カメラに基づいて描画した画像とを合成することによって画面を生成するので、物体を画面に表示され易くすることができる。しかも、第２クリッピングエリアの物体を拡大してから描画するので、見た目の大きさの整合性とることができ、画面において物体を見易く表示できる。
【００３６】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００３７】
図１を参照して、この発明の一実施例である画像処理装置１０はコンピュータであり、一例としてゲーム装置１０の形態で実現される。ゲーム装置１０は、第１の液晶表示器（ＬＣＤ）１２および第２のＬＣＤ１４を含む。このＬＣＤ１２およびＬＣＤ１４は、所定の配置位置となるようにハウジング１６に収納される。この実施例では、ハウジング１６は、上側ハウジング１６ａと下側ハウジング１６ｂとによって構成され、ＬＣＤ１２は上側ハウジング１６ａに収納され、ＬＣＤ１４は下側ハウジング１６ｂに収納される。したがって、ＬＣＤ１２とＬＣＤ１４とは縦（上下）に並ぶように近接して配置される。
【００３８】
なお、この実施例では、表示器としてＬＣＤを用いるようにしてあるが、ＬＣＤに代えて、ＥＬ(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。
【００３９】
図１からも分かるように、上側ハウジング１６ａは、ＬＣＤ１２の平面形状よりも大きな平面形状を有し、一方主面からＬＣＤ１２の表示面を露出するように開口部が形成される。一方、下側ハウジング１６ｂの平面形状も横長に選ばれ、横方向の略中央部にＬＣＤ１４の表示面を露出するように開口部が形成される。また、下側ハウジング１６ｂには、音抜き孔１８が形成されるとともに、操作スイッチ２０（２０ａ，２０ｂ，２０ｃ，２０ｄ，２０ｅ，２０Ｌおよび２０Ｒ）が設けられる。
【００４０】
また、上側ハウジング１６ａと下側ハウジング１６ｂとは、上側ハウジング１６ａの下辺（下端）と下側ハウジング１６ｂの上辺（上端）の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、ＬＣＤ１２の表示面とＬＣＤ１４の表示面とが対面するように、上側ハウジング１６ａを回動させて折りたたんでおけば、ＬＣＤ１２の表示面およびＬＣＤ１４の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング１６ａと下側ハウジング１６ｂとは、回動可能に連結せずに、それらを一体的（固定的）に設けたハウジング１６を形成するようにしてもよい。
【００４１】
操作スイッチ２０は、方向指示スイッチ（十字スイッチ）２０ａ，スタートスイッチ２０ｂ、セレクトスイッチ２０ｃ、動作スイッチ（Ａボタン）２０ｄ、動作スイッチ（Ｂボタン）２０ｅ、動作スイッチ（Ｌボタン）２０Ｌおよび動作スイッチ（Ｒボタン）２０Ｒを含む。スイッチ２０ａ，２０ｂおよび２０ｃは、下側ハウジング１６ｂの一方主面において、ＬＣＤ１４の左側に配置される。また、スイッチ２０ｄおよび２０ｅは、下側ハウジング１６ｂの一方主面において、ＬＣＤ１４の右側に配置される。さらに、スイッチ２０Ｌおよびスイッチ２０Ｒは、それぞれ、下側ハウジング１６ｂの上端（天面）の一部であり上側ハウジング１６ａとの連結部以外の部分において、当該連結部を挟むようにして左右に配置される。
【００４２】
方向指示スイッチ２０ａは、ディジタルジョイスティックとして機能し、４つの押圧部の１つを操作することによって、プレイヤによって操作可能なプレイヤキャラクタ(またはプレイヤオブジェクト)の移動方向を指示したり、カーソルの移動方向を指示したりする等のために用いられる。スタートスイッチ２０ｂは、プッシュボタンで構成され、ゲームを開始（再開）したり、一時停止したりする等のために用いられる。セレクトスイッチ２０ｃは、プッシュボタンで構成され、ゲームモードの選択等のために用いられる。
【００４３】
動作スイッチ２０ｄすなわちＡボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ（パンチ）、投げる、つかむ（取得）、乗る、ジャンプする等の任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(ＲＰＧ)やシミュレーションＲＰＧにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。動作スイッチ２０ｅすなわちＢボタンは、プッシュボタンで構成され、セレクトスイッチ２０ｃで選択したゲームモードの変更やＡボタン２０ｄで決定したアクションの取り消し等のために用いられる。
【００４４】
動作スイッチ２０Ｌ（Ｌボタン）および動作スイッチ２０Ｒ（Ｒボタン）は、プッシュボタンで構成され、Ｌボタン２０ＬおよびＲボタン２０Ｒは、Ａボタン２０ｄおよびＢボタン２０ｅと同様の操作に用いることができ、また、Ａボタン２０ｄおよびＢボタン２０ｅの補助的な操作に用いることができる。
【００４５】
また、ＬＣＤ１４の上面には、タッチパネル２２が装着される。タッチパネル２２としては、たとえば、抵抗膜方式、光学式（赤外線方式）および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル２２は、その上面をスティック２４ないしはペン（スタイラスペン）或いは指（以下、これらを「スティック２４等」という場合がある。）で、押圧したり、撫でたり、触れたりすることにより操作すると、スティック２４等によって操作された（すなわちタッチされた）位置の座標を検出して、検出した座標（検出座標）に対応する座標データを出力する。つまり、このタッチパネル２２がこの実施例の入力手段として機能し、ＬＣＤ１４（またはＬＣＤ１２）の画面上の位置を指示するための入力データをユーザ（プレイヤ）が入力するためのものである。
【００４６】
なお、この実施例では、ＬＣＤ１４（ＬＣＤ１２も同じ、または略同じ。）の表示面の解像度は２５６ｄｏｔ×１９２ｄｏｔであり、タッチパネル２２の検出精度（操作面）も表示画面に対応して２５６ｄｏｔ×１９２ｄｏｔとしてある。ただし、図１では、タッチパネル２２を分かり易く示すために、タッチパネル２２をＬＣＤ１４と異なる大きさで示してあるが、ＬＣＤ１４の表示画面の大きさとタッチパネル２２の操作面の大きさとは同じ大きさである。なお、タッチパネル２２の検出精度は、表示画面の解像度よりも低くてもよく、高くてもよい。
【００４７】
また、この実施例では、スティック２４は、たとえば上側ハウジング１６ａの側面（右側面）近傍に設けられる収納部（穴ないし凹部）２６に収納することができ、必要に応じて取り出される。ただし、スティック２４を設けない場合には、収納部２６を設ける必要もない。
【００４８】
さらに、ゲーム装置１０はメモリカード（またはゲームカートリッジ）２８を含み、このメモリカード２８は着脱自在であり、下側ハウジング１６ｂの裏面ないしは底面（下端）に設けられる挿入口３０から挿入される。図１では省略するが、挿入口３０の奥部には、メモリカード２８の挿入方向先端部に設けられるコネクタ（図示せず）と接合するためのコネクタ４６（図２参照）が設けられており、したがって、メモリカード２８が挿入口３０に挿入されると、コネクタ同士が接合され、ゲーム装置１０のＣＰＵコア４２（図２参照）がメモリカード２８にアクセス可能となる。
【００４９】
なお、図１では表現できないが、下側ハウジング１６ｂの音抜き孔１８と対応する位置でありこの下側ハウジング１６ｂの内部には、スピーカ３２（図２参照）が設けられる。
【００５０】
また、図１では省略するが、たとえば、下側ハウジング１６ｂの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング１６ｂの底面側には、電源スイッチ、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなども設けられる。
【００５１】
図２はゲーム装置１０の電気的な構成を示すブロック図である。図２を参照して、ゲーム装置１０は電子回路基板４０を含み、この電子回路基板４０にはＣＰＵコア４２等の回路コンポーネントが実装される。ＣＰＵコア４２は、バス４４を介してコネクタ４６に接続されるとともに、ＲＡＭ４８、第１のグラフィック処理ユニット（ＧＰＵ）５０、第２のＧＰＵ５２、入出カインタフェイス回路（以下、「Ｉ／Ｆ回路」という。）５４およびＬＣＤコントローラ６０に接続される。
【００５２】
コネコタ４６には、上述したように、メモリカード２８が着脱自在に接続される。メモリカード２８は、ＲＯＭ２８ａおよびＲＡＭ２８ｂを含み、図示は省略するが、ＲＯＭ２８ａおよびＲＡＭ２８ｂは、互いにバスで接続され、さらに、コネクタ４６と接合されるコネクタ（図示せず）に接続される。したがって、上述したように、ＣＰＵコア４２は、ＲＯＭ２８ａおよびＲＡＭ２８ｂにアクセスすることができるのである。
【００５３】
ＲＯＭ２８ａは、ゲーム装置１０をこの発明にかかる画像処理装置として機能させるための画像処理プログラムを予め記憶する。ゲーム（仮想ゲーム）が実行される場合、画像処理プログラムはゲームプログラムでもある。また、画像（キャラクタ画像、背景画像、アイテム画像、メッセージ画像など）データおよび必要な音（音楽）のデータ（音データ）等も予め記憶される。ＲＡＭ（バックアップＲＡＭ）２８ｂは、その画像処理やゲームの途中データおよび結果データを記憶（セーブ）する。
【００５４】
ＲＡＭ４８は、バッファメモリないしはワーキングメモリとして使用される。つまり、ＣＰＵコア４２は、メモリカード２８のＲＯＭ２８ａに記憶された画像処理プログラム（ゲームプログラム）、画像データおよび音データ等をＲＡＭ４８にロードし、ロードした画像処理プログラムを実行する。また、ＣＰＵコア４２は、画像処理プログラムに従って、ゲームの進行に応じて一時的に発生（生成）するデータ（ゲームデータやフラグデータ等）をＲＡＭ４８のワークエリアや所定領域に記憶しつつ、画像処理（ゲーム処理）を実行する。
【００５５】
なお、画像処理プログラム（ゲームプログラム）、画像データおよび音データ等のデータは、ＲＯＭ２８ａから一度に全部または必要に応じて部分的にかつ順次的に読み出され、ＲＡＭ４８に記憶（ロード）される。
【００５６】
ただし、メモリカード２８のＲＯＭ２８ａには、ゲーム以外の他のアプリケーションについてのプログラムおよび当該アプリケーションの実行に必要な画像データが記憶されてよい。また、必要に応じて、音（音楽）データが記憶されてもよい。かかる場合には、ゲーム装置１０では、当該アプリケーションが実行される。
【００５７】
ＧＰＵ５０およびＧＰＵ５２は、それぞれ、描画手段の一部を形成し、たとえばシングルチップＡＳＩＣで構成され、ＣＰＵコア４２からのグラフィックスコマンド（graphics command ：作画命令）を受け、そのグラフィックスコマンドに従って、表示するための画像データを生成する。ただし、ＣＰＵコア４２は、グラフィックスコマンドに加えて、表示するための画像データの生成に必要な画像生成プログラム（画像処理プログラム（ゲームプログラム）に含まれる。）をＧＰＵ５０およびＧＰＵ５２のそれぞれに与える。
【００５８】
また、ＧＰＵ５０には、第１のビデオＲＡＭ（以下、「ＶＲＡＭ」という。）５６が接続され、ＧＰＵ５２には、第２のＶＲＡＭ５８が接続される。ＧＰＵ５０およびＧＰＵ５２が作画コマンドを実行するにあたって必要なデータ（画像データ：オブジェクトデータやテクスチャ等のデータ）は、ＧＰＵ５０およびＧＰＵ５２が、それぞれ、第１のＶＲＡＭ５６および第２のＶＲＡＭ５８にアクセスして取得する。ただし、ＣＰＵコア４２は、描画に必要な画像データをＲＡＭ４８から読み出し、ＧＰＵ５０およびＧＰＵ５２を介して第１のＶＲＡＭ５６および第２のＶＲＡＭ５８に書き込む。ＧＰＵ５０はＶＲＡＭ５６にアクセスして表示するための画像データを作成し、その画像データをＶＲＡＭ５６の描画バッファ（フレームバッファ）に記憶し、ＧＰＵ５２はＶＲＡＭ５８にアクセスして表示するための画像データを作成し、ＶＲＡＭ５８の描画バッファに記憶する。描画バッファとしては、ラインバッファを採用してもよい。また、ＶＲＡＭ５６および５８には、フレームバッファの画像データの各画素の奥行き情報または奥行データ（Ｚ値）を記憶するＺバッファが設けられており、ＧＰＵ５０およびＧＰＵ５２は画像データを作成する際に各画素の奥行き情報をＺバッファの各画素に対応する領域に記憶する。なお、Ｚバッファの各画素に対応する領域には、初期値としてたとえば無限大を示すデータが設定される。
【００５９】
ＶＲＡＭ５６およびＶＲＡＭ５８は、ＬＣＤコントローラ６０に接続される。ＬＣＤコントローラ６０はレジスタ６２を含み、レジスタ６２はたとえば１ビットで構成され、ＣＰＵコア４２の指示によって「０」または「１」の値（データ値）を記憶する。ＬＣＤコントローラ６０は、レジスタ６２のデータ値が「０」である場合には、ＧＰＵ５０によって作成されたフレームバッファの画像データをＬＣＤ１２に出力し、ＧＰＵ５２によって作成されたフレームバッファの画像データをＬＣＤ１４に出力する。一方、レジスタ６２のデータ値が「１」である場合には、ＬＣＤコントローラ６０は、ＧＰＵ５０によって作成された画像データをＬＣＤ１４に出力し、ＧＰＵ５２によって作成された画像データをＬＣＤ１２に出力する。
【００６０】
なお、ＬＣＤコントローラ６０は、ＶＲＡＭ５６およびＶＲＡＭ５８から直接画像データを読み出すことができるし、あるいはＧＰＵ５０およびＧＰＵ５２を介してＶＲＡＭ５６およびＶＲＡＭ５８から画像データを読み出すこともできる。
【００６１】
また、ＶＲＡＭ５６およびＶＲＡＭ５８はＲＡＭ４８に設けられてもよいし、あるいはその描画バッファおよびＺバッファがＲＡＭ４８に設けられてもよい。
【００６２】
Ｉ／Ｆ回路５４には、操作スイッチ（操作キー）２０，タッチパネル２２およびスピーカ３２が接続される。ここで、操作スイッチ２０は、上述したスイッチ２０ａ，２０ｂ，２０ｃ，２０ｄ，２０ｅ，２０Ｌおよび２０Ｒであり、操作スイッチ２０が操作されると、対応する操作信号（操作データ）がＩ／Ｆ回路５４を介してＣＰＵコア４２に入力される。また、タッチパネル２２から出力される操作入力データ（座標データ）がＩ／Ｆ回路５４を介してＣＰＵコア４２に入力される。さらに、ＣＰＵコア４２は、ゲーム音楽（ＢＧＭ）、効果音またはゲームキャラクタの音声（擬制音）などの必要な音データをＲＡＭ４８から読み出し、Ｉ／Ｆ回路５４を介してスピーカ３２からその音を出力する。
【００６３】
図３にはこのゲーム装置１０のメモリマップの一例が示される。メモリマップはプログラム記憶領域７０およびデータ記憶領域７２を含む。プログラム記憶領域７０およびデータ記憶領域７２には画像処理装置１０の動作に必要なプログラムおよびデータが記憶されている。なお、図３では、ＲＯＭ２８ａおよびＲＡＭ４８に記憶されるデータの一部が示されている。
【００６４】
プログラム記憶領域７０にはＲＯＭ２８ａの画像処理プログラム（ゲームプログラム）が記憶される。この画像処理プログラムに従って画像処理装置１０のＣＰＵコア４２は動作して、ＧＰＵ５０または５２等を用いてデータ記憶領域７２のデータに基づいて３次元仮想空間内に配置されたプレイヤオブジェクト、ライバルオブジェクトまたは背景オブジェクトなど座標変換してレンダリングすることによってこれらを含む画像データを生成し、その画像をＬＣＤ１２または１４に表示する。
【００６５】
データ記憶領域７２には、ＲＯＭ２８ａのデータおよびＣＰＵコア４２によって生成または取得されたデータが記憶される。データ記憶領域７２には、オブジェクトデータ領域７４、テクスチャデータ領域７６、位置データおよび向きデータ領域７８、第１仮想カメラデータ領域８０、第２仮想カメラデータ領域８２、および注視点データ領域８４等が設けられる。
【００６６】
オブジェクトデータ領域７４には、仮想３次元空間内に配置される仮想的な物体を示すオブジェクトデータが記憶される。たとえば、プレイヤキャラクタや複数のライバルキャラクタ等のゲームキャラクタのオブジェクトデータや、地表、地表の物体、空中の雲等のような背景オブジェクトのオブジェクトデータ等が記憶される。プレイヤキャラクタは、ゲーム装置１０のプレイヤによって操作されるオブジェクトである。ライバルキャラクタは仮想ゲームにおいてプレイヤキャラクタと競争するオブジェクトであり、ＣＰＵコア４２によって制御されるノンプレイヤオブジェクトである。なお、各オブジェクトはポリゴンによって形成されている。
【００６７】
テクスチャデータ領域７６には、上述のプレイヤキャラクタ、ライバルキャラクタ、背景オブジェクト等のそれぞれに貼り付け処理されるそれぞれのテクスチャデータが記憶される。
【００６８】
位置データおよび向きデータ領域７８には、上述のプレイヤキャラクタ、ライバルキャラクタ、背景オブジェクト等のオブジェクトの配置状態を示すデータが記憶され、具体的には、各オブジェクトが仮想３次元空間内において存在している位置の座標を示す位置データおよび向いている方向を示す向きデータが記憶される。位置データおよび向きデータは、少なくともワールド座標系での座標および向きを示すデータを含む。各オブジェクトの初期の位置および向きは所定の値が設定されている。また、プレイヤキャラクタの動作は操作スイッチ２０またはタッチパネル２２からの操作入力データに基づいて画像処理プログラムに従って制御されて、プレイヤキャラクタの位置データおよび向きデータはたとえば１表示フレームごとに更新される。また、ライバルキャラクタおよび背景オブジェクト等の動作は画像処理プログラムに従って制御され、ライバルキャラクタおよび背景オブジェクト等の位置データおよび向きデータもたとえば１表示フレームごとに更新される。なお、複数のライバルキャラクタおよび複数の背景オブジェクト等が存在する場合、それぞれの位置データおよび向きデータが記憶される。
【００６９】
第１仮想カメラデータ領域８０には、仮想３次元空間内のシーンを撮影しその画像を描画するための第１仮想カメラ（図４参照）に関するデータが記憶される。具体的には、第１仮想カメラの配置状態を示す位置データおよび視野角データ、第１仮想カメラで可視化する範囲（クリッピングエリア）を規定する後方（ファー）クリッピング平面を示すデータおよび前方（ニア）クリッピング平面を示すデータ等を含む、第１仮想カメラを配置または設定するために用いられるデータが記憶される。
【００７０】
第１仮想カメラの位置データは、第１仮想カメラが仮想３次元空間内において存在している位置の座標（ワールド座標系）を示す。たとえば、第１仮想カメラは注視点またはプレイヤキャラクタ等から所定の距離だけ離れた位置に注視点を向くようにして配置される。また、第１仮想カメラは、所定の位置に固定されていてよいし、あるいは注視点またはプレイヤオブジェクト等の移動に応じて移動されてよい。移動される場合、第１仮想カメラの位置は、注視点またはプレイヤキャラクタ等の位置に応じて算出される。そして、第１仮想カメラの位置データ領域はたとえば１表示フレームごとに更新される。
【００７１】
第１仮想カメラの視野角データは、第１仮想カメラの視野を規定するためのものであり、第１仮想カメラのピラミッド視野の頂点の角度２θ１を示す。この実施例では、画面は矩形状であるので、視野角θ１は、第１仮想カメラ座標系のＸ軸に平行な方向とＹ軸に平行な方向とで異なる２つの所定の値に設定される。この視野角θ１の各所定値はＲＯＭ２８ａに予め記憶されている。また、視野角データは、予め定められた値に固定されていてもよいし、あるいは画像処理（ゲーム処理）の進行に応じて更新されてもよい。
【００７２】
第１仮想カメラの後方クリッピング平面を示すデータと前方クリッピング平面を示すデータは、第１仮想カメラのクリッピングエリアを設定するために使用されるデータである。第１仮想カメラの後方クリッピング平面と前方クリッピング平面は、描画する部分を限定するものであり、第１仮想カメラから注視点に向かう方向にそれぞれの所定の距離だけ離れた位置に設定される。この後方クリッピング平面と前方クリッピング平面との間のクリッピングエリア（四角錐台の視野）に存在するオブジェクトのみが描画されることとなる。後方クリッピング平面を示すデータと前方クリッピング平面を示すデータは、たとえば仮想カメラからの距離または仮想カメラ座標系でのＺ座標によって表されており、これらデータは予めＲＯＭ２８ａに記憶されている。また、後方クリッピング平面を示すデータと前方クリッピング平面を示すデータとは、予め定められた値に固定されていてもよいし、画像処理（ゲーム処理）の進行に応じて更新されてもよい。
【００７３】
第２仮想カメラデータ領域８２には、仮想３次元空間内に存在する物体を画面に表示し易くするための第２仮想カメラ（図４参照）に関するデータが記憶される。具体的には、第２仮想カメラの配置状態を示す位置データおよび視野角データ、第２仮想カメラで可視化するクリッピングエリアを規定する後方クリッピング平面を示すデータおよび前方クリッピング平面を示すデータ等を含む、第２仮想カメラを配置または設定するために用いられるデータが記憶される。第２仮想カメラは、第１仮想カメラのクリッピングエリア内に含まれないがその周囲の部分に存在する物体を撮影（座標変換）するためのものでもある。また、第２仮想カメラは、特定のオブジェクトを座標変換するために使用されてよく、この実施例ではライバルキャラクタのために使用される。
【００７４】
第２仮想カメラの位置データは、第２仮想カメラが仮想３次元空間内において存在している位置の座標（ワールド座標系）を示す。たとえば、第２仮想カメラは、第１仮想カメラのたとえば後方クリッピング平面を基準としてみた場合、第１仮想カメラと同じ側に存在し、かつ、第１仮想カメラよりもその平面から離れている。また、第２仮想カメラは、第１仮想カメラから所定の距離だけ離れた位置に注視点を向くようにして配置される。この第２仮想カメラは、注視点と第１仮想カメラとを結びかつ注視点から第１仮想カメラの方向へ延びる延長線上に配置されてよい。したがって、第２仮想カメラは、第１仮想カメラの移動（すなわち注視点またはプレイヤキャラクタ等の移動）に応じて移動されてよい。移動される場合、第２仮想カメラの位置は、第１仮想カメラの位置（あるいは注視点もしくはプレイヤキャラクタ等の位置）に応じて算出される。そして、第２仮想カメラの位置データ領域はたとえば１表示フレームごとに更新される。
【００７５】
第２仮想カメラの視野角データは、第２仮想カメラの視野を規定するためのものであり、第２仮想カメラのピラミッド視野の頂点の角度２θ２を示す。第２仮想カメラは、第１仮想カメラのクリッピングエリアの周囲の領域（視野範囲内には含まれない。）に存在する物体を撮影するためのものであるので、第２仮想カメラの視野角は、第１仮想カメラの第１クリッピングエリアの周囲の領域の少なくとも一部が第２仮想カメラで撮影可能な視野範囲内に含まれるような所定の値に設定されている。上述のように、この実施例の画面は矩形状であるので、視野角θ２も、第２仮想カメラ座標系のＸ軸に平行な方向とＹ軸に平行な方向とで異なる２つの所定の値に設定される。この視野角θ２の各所定値はＲＯＭ２８ａに予め記憶されている。また、この視野角データは、予め定められた値に固定されていてもよいし、画像処理（ゲーム処理）の進行に応じて更新されてもよい。
【００７６】
第２仮想カメラの後方クリッピング平面を示すデータと前方クリッピング平面を示すデータは、第２仮想カメラのクリッピングエリアを設定するために使用されるデータである。第２仮想カメラの後方クリッピング平面と前方クリッピング平面は、第２仮想カメラから注視点に向かう方向にそれぞれの所定の距離だけ離れた位置に設定される。これら後方クリッピング平面を示すデータと前方クリッピング平面を示すデータは、予めＲＯＭ２８ａに記憶されている。また、後方クリッピング平面を示すデータと前方クリッピング平面を示すデータとは、予め定められた値に固定されていてもよいし、画像処理（ゲーム処理）の進行に応じて更新されてもよい。
【００７７】
第２仮想カメラの後方クリッピング平面および前方クリッピング平面は、第１仮想カメラのそれらとは関係なく任意に設定されてよいが、描画する範囲の整合性をとることが望ましい。たとえば、第１仮想カメラおよび第２仮想カメラの後方クリッピング平面は同じ位置に設定するのが望ましい。この場合には、第１仮想カメラと第２仮想カメラとで奥行き方向の同じ位置までの領域に存在する物体を描画することができる。また、同様に、前方クリッピング平面も第１仮想カメラおよび第２仮想カメラで同じ位置に設定するのが望ましい。この場合にも、両仮想カメラで奥行き方向の同じ位置からの領域に存在している物体を描画することができる。さらに、両仮想カメラで前方クリッピング平面および後方クリッピング平面の両方を同じ位置に設定した場合には、両仮想カメラで奥行き方向の同じ範囲に存在する物体を描画することができる。さらにまた、第２仮想カメラの視野角２θ２を第１仮想カメラの視野角２θ１よりも狭い値に適宜に設定することによって、両仮想カメラでその位置およびサイズが同一の後方クリッピング平面を設定する場合には、描画する部分の後方を両仮想カメラで同じにすることができる。
【００７８】
注視点データ領域８４には、第１仮想カメラおよび第２仮想カメラの注視点の位置の座標（ワールド座標系）を示すデータが記憶される。注視点は、第１仮想カメラと第２仮想カメラとで整合性をとるために同一に設定されるのが望ましい。注視点の位置は、仮想３次元空間の所定の位置に設定されてもよく、この場合には仮想３次元空間の所定位置のシーンが画像として描画される。また、注視点の位置は、物体の位置に基づいて設定されてもよい。たとえばプレイヤキャラクタの登場するゲームの場合には、注視点の位置はプレイヤキャラクタの位置に基づいて算出されてよい。たとえば、注視点の位置は、プレイヤキャラクタの中心もしくは重心位置または近傍の位置などに設定されてよい。このような場合にはプレイヤキャラクタを含むシーンが画像として描画される。注視点位置が、プレイヤキャラクタの移動またはプログラムに従って移動されるような場合には、注視点データ領域８４はたとえば１表示フレームごとに更新される。
【００７９】
なお、データ記憶領域７２には他の必要なデータも記憶されている。たとえば第１仮想カメラおよび第２仮想カメラの仮想スクリーン（２次元投影平面）を示すデータ等も記憶されている。
【００８０】
この画像処理装置１０では、仮想３次元空間に同時に２つの視点が設定され、各視点から見たシーンが組み合わせられることによって１つの画像が生成される。
【００８１】
具体的には、図４に示すように、第１仮想カメラと第２仮想カメラの２つの視点がワールド座標系に設けられる。この図４では、図示しない注視点は、たとえばプレイヤキャラクタ９０を画面にとらえるようにプレイヤキャラクタ９０の位置に基づいて設定される。第１仮想カメラと第２仮想カメラはこの注視点を向くようにして、たとえば注視点から所定の距離だけそれぞれ離れた位置に配置される。また、第１仮想カメラはプレイヤキャラクタ９０が当該第１仮想カメラの第１クリッピングエリア内に存在するように配置される。また、第１仮想カメラの第１後方クリッピング平面と第２仮想カメラの第２後方クリッピング平面とは同一面に設定されている。なお、第１仮想カメラの第１前方クリッピング平面と第２仮想カメラの第２前方クリッピング平面とは異なる位置に設定されている。
【００８２】
また、図４では、ライバルキャラクタ９２は、第１仮想カメラから奥行き方向にプレイヤキャラクタ９０と同じ程度の距離だけ離れた位置に存在している。また、図４では省略されるが、仮想３次元空間には背景オブジェクトも配置されている。視野範囲は、図４からわかるように、仮想カメラに近くなるにつれて狭くなるので、仮想カメラに近い位置に存在する物体は視野に入り難い。従来技術のようにそのまま１つの視点から見た画像を描画する（たとえば第１仮想カメラから撮影した画像を生成する）場合、このライバルキャラクタ９２は、第１クリッピングエリアの近傍（側面の周囲の領域）、すなわち、視野範囲外に存在しているので、画面には入らない。
【００８３】
しかし、この画像処理装置１０では、図４のライバルキャラクタ９２のような第１仮想カメラの第１クリッピングエリアに隣接する周辺領域に存在している物体を、第１仮想カメラの第１クリッピングエリアに存在する他の物体とともに１つの画像に描画する。このために、この画像処理装置１０では、第２仮想カメラが、その第２クリッピングエリアに第１仮想カメラの第１クリッピングエリアの周囲の領域の一部が含まれるようにして設けられている。そして、第１仮想カメラの第１クリッピングエリア内に存在する他の物体を描画する画面に合わせて、第２仮想カメラの視野範囲内に存在する物体を描画する。このように、仮想３次元空間内の物体を画面に表示され易くすることができる。
【００８４】
第２仮想カメラの視野範囲内に存在する全ての種類の物体を画面内に取り込むようにしてもよいが、この実施例では、特定の種類または属性の物体だけが第２仮想カメラに基づいて画面内に取り込まれるように処理される。つまり、この実施例では、ライバルキャラクタ９２のみが第２仮想カメラに基づいて処理され、他の物体（プレイヤキャラクタ、背景オブジェクト）は第１仮想カメラのみに基づいて処理される。言い換えれば、この画像処理装置１０では、物体ごとに２種類（第１仮想カメラと第２仮想カメラ）の座標変換が使い分けられていて、各座標変換を基に描画した各物体が同じ１つの画面に合わせられて表示される。なお、物体の種類または属性等で区別せずに、ある物体だけを第２仮想カメラに基づいて画面内に表示するようにしてもよい。
【００８５】
具体的には、この実施例では、ライバルキャラクタ９２の位置が第２仮想カメラに基づく座標変換によって修正される。これによって、第２仮想カメラの視野範囲内に存在するライバルキャラクタ９２の位置が、第１仮想カメラの視野範囲内に変換される。
【００８６】
図５には、第２仮想カメラに基づくライバルキャラクタ９２の位置修正の概要が示される。この位置修正は、ライバルキャラクタ９２の座標を第１仮想カメラ座標系のＸ軸方向およびＹ軸方向に縮小する座標変換である。なお、Ｚ座標は位置修正前後で同一であり、つまり、修正されない。
【００８７】
なお、この図５は、第１仮想カメラ座標系のＸＺ平面に垂直な方向（Ｙ軸方向）から見た図である。第１仮想カメラと第２仮想カメラは後方クリッピング平面を共有している、つまり、両者の後方クリッピング平面は同一面である。また、第１仮想カメラと第２仮想カメラと図示しない注視点は、後方クリッピング平面に直交する同一垂線上に配置されている。つまり、この垂線は第１仮想カメラおよび第２仮想カメラから注視点への視線に相当し、したがって、各仮想カメラ座標系のＺ軸に相当する。また、第１仮想カメラおよび第２仮想カメラの仮想スクリーン（図示せず）は、上記視線に直交するように、つまり、後方クリッピング平面に平行に設定される。
【００８８】
この実施例の位置修正は、第２仮想カメラの視野角を示す線（図５の太い実線）の内側の空間を、第１仮想カメラの視野内に収まるように圧縮するものと見ることができる。この変換によって、ライバルキャラクタ９２の第１カメラ座標系でのＸ座標（およびＹ座標）が、Ｘ軸方向（およびＹ軸方向）に縮小される。
【００８９】
なお、ライバルキャラクタ９２の位置は、第１仮想カメラの視野内にもともと存在しているライバルキャラクタ９２であっても、この変換によって修正される。
【００９０】
ライバルキャラクタ９２の第１仮想カメラ座標系での位置修正前の座標を（ｘａ，ｙａ，ｚａ）とし、位置修正後の座標を（ｘａ´，ｙａ´，ｚａ）とする。また、図５において、θ１は第１仮想カメラの視野角の半角であり、θ２は第２仮想カメラの視野角の半角である。また、ｈｃは第１仮想カメラの第１後方クリッピング平面との距離（高さ）である。ライバルキャラクタ９２の第１仮想カメラ座標系での位置修正後のＸ座標ｘａ´は次の数１に従って算出され、Ｙ座標ｙａ´は次の数２に従って算出される。
【００９１】
［数１］
ｘａ´＝ｆ(ｚａ)×ｘａ
［数２］
ｙａ´＝ｆ(ｚａ)×ｙａ
上記数１および数２においてｆ（ｚ）は座標の縮小率を示し、次の数３に従って算出される。
【００９２】
［数３］
ｆ(ｚ)＝ｚ×tanθ１／{ｈｃ×tanθ１−(ｈｃ−ｚ)×tanθ２}
なお、上述のように、画面が矩形状の場合には視野角θ１およびθ２は、仮想カメラ座標系のＸ軸方向とＹ軸方向とで異なるものとなるので、Ｘ座標の算出の場合にはＸ軸方向のθ１およびθ２を用いてｆ(ｚ)を算出し、Ｙ座標の算出の場合にはＹ軸方向のθ１およびθ２を用いてｆ(ｚ)を算出する。
【００９３】
この縮小率ｆ(ｚ)は、図５および数３からわかるように、第１仮想カメラと第２仮想カメラの配置関係に基づいて定められており、第１仮想カメラの視野角の半角θ１、第２仮想カメラの視野角の半角θ２、第１仮想カメラと第２仮想カメラで共通する後方クリッピング平面から第１仮想カメラまでの距離ｈｃ、および修正しようとする位置のｚ座標によって求められる。この数３のｆ(ｚ)の値はｚ座標の値に応じて変化する。具体的には、この縮小変換は、物体の位置が第１仮想カメラに近づくにつれて縮小率の値が小さくなるような変換である。すなわち、数３では、ｚ座標の値が小さいほど縮小率ｆ(ｚ)の値は小さくなる。したがって、ｚ座標が小さくなるにつれて、物体の第１カメラ座標系でのｘ座標およびｙ座標はより小さい値に変換されて、より縮小される。
【００９４】
この位置修正後、第１仮想カメラに基づいて、第１仮想カメラの第１クリッピングエリア（可視化領域）内に存在する物体が、位置修正によって第１クリッピングエリア内に存在することとなったライバルキャラクタ９２とともに描画される。たとえば、この実施例では、第１仮想カメラ座標系で第１クリッピングエリアに存在する各物体は２次元投影平面（仮想スクリーン）に透視投影変換される。そして、Ｚバッファ法等によって隠面消去処理を行うとともに、テクスチャマッピングによって各物体等にテクスチャを貼り付けて、画面の画像データを生成する。
【００９５】
こうして、第１仮想カメラの第１クリッピングエリア内の物体と第１仮想カメラの第１クリッピングエリアの周囲の領域に存在していたライバルキャラクタ９２とが１つの画面で表示される。図４に示したように、第１仮想カメラの第１クリッピングエリア内にプレイヤキャラクタ９０が存在し、第１仮想カメラの第１クリッピングエリアの周辺でありかつ第２仮想カメラの視野範囲内にライバルキャラクタ９２が存在する場合には、図６に示すような画面が表示される。この図６の画面では、第１仮想カメラの第１クリッピングエリア内に存在しているプレイヤキャラクタ９０とともに、第１仮想カメラの視野範囲外に存在しているライバルキャラクタ９２が、修正後の位置に描画されている。
【００９６】
また、ライバルキャラクタ９２は、視線と垂直な面（第１仮想カメラ座標系のＸＹ軸に平行な面）の中での位置修正後に第１仮想カメラに基づいて描画されるので、ライバルキャラクタ９２の見た目の大きさは、第１仮想カメラからの距離（第１仮想カメラ座標系のｚ軸方向の距離）によって決まるようになっている。したがって、第２仮想カメラに基づいて位置修正されたライバルキャラクタ９２の大きさは、仮想３次元空間における実際の物体間の位置関係と整合するものとなっている。したがって、第１仮想カメラよりも遠くに位置している第２仮想カメラに基づいて位置修正されたライバルキャラクタ９２が小さくなり過ぎるようなことがなく、ライバルキャラクタ９２を見易く表示することができる。
【００９７】
たとえば仮想３次元空間が地面ないし地表とその上の空中領域を含むような場合を想定すると、一例として、図４および図５で示した共通の後方クリッピング平面は地表面に設定され、第１仮想カメラは空中に配置され、第２仮想カメラは第１仮想カメラよりも高い場所に配置されていると考えることができる。そして、プレイヤキャラクタ９０は空中のある高さに存在し、第１仮想カメラの第１クリッピングエリア内にある。一方、ライバルキャラクタ９２はプレイヤキャラクタ９０とほぼ同じ高さに存在する。上述のように、視野範囲は仮想カメラに近いほど狭くなるものであり、ライバルキャラクタ９２は第１仮想カメラの第１クリッピングエリアの周辺（視野範囲外）に存在している。しかし、このライバルキャラクタ９２は第２仮想カメラの視野範囲内であるため、位置修正処理によって第１仮想カメラの視野範囲内にそのＸ座標およびＹ座標が修正される。したがって、プレイヤキャラクタ９０と同じような高さで第１仮想カメラの第１クリッピングエリアの周辺に存在するライバルキャラクタ９２も、図６に示したように、画面内に表示することができる。しかも、上述のように位置修正処理ではＺ座標が同一に維持されて、第１仮想カメラからの高さ関係がそのまま維持される。したがって、ライバルキャラクタ９２の画面における見た目の大きさの整合性をとることができ、ライバルキャラクタ９２を見易く表示することができる。
【００９８】
図７および図８には、この実施例の画像処理装置１０の動作の一例が示される。図７の最初のステップＳ１で、ＣＰＵコア４２は、ＲＡＭ４８のオブジェクトデータ領域７４、ならびに位置データおよび向きデータ領域７８からプレイヤキャラクタ、ライバルキャラクタおよび背景オブジェクト等の各オブジェクトデータならびに初期の位置データおよび向きデータをＲＡＭ４８のワークエリアに読み出して、プレイヤキャラクタ、ライバルキャラクタおよび背景オブジェクト等の各オブジェクトを仮想３次元空間であるワールド座標系の各座標に配置し、各オブジェクトの配置状態を示すデータをワークエリアに生成する。
【００９９】
次に、ステップＳ３で、ＣＰＵコア４２は、注視点と第１仮想カメラとをワールド座標系の座標に配置する。具体的には、ＣＰＵコア４２は、たとえば、ＲＡＭ４８の位置データおよび向きデータ領域７８からプレイヤキャラクタの位置データをワークエリアに読み出して、そのプレイヤキャラクタの位置データに基づいて注視点の座標を決定して、その注視点の座標を注視点データ領域８４に記憶する。なお、注視点の位置は、プレイヤキャラクタの以外のオブジェクトの位置に基づいて設定されてもよいし、仮想３次元空間内の予め定められた位置に設定されてもよい。そして、ＣＰＵコア４２は、その注視点データと第１仮想カメラデータ領域８０の視野角データ（２θ１）等に基づいて第１仮想カメラの座標を算出し、算出した第１仮想カメラの座標を第１仮想カメラデータ領域８０に位置データとして記憶する。そして、ＣＰＵコア４２は、注視点データおよび第１仮想カメラの位置データに基づいて、注視点と、当該注視点を向きかつ視野角２θ１の第１仮想カメラとをワールド座標系の各座標に配置する。
【０１００】
続いて、ステップＳ５で、ＣＰＵコア４２は、第１仮想カメラデータ領域８０の後方クリッピング平面を示すデータをワークエリアに読み出して、第１仮想カメラから注視点方向に距離ｈｃだけ離れた位置に第１仮想カメラの（第１）後方クリッピング平面を設定し、当該後方クリッピング平面を示すデータをワークエリアに生成する。また、このステップＳ５では、同様にして、第１仮想カメラの第１前方クリッピング平面も設定される。
【０１０１】
ステップＳ７では、ＣＰＵコア４２は、第２仮想カメラをワールド座標系の座標に配置する。具体的には、ＣＰＵコア４２は、注視点データ領域８４の注視点データ、第１仮想カメラデータ領域８０の位置データ、第２仮想カメラデータ領域８２の視野角データ（２θ２）に基づいて、注視点と第１仮想カメラを結びかつ注視点から第１仮想カメラへ延びる延長線上において注視点を向きかつ視野角が２θ２となるような第２仮想カメラの座標を算出し、算出した第２仮想カメラの座標を位置データとして第２仮想カメラデータ領域８２に記憶する。そして、ＣＰＵコア４２は、第２仮想カメラの位置データに基づいて、注視点を向きかつ視野角２θ２の第２仮想カメラをワールド座標系の座標に配置する。なお、この実施例では、第２仮想カメラの視野角２θ２は、第１仮想カメラの後方クリッピング平面と第２仮想カメラの後方クリッピング平面とが同一となるような値に予め設定されている。
【０１０２】
ステップＳ９では、ＣＰＵコア４２は、物体の座標を第１仮想カメラ座標系の座標に変換する。具体的には、ＣＰＵコア４２は、ワールド座標系に配置したプレイヤキャラクタ、ライバルキャラクタおよび背景オブジェクト等の各オブジェクトを、第１仮想カメラデータ領域８０のデータに基づいて、第１仮想カメラ座標系の座標に変換して、第１仮想カメラ座標系での各オブジェクトの座標データをＲＡＭ４８のワークエリアに生成する。第１仮想カメラ座標系は、図５に示すように、第１仮想カメラの位置を原点とし、注視点方向をＺ軸正方向としたＸＹＺ座標系である。なお、座標変換処理は、ＣＰＵコア４２の指令に従ってＧＰＵ５０または５２によって実行されてよい。
【０１０３】
ステップＳ１１では、ＣＰＵコア４２は、第２仮想カメラに基づくライバルキャラクタの位置修正処理を実行する。具合的には、ＣＰＵコア４２は、第１仮想カメラ座標系に変換されたライバルキャラクタのＸ座標およびＹ座標を、上述の数１および数２に従って修正（縮小変換）して、その修正後の第１仮想カメラ座標系での座標データをワークエリアに生成する。
【０１０４】
そして、ステップＳ１３で、ＣＰＵコア４２は仮想３次元空間に配置した全ライバルキャラクタの位置修正処理が終了したか否かを判断する。ステップＳ１３で“ＮＯ”であれば、つまり、まだ位置修正処理をしていないライバルキャラクタが残っている場合には、処理はステップＳ１１に戻る。
【０１０５】
一方、ステップＳ１３で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ１５で、物体を仮想スクリーンに投影変換する。具体的には、ＣＰＵコア４２は、第１仮想カメラ座標系の第１クリッピングエリア内に存在するプレイヤキャラクタ、ライバルキャラクタ、および背景オブジェクト等の各オブジェクトを、第１仮想カメラデータおよび仮想スクリーンを示すデータ等に基づいて、透視投影変換によって２次元投影平面座標系の座標に変換して、２次元投影平面座標系での各オブジェクトの座標等を示すデータをたとえばＲＡＭ４８のワークエリアに生成する。生成される各オブジェクトの座標データは２次元投影平面座標系のＸＹ座標とともに奥行き情報（Ｚ値）を含む。なお、この座標変換処理も、上述のように、ＣＰＵコア４２の指令に従ってＧＰＵ５０または５２によって実行されてよい。このステップＳ１５を終了すると、処理は次の図８のステップＳ１７へ進む。
【０１０６】
図８のステップＳ１７では、ＣＰＵコア４２は背景オブジェクトの描画処理を実行する。この処理の動作は図９に詳細に示される。図９の最初のステップＳ４１で、ＣＰＵコア４２は、ＲＡＭ４８のテクスチャデータ領域７６から、描画しようとする背景オブジェクトに対応するテクスチャデータを読み出して、そのテクスチャデータをＧＰＵ５０または５２を介してＶＲＡＭ５６または５８に書き込む。
【０１０７】
次に、ステップＳ４３で、ＣＰＵコア４２は、投影平面座標系に投影された当該背景オブジェクトに相当する位置の描画バッファの各ピクセルのＺバッファを参照する。たとえば、ＣＰＵコア４２は、ＧＰＵ５０または５２を用いて、ＶＲＡＭ５６または５８のＺバッファから、当該背景オブジェクトに相当する位置の画素に対応するデータ（Ｚ値）をＲＡＭ４８のワークエリアに読み出す。
【０１０８】
そして、ステップＳ４５で、ＣＰＵコア４２は、読み出したＺバッファのデータとステップＳ１５で生成された奥行き情報とに基づいて、書込み対象のピクセルのＺバッファ値が、書込みしようとする背景オブジェクトの奥行き情報より大きいか否かを判定する。
【０１０９】
ステップＳ４５で“ＹＥＳ”であれば、つまり、書込みしようとする背景オブジェクトの方が当該ピクセルに既に書き込まれている物体よりも視点に近い場合、あるいは当該ピクセルのＺ値が初期値である場合には、ステップＳ４７で、ＣＰＵコア４２は、ＧＰＵ５０または５２を介して、ＶＲＡＭ５６または５８の書込み対象のピクセルに対応するＺバッファに、背景オブジェクトの奥行き情報を格納する。つまり、当該ピクセルのＺバッファ値が更新される。
【０１１０】
続いて、ステップＳ４９で、ＣＰＵコア４２は、ＧＰＵ５０または５２を介して、ＶＲＡＭ５６または５８の描画バッファ（フレームバッファ）の当該ピクセルに、背景オブジェクトのテクスチャの色情報を書き込む。ステップＳ４９を終了すると処理はステップＳ５１へ進む。
【０１１１】
一方、ステップＳ４５で“ＮＯ”であれば、つまり、書込みしようとする背景オブジェクトの方が既に書き込まれている物体よりも視点から遠い場合には、そのままステップＳ５１へ進む。
【０１１２】
ステップＳ５１では、ＣＰＵコア４２は、当該背景オブジェクトに相当する位置の全ピクセルの描画処理が終了したか否かを判定し、“ＮＯ”であればステップＳ４３へ戻って、残りのピクセルについてステップＳ４３からの描画処理を実行する。ステップＳ５１で“ＹＥＳ”であれば、ＣＰＵコア４２はステップＳ５３で、投影平面座標系に投影された全背景オブジェクトの描画処理が終了したか否かを判定し、“ＮＯ”であればステップＳ４１へ戻って、残りの背景オブジェクトについての描画処理を実行する。ステップＳ５３で“ＹＥＳ”であれば、この背景オブジェクトの描画処理を終了して、処理は図８のステップＳ１９へ戻る。
【０１１３】
図８のステップＳ１９では、ＣＰＵコア４２は、プレイヤキャラクタの描画処理を実行する。この処理の動作は図１０に詳細に示される。図１０の最初のステップＳ６１で、ＣＰＵコア４２は、テクスチャデータ領域７６からプレイヤキャラクタに対応するテクスチャデータを読み出して、そのテクスチャデータをＧＰＵ５０または５２を介してＶＲＡＭ５６または５８に書き込む。
【０１１４】
次に、ステップＳ６３で、ＣＰＵコア４２は、上述のステップＳ４３と同様にして、投影平面座標系に投影されたプレイヤキャラクタに相当する位置の描画バッファの各ピクセルのＺバッファを参照する。
【０１１５】
そして、ステップＳ６５で、ＣＰＵコア４２は、参照したＺバッファのデータとステップＳ１５で生成された奥行き情報とに基づいて、書込み対象のピクセルのＺバッファ値が、書込みしようとするプレイヤキャラクタの奥行き情報より大きいか否かを判定する。
【０１１６】
ステップＳ６５で“ＹＥＳ”であれば、つまり、書込みしようとするプレイヤキャラクタの方が当該ピクセルに既に書き込まれている物体よりも視点に近い場合、あるいは当該ピクセルのＺ値が初期値である場合には、ステップＳ６７で、ＣＰＵコア４２は、当該ピクセルのＺバッファ値を更新する。つまり、上述のステップＳ４７と同様にして、ＣＰＵコア４２は、書込み対象のピクセルに対応するＺバッファにプレイヤキャラクタの奥行き情報を格納する。
【０１１７】
続いて、ステップＳ６９で、ＣＰＵコア４２は、上述のステップＳ４９と同様にして、ＧＰＵ５０または５２を介して、ＶＲＡＭ５６または５８の描画バッファ（フレームバッファ）の当該ピクセルに、プレイヤキャラクタのテクスチャの色情報を書き込む。ステップＳ６９を終了すると処理はステップＳ７１へ進む。
【０１１８】
一方、ステップＳ６５で“ＮＯ”であれば、つまり、書込みしようとするプレイヤキャラクタの方が既に書き込まれている物体よりも視点から遠い場合には、そのままステップＳ７１へ進む。
【０１１９】
ステップＳ７１では、ＣＰＵコア４２は、プレイヤキャラクタに相当する位置の全ピクセルの描画処理が終了したか否かを判定し、“ＮＯ”であればステップＳ６３へ戻って、残りのピクセルについて描画処理を実行する。一方、ステップＳ７１で“ＹＥＳ”であれば、このプレイヤキャラクタの描画処理を終了して、処理は図８のステップＳ２１へ戻る。
【０１２０】
図８のステップＳ２１では、ＣＰＵコア４２は、ライバルキャラクタの描画処理を実行する。この処理の動作は図１１に詳細に示される。図１１の最初のステップＳ８１で、ＣＰＵコア４２は、テクスチャデータ領域７６から描画しようとするライバルキャラクタに対応するテクスチャデータを読み出して、そのテクスチャデータをＧＰＵ５０または５２を介してＶＲＡＭ５６または５８に書き込む。
【０１２１】
次に、ステップＳ８３で、ＣＰＵコア４２は、上述のステップＳ４３と同様にして、投影平面座標系に投影された当該ライバルキャラクタに相当する位置の描画バッファの各ピクセルのＺバッファを参照する。
【０１２２】
そして、ステップＳ８５で、ＣＰＵコア４２は、参照したＺバッファのデータとステップＳ１５で生成された奥行き情報とに基づいて、書込み対象のピクセルのＺバッファ値が、書込みしようとするライバルキャラクタの奥行き情報より大きいか否かを判定する。
【０１２３】
ステップＳ８５で“ＹＥＳ”であれば、つまり、書込みしようとするライバルキャラクタの方が当該ピクセルに既に書き込まれている物体よりも視点に近い場合、あるいは当該ピクセルのＺ値が初期値である場合には、ステップＳ８７で、ＣＰＵコア４２は、上述のステップＳ４７と同様にして、当該ピクセルに対応するＺバッファにライバルキャラクタの奥行き情報を上書きして、当該ピクセルのＺバッファ値を更新する。
【０１２４】
続いて、ステップＳ８９で、ＣＰＵコア４２は、上述のステップＳ４９と同様にして、描画バッファの当該ピクセルにライバルキャラクタのテクスチャの色情報を上書きする。ステップＳ８９を終了すると処理はステップＳ５１へ進む。
【０１２５】
一方、ステップＳ８５で“ＮＯ”であれば、つまり、書込みしようとするライバルキャラクタの方が既に書き込まれている物体よりも視点から遠い場合には、そのままステップＳ９１へ進む。
【０１２６】
ステップＳ９１では、ＣＰＵコア４２は、当該ライバルキャラクタに相当する位置の全ピクセルの描画処理が終了したか否かを判定し、“ＮＯ”であればステップＳ８３へ戻って、残りのピクセルについてステップＳ８３からの処理を実行する。一方、ステップＳ９１で“ＹＥＳ”であれば、ＣＰＵコア４２はステップＳ９３で、投影平面座標系に投影された全ライバルキャラクタの描画処理が終了したか否かを判定し、“ＮＯ”であればステップＳ８１へ戻って、残りのライバルキャラクタについての描画処理を実行する。ステップＳ９３で“ＹＥＳ”であれば、このライバルキャラクタの描画処理を終了して、処理は図８のステップＳ２３へ戻る。
【０１２７】
図８のステップＳ２３では、ＣＰＵコア４２は、描画された画面をＬＣＤ１２またはＬＣＤ１４に表示する。たとえば、ＣＰＵコア４２は、ＬＣＤコントローラ６０を用いて、ＶＲＡＭ５６または５８の描画バッファの画像データをＬＣＤ１２または１４に与えて、その画像をＬＣＤ１２または１４に表示する。
【０１２８】
続いて、ステップＳ２５で、ＣＰＵコア４２は、プレイヤキャラクタ、ライバルキャラクタおよび背景オブジェクト等の各オブジェクトのワールド座標系での位置および向き等を更新する。具体的には、ＣＰＵコア４２は、操作スイッチ２０またはタッチパネル２２から取得した操作入力データに基づいてプレイヤキャラクタの位置および向きを算出し、その算出した位置データおよび向きデータを、位置データおよび向きデータ領域７８のプレイヤキャラクタに対応する領域に書き込む。また、ＣＰＵコア４２は、ライバルキャラクタおよび背景オブジェクトの位置および向きを算出し、その位置データおよび向きデータを、位置データおよび向きデータ領域７８のライバルキャラクタおよび背景オブジェクトに対応する領域にそれぞれ書き込む。
【０１２９】
そして、ステップＳ２７で、ＣＰＵコア４２は、画像処理（ゲーム処理）を終了するか否かを判断し、“ＮＯ”であれば図７のステップＳ３に戻って、画像の生成および表示のための処理を繰り返す。一方、ステップＳ２７で“ＹＥＳ”であればこの処理を終了する。
【０１３０】
この実施例によれば、第１仮想カメラの第１クリッピングエリアの周囲に存在する物体（ライバルキャラクタ）を第２仮想カメラに基づいて位置修正することによって、第１仮想カメラの視野範囲内に取り込むようにした。したがって、仮想３次元空間内の物体を画面に表示され易くすることができる。しかも、位置修正した物体を第１仮想カメラから見て描画するので、画面における見た目の大きさに関して、仮想３次元空間内の位置関係との整合性をとることができる。したがって、物体を適正な大きさで表示できるので、プレイヤにとって見易く表示できる。
【０１３１】
たとえば視野の端の方に存在しているライバルキャラクタが第１仮想カメラ側に移動して第１仮想カメラの視野範囲外に出たとしても、第２仮想カメラの視野範囲内であれば、第２仮想カメラに基づいて、第１仮想カメラの視野範囲内に取り込むことができるので、その物体が急激に画面外へ消えるように見える現象を緩和することができる。また、第１仮想カメラの近くの視野外にそれまで存在していた物体が第１仮想カメラ側と反対方向に移動して第１仮想カメラの視野範囲内に入ってくるような場合にも、それまでの位置が第２仮想カメラの視野範囲内であれば第２仮想カメラに基づいて第１仮想カメラの視野範囲に取り込むことができるので、その物体が画面外から急激に現れるように見える現象も緩和することができる。したがって、たとえば視野の境界を移動するような物体であっても、画面に長い間表示しておくことが可能になり、プレイヤにとって見易い画面を表示することができる。さらに、位置修正では第１仮想カメラ座標系でのＺ座標を変更しないので、十分な遠近感や立体感を維持することができる。たとえば、物体が第１仮想カメラに近いほど、その見た目の移動速度が速くなるという現象なども維持できる。
【０１３２】
また、第１仮想カメラの近くに存在する物体であっても画面に表示され易くなるので、たとえば第１仮想カメラがプレイヤキャラクタのみに注目するように配置される場合であっても、プレイヤキャラクタ以外の物体をプレイヤの目に触れ易くすることができる。したがって、プレイヤキャラクタと他の物体等を含めた３次元空間内の状況を把握され易くすることができる。たとえばプレイヤキャラクタとライバルキャラクタとが空間内を移動しながら競走するようなゲームでも、プレイヤキャラクタばかりでなくライバルキャラクタも一緒に表示されることが多くなるので、緊張感を高めたりスリルを大きくしたりすることができ、ゲームの楽しさを向上することができる。
【０１３３】
なお、上述の実施例では、図５に示したように、位置修正処理では、第２仮想カメラの視野角を示す線（太い実線）の内側の部分を第１仮想カメラの視野内に収まるように座標変換をしていた。たとえば第１仮想カメラの周辺に向けて物体が移動してくるような場合には、第１仮想カメラに近くなると、物体が第１仮想カメラにぶつかるような位置には実際には存在していないにもかかわらず、生成されるゲーム画面では、視点にぶつかってくるように見える現象が広い範囲で生じることとなる。そこで、図１２に示す位置修正の変形例のように、第２仮想カメラの視野角を示す線の一部（第１カメラ座標系で、０＜ｚ≦ｚｂの範囲）を、第１仮想カメラの位置で収束するような曲線とし、この線（図１２で太い実線で示される。）の内側の領域が第１仮想カメラの視野内に収まるように座標変換を行うようにしてよい。つまり、第１クリッピングエリア外の位置修正の対象となる領域が、第１仮想カメラに近づくにつれて第１仮想カメラの位置に収束するようにして、その位置修正対象領域を減らしていくようにしてよい。
【０１３４】
具体的には、この変形例の位置修正処理では、縮小率ｆ(ｚ)は、０＜ｚ≦ｚｂの場合には次の数４に従って算出される。なお、ｚｂ＝ｈｃ×定数である。このｚｂを算出するための定数の値としては、０より大きく１より小さい範囲の所定の値が適宜に設定される。
【０１３５】
[数４]
ｆ(ｚ)＝ｚ×tanθ１／{(ｚｂ×tanθ２−ｘｂ)×ｚ＾２／ｚｂ＾２−(tanθ２×ｚｂ−２×ｘｂ)×ｚ／ｚｂ)}
ここで、ｘｂ＝ｈｃ×tanθ１−(ｈｃ−ｚｂ)×tanθ２
また、ｚｂ＜ｚ≦ｈｃの場合の縮小率ｆ(ｚ)は上記数３と同じである。
【０１３６】
この変形例でも、ｚの値に応じてｆ(ｚ)の値が変化する。具体的には、数４による縮小変換は、物体の位置が第１仮想カメラに近づくにつれて縮小率ｆ(ｚ)の値が大きくなるような変換である。つまり、第１仮想カメラに近い領域（０＜ｚ≦ｚｂの範囲）では、位置修正対象の物体（ライバルキャラクタ）の位置が第１仮想カメラに近いほど、縮小率ｆ(ｚ)の値を大きくすることができる。したがって、数４では、物体が第１仮想カメラに近づくにつれて、つまり、ｚ座標の値が小さくなるにつれて、第１仮想カメラ座標系でのｘ座標値およびｙ座標値をあまり縮小されないようにすることができる。これによって、物体が第１仮想カメラに近づくにつれて、その修正後の物体の位置を第１仮想カメラから見た実際の物体の位置に徐々に近づけていくことができる。したがって、変形例の位置修正によれば、たとえば第１仮想カメラの周辺に向けて物体が移動してくるような場合には、その物体が第１仮想カメラにぶつかってくるように見える現象を抑制することができる。
【０１３７】
また、上述の実施例では、第２仮想カメラに基づいて特定の物体（ライバルキャラクタ）の位置を修正した後に、第１仮想カメラに基づいて仮想３次元空間のシーンを描画することによって、画面を生成するようにしていた。しかし、図１３に示す他の実施例のように、第１仮想カメラに基づいて描画した画像と、第２仮想カメラに基づいて描画した特定の物体の画像とを合成することによって、画面を生成するようにしてもよい。この他の実施例によっても、上述の実施例と同様な効果を奏することができ、物体を画面に表示され易くすることができる。
【０１３８】
具体的には、この他の実施例では、第１仮想カメラおよび第２仮想カメラの２つの視点は上述の実施例と同様にして配置されている。図１３に示すように、仮想３次元空間内のプレイヤキャラクタ９０および背景オブジェクト（図示せず）は第１仮想カメラに基づいて描画され、ライバルキャラクタ９２は第２仮想カメラに基づいて描画される。
【０１３９】
ただし、第２仮想カメラは、第１仮想カメラの第１クリッピングエリアの周囲の領域をその視野範囲にとらえるために、共通の後方クリッピング平面から第１仮想カメラよりも遠い位置に配置されているので、ライバルキャラクタ９２を第２仮想カメラに基づいてそのまま描画すると、画面においてライバルキャラクタ９２が小さくなり過ぎてしまう。そこで、この他の実施例では、描画前にライバルキャラクタ９２の大きさを拡大する処理を実行する。これによって、仮想３次元空間内でのライバルキャラクタ９２と他のオブジェクトとの位置関係に基づく遠近感の整合性をとることができるので、物体を見易く表示することができる。たとえば、第１仮想カメラと後方クリッピング平面との距離をｈ１ｃとし、第２仮想カメラと後方クリッピング平面との距離をｈ２ｃとすると、両者の比ｈ２ｃ／ｈ１ｃによって与えられる拡大率に基づいて、ライバルキャラクタ９２の大きさを拡大する。その後、拡大されたライバルキャラクタ９２を第２仮想カメラに基づいて描画する。
【０１４０】
そして、第１仮想カメラに基づいて描画した画像に、第２仮想カメラに基づいて描画した画像を合成することによって、画面の画像を生成する。なお、第１仮想カメラの図示しない仮想スクリーンまたは第２仮想カメラの図示しない仮想スクリーンのサイズが表示画面サイズと異なる場合には、描画後にその仮想スクリーン画像のサイズを拡大または縮小処理によって表示画面サイズに一致させてから合成する。
【０１４１】
この他の実施例の動作が図１４および図１５のフロー図に示される。なお、図１４および図１５において上述の実施例と同様の処理を実行するステップには、同一の参照符号を付して、その詳細な説明を省略する。
【０１４２】
ＣＰＵコア４２は、上述の実施例と同様にして、図１４のステップＳ１で各オブジェクトをワールド座標系に配置し、ステップＳ３で注視点と第１仮想カメラを配置し、ステップＳ５で第１仮想カメラから距離ｈ１ｃだけ離れた位置に第１後方クリッピング平面を設定する。
【０１４３】
ステップＳ１０１では、ＣＰＵコア４２は、ライバルキャラクタ以外のオブジェクト（背景オブジェクトおよびプレイヤキャラクタ）を第１仮想カメラ座標系の座標に変換する。そして、ステップＳ１０３で、ＣＰＵコア４２は、第１仮想カメラ座標系の背景オブジェクトおよびプレイヤキャラクタを２次元投影平面座標系の座標に透視投影変換する。なお、第１仮想カメラ座標系への変換処理は図７のステップＳ９と同様であり、２次元投影平面座標系への変換処理は図７のステップＳ１５と同様である。
【０１４４】
続いて、ＣＰＵコア４２は、ステップＳ１７で背景オブジェクトの描画処理を実行し、ステップＳ１９でプレイヤキャラクタの描画処理を実行する。
【０１４５】
このようにして、第１仮想カメラに基づいて、背景オブジェクトおよびプレイヤキャラクタが描画バッファに描画される。続いて、第２仮想カメラに基づいて、ライバルキャラクタが描画される。
【０１４６】
ステップＳ７で、ＣＰＵコア４２は第２仮想カメラを配置する。そして、ステップＳ１０５で、ＣＰＵコア４２は、第２仮想カメラから距離ｈ２ｃだけ離れた位置に第２後方クリッピング平面を設定する。ただし、この他の実施例でも、図１３に示すように第１後方クリッピング平面と第２後方クリッピング平面とは同じ面である。つまり、この図１４のステップＳ７とステップＳ１０５とで、ＣＰＵコア４２は、後方クリッピング平面から距離ｈ２ｃの位置に、注視点を向き視野角２θ２の第２仮想カメラを配置する。
【０１４７】
続いて、図１５のステップＳ１０７で、ＣＰＵコア４２は、第２仮想カメラデータ等に基づいて、ライバルキャラクタを第２仮想カメラ座標系の座標に変換する。
【０１４８】
そして、ステップＳ１０９で、ＣＰＵコア４２は、後方クリッピング平面からの第２仮想カメラおよび第１仮想カメラの距離比ｈ２ｃ／ｈ１ｃ（拡大率）に基づいて、ライバルキャラクタの大きさを拡大し、拡大したライバルキャラクタのデータをワークエリアに生成する。この拡大処理は、ＣＰＵコア４２の指示に基づいてＧＰＵ５０または５２によってなされてよい。ステップＳ１１１では、ＣＰＵコア４２は、全ライバルキャラクタの拡大処理が終了したか否かを判断し、“ＮＯ”であればステップＳ１０９へ戻って、残りのライバルキャラクタについて拡大処理を実行する。
【０１４９】
一方、ステップＳ１１１で“ＹＥＳ”であれば、ＣＰＵコア４２は、ステップＳ１１３で、第２仮想カメラ座標系の第２クリッピングエリアに存在するライバルキャラクタを、第２仮想カメラデータおよび仮想スクリーンを示すデータ等に基づいて、第１仮想カメラの場合と同じ２次元投影平面座標系の座標に透視投影変換する。具体的には、第２仮想カメラの仮想スクリーンとして第１仮想カメラの仮想スクリーンと同じ平面を設定している場合には、ライバルキャラクタを当該仮想スクリーンの座標系に変換して、この座標系でのライバルキャラクタの座標データをたとえばＲＡＭ４８のワークエリアに生成する。一方、第２仮想カメラの仮想スクリーンとして第１仮想カメラの仮想スクリーンと異なる平面を設定する場合には、ライバルキャラクタを第２仮想カメラの仮想スクリーンの座標系に変換する。そして、第２仮想カメラの仮想スクリーンが第１仮想カメラの仮想スクリーンと同一になるように、第２仮想カメラの仮想スクリーン座標系でのライバルキャラクタを拡大または縮小変換して、第１仮想カメラの場合と同一の投影平面座標系でのライバルキャラクタの座標データをたとえばＲＡＭ４８のワークエリアに生成する。
【０１５０】
そして、ＣＰＵコア４２は、ステップＳ２１でライバルキャラクタの描画処理を実行して、ステップＳ２３で描画された画面をＬＣＤ１２または１４に表示する。また、ステップＳ２５で、ＣＰＵコア４２は、プレイヤキャラクタ、ライバルキャラクタおよび背景オブジェクトのワールド座標系での位置および向きを更新する。そして、ステップＳ２７で画像処理を終了するか否かを判定し、“ＮＯ”であれば図１４のステップＳ３に戻り、“ＹＥＳ”であればこの画像処理を終了する。
【図面の簡単な説明】
【０１５１】
【図１】この発明の一実施例の画像処理装置を示す外観図である。
【図２】図１実施例の電気的な構成を示すブロック図である。
【図３】図１実施例のメモリマップの一例を示す図解図である。
【図４】図１実施例における画像処理の概要を説明するための図解図である。
【図５】図１実施例における第２仮想カメラに基づく物体の位置修正の概要を説明するための図解図である。
【図６】表示される画面の一例を示す図解図である。
【図７】図１実施例の動作の一例の一部を示すフロー図である。
【図８】図７の続きを示すフロー図である。
【図９】図８の背景オブジェクトの描画処理の動作の一例を示すフロー図である。
【図１０】図８のプレイヤキャラクタの描画処理の動作の一例を示すフロー図である。
【図１１】図８のライバルキャラクタの描画処理の動作の一例を示すフロー図である。
【図１２】第２仮想カメラに基づく物体の位置修正の変形例の概略を説明するための図解図である。
【図１３】他の実施例の画像処理装置における画像処理の概略を説明するための図解図である。
【図１４】他の実施例の画像処理装置の動作の一例の一部を示すフロー図である。
【図１５】図１４の続きを示すフロー図である。
【符号の説明】
【０１５２】
１０  …画像処理装置
１２，１４…ＬＣＤ
２８ａ  …ＲＯＭ
４２  …ＣＰＵコア
４８  …ＲＡＭ
５０，５２  …ＧＰＵ
５６，５８  …ＶＲＡＭ
６０  …ＬＣＤコントローラ
【図１】
2006155442.tif 000003
【図２】
2006155442.tif 000004
【図３】
2006155442.tif 000005
【図４】
2006155442.tif 000006
【図５】
2006155442.tif 000007
【図６】
2006155442.tif 000008
【図７】
2006155442.tif 000009
【図８】
2006155442.tif 000010
【図９】
2006155442.tif 000011
【図１０】
2006155442.tif 000012
【図１１】
2006155442.tif 000013
【図１２】
2006155442.tif 000014
【図１３】
2006155442.tif 000015
【図１４】
2006155442.tif 000016
【図１５】
2006155442.tif 000017