(57)【特許請求の範囲】
【請求項１】
仮想３次元空間内に定義された３次元モデルの画像を表示させるための３次元モデル表示プログラムにおいて、
コンピュータに、
操作入力に応答して、視点から前記仮想３次元空間内を見る方向を示す視線ベクトルを決定し、
前記視線ベクトルの向きに応じた長さであり、かつ前記仮想３次元空間において垂直方向を向いた調整ベクトルを算出し、前記視線ベクトルの前記視線ベクトルから前記調整ベクトルを減算することで得られるベクトルの方向を、投影面の法線方向とすることで、前記視線ベクトルの向きが水平に近いときには２点透視投影とし、前記視線ベクトルの水平方向に対する傾きが大きくなるのに伴い、２点透視投影に対する３点透視投影による影響度を強くした投影条件を決定し、
決定された前記投影条件に従って前記３次元モデルを透視投影して、画像を生成し、
生成された前記画像を表示する、
処理を実行させることを特徴とする３次元モデル表示プログラム。
【請求項２】
前記調整ベクトルの算出の際には、前記視線ベクトルの垂直成分と同じ長さであり、かつ前記仮想３次元空間における垂直方向を向いた垂直ベクトルを算出し、前記視線ベクトルの向きに応じた値であるウォーク項を前記垂直ベクトルに乗算して、前記調整ベクトルを算出することを特徴とする請求項１記載の３次元モデル表示プログラム。
【請求項３】
仮想３次元空間内に定義された３次元モデルの画像を表示させるための３次元モデル表示装置において、
操作入力に応答して、視点から前記仮想３次元空間内を見る方向を示す視線ベクトルを決定する視点状態決定手段と、
前記視線ベクトルの向きに応じた長さであり、かつ前記仮想３次元空間において垂直方向を向いた調整ベクトルを算出し、前記視線ベクトルの前記視線ベクトルから前記調整ベクトルを減算することで得られるベクトルの方向を、投影面の法線方向とすることで、前記視点状態決定手段で決定された前記視線ベクトルの向きが水平に近いときには２点透視投影とし、前記視線ベクトルの水平方向に対する傾きが大きくなるのに伴い、２点透視投影に対する３点透視投影による影響度を強くした投影条件を決定する投影条件決定手段と、
前記投影条件決定手段で決定された前記投影条件に従って前記３次元モデルを透視投影して、画像を生成する画像生成手段と、
生成された前記画像を表示する画像表示手段と、
を有することを特徴とする３次元モデル表示装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は仮想３次元空間内の３次元モデルを表示させる３次元モデル表示プログラムおよび３次元モデル表示装置に関し、特に視線ベクトルを上下に移動させることができる３次元モデル表示プログラムおよび３次元モデル表示装置に関する。
【０００２】
【従来の技術】
近年、３次元モデルをコンピュータに表示することが盛んに行われている。たとえば、建物を設計した際に、その建物を表す３次元モデルを作成する。建物を表す３次元モデルをコンピュータの画面に表示すれば、その建物の外観を容易に把握することができる。しかも、３次元モデルを表示させる際の視点を、ユーザの操作入力に応じて移動できるようにすれば、任意の視点から建物の３次元モデルを表示させることができる。
【０００３】
３次元モデルをコンピュータの２次元平面に表示させる際には、３次元モデルの投影処理が行われる。投影処理には、大別して透視投影と平行投影とがある。一般に、動画像を表示させる場合には、透視投影が用いられる。
【０００４】
透視投影は、透視短縮(perspective foreshortening)と消点(vanishing point)によって特徴づけられる。透視短縮は、同一の長さを持つ線分でも、視点からの距離が遠くなるほど投影される２次元平面での長さが短くなる現象である。消点は、３次元空間内で互いに平行な２直線が、投影後の２次元平面内において一点に収束するときの、２直線の収束する点である。
【０００５】
ここで、消点がいくつあるかによって、投影処理が異なる。消点が２点の場合は「２点透視投影」といい、３点の場合は「３点透視投影」という。主に建築物などの水平方向の広がり感を表現したいときには、２点透視投影が用いられる。また、主に建築物などの高さ感を表現したいときには、３点透視投影が用いられる。
【０００６】
図２３は、従来の透視投影法による画像の例を示す図である。図２３（Ａ）は２点透視投影の画像の例であり、図２３（Ｂ）は３点透視投影の画像の例である。
【０００７】
図２３（Ａ）に示すように、２点透視投影では、２つの消点ＶＰ１，ＶＰ２が定義される。そして、３次元モデル３０１の水平方向の線分は、その線分の延長線上でいずれかの消点ＶＰ１，ＶＰ２に収束する。
【０００８】
また、図２３（Ｂ）に示すように、３点透視投影では、３つの消点ＶＰ３，ＶＰ４，ＶＰ５が定義される。３次元モデル３０２の水平方向の線分は、その線分の延長線上で消点ＶＰ３，ＶＰ４のいずれかに収束する。また、３次元モデル３０２の垂直方向の線分は、消点ＶＰ５に収束する。
【０００９】
【発明が解決しようとする課題】
このように、２点透視投影と３点透視投影とには明らかな違いがあり、利用場面も異なる。静止画像を生成する場合には、表示する場面に応じて、その場面に適した投影法を用いればよい。
【００１０】
しかし、操作入力に応じて動画像を生成する場合には、表示する場面が移り変わるため、いずれの投影法を用いたとしても、不適切な投影法で表示される場面が生じてしまう。
【００１１】
たとえば、ウォークスルーと呼ばれる視点移動を行う場合、視点から見る方向を、水平方向から垂直方向へシームレス（継ぎ目のないこと）に移行する必要がある。このような場合に、いずれか一方の投影法だけを用いたのでは、画像表現に、横の広がり感と高さ感とのいずれか一方が欠如してしまう。また、動きの途中で択一的に投影法を切り替えると、画像の連続性が保てなくなり、不自然な動画となってしまう。
【００１２】
本発明はこのような点に鑑みてなされたものであり、２点透視投影と３点透視投影とのシームレスな切り替えを可能とした仮想３次元空間内の３次元モデルを表示させる３次元モデル表示プログラムおよび３次元モデル表示装置を提供することを目的とする。
【００１３】
【課題を解決するための手段】
本発明では上記課題を解決するために、図１に示すような処理をコンピュータに実行させるための３次元モデル表示プログラムが提供される。本発明に係る３次元モデル表示プログラムは、仮想３次元空間１内に定義された３次元モデル２の画像を表示させるためのものである。
【００１４】
本発明の３次元モデル表示プログラムは、コンピュータに対して以下の処理を実行させる。
コンピュータは、操作入力（ステップＳ１）に応答して、視点３から仮想３次元空間１内を見る方向を示す視線ベクトルＶ１，Ｖ２を決定し（ステップＳ２）、視線ベクトルＶ１，Ｖ２の向きが水平に近いときには２点透視投影とし、視線ベクトルＶ１，Ｖ２の水平方向に対する傾きが大きくなるのに伴い、２点透視投影に対する３点透視投影による影響度を強くした投影条件を決定し（ステップＳ３）、決定された投影条件に従って３次元モデル２を透視投影して、画像を生成し（ステップＳ４）、生成された画像を表示する（ステップＳ５）。
【００１５】
これにより、本発明の３次元モデル表示プログラムを実行するコンピュータに対してユーザからの操作入力があると、視線ベクトルＶ１，Ｖ２が決定される。すると、視線ベクトルＶ１，Ｖ２の水平に対する傾きに応じた３点透視投影の影響度で、投影条件が決定される。そして、決定された投影条件に従って、３次元モデル２の透視投影が行われ、画像が生成され、その画像が表示される。
【００１６】
その結果、視線ベクトルの水平に対する傾きが大きくなるのにともなって、２点透視投影から３点透視投影へスムーズに移行させることができる。
また、本発明では、上記課題を解決するために、仮想３次元空間内に定義された３次元モデルの画像を表示させるための３次元モデル表示装置において、操作入力に応答して、視点から前記仮想３次元空間内を見る方向を示す視線ベクトルを決定する視点状態決定手段と、前記視点状態決定手段で決定された前記視線ベクトルの向きが水平に近いときには２点透視投影とし、前記視線ベクトルの水平方向に対する傾きが大きくなるのに伴い、２点透視投影に対する３点透視投影による影響度を強くした投影条件を決定する投影条件決定手段と、前記投影条件決定手段で決定された前記投影条件に従って前記３次元モデルを透視投影して、画像を生成する画像生成手段と、生成された前記画像を表示する画像表示手段と、を有することを特徴とする３次元モデル表示装置が提供される。
【００１７】
このような３次元モデル表示装置によれば、ユーザからの操作入力があると、視線ベクトルが決定される。すると、視線ベクトルの水平に対する傾きに応じて３点透視投影の影響度での投影条件が決定される。そして、決定された投影条件に従って、３次元モデルの透視投影が行われ、画像が生成され、表示される。
【００１８】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本発明の原理構成図である。本発明は、仮想３次元空間１内に定義された３次元モデル２の画像を表示させるためのものである。画像は、例えば操作入力に応じて移動する視点３から見た仮想３次元空間１内を、連続の画像で表現した動画像である。
【００１９】
本発明では、ユーザからの操作入力（ステップＳ１）が行われると、その操作入力に応答して、視点から仮想３次元空間１内を見る方向を示す視線ベクトルＶ１，Ｖ２を決定する（ステップＳ２）。視線ベクトルＶ１，Ｖ２が決定すると、視線ベクトルＶ１，Ｖ２の向きが水平に近いときには２点透視投影とし、視線ベクトルＶ１，Ｖ２の水平方向に対する傾きが大きくなるのに伴い、２点透視投影に対する３点透視投影による影響度を強くした投影条件を決定する（ステップＳ３）。さらに、決定された投影条件に従って３次元モデル２を透視投影して、画像を生成する（ステップＳ４）。そして、生成された画像を表示する（ステップＳ５）。
【００２０】
たとえば、図１の例では、操作入力（ステップＳ１）により、仮想３次元空間１内で、視点３から３次元モデル２を水平に見ている状態から、視点３が３次元モデル２を見上げる状態に移行している。図中、アップベクトルＵは、視点３の上方向を示すベクトルであり、常に仮想３次元空間１の真上を向いているものとする。
【００２１】
仮想３次元空間１の最初の場面１ａにおける視線ベクトルＶ１とアップベクトルＵとの成す角度θ１は９０度であるものとする。すなわち、視線ベクトルＶ１は、仮想３次元空間１の水平方向を向いている。そして、操作入力により視点３が３次元モデル２を見上げる位置に移動する。視点３が移動した後の仮想３次元空間１の場面１ｂにおける視線ベクトルＶ２とアップベクトルＵとの成す角度θ２は、鋭角（９０度以下）である。
【００２２】
場面１ａでは、視線ベクトルＶ１が決定されると、視線ベクトルＶ１の向きに応じた投影条件が決定される。視線ベクトルＶ１は水平方向を向いているため、２点透視投影の投影条件が設定される。すると、透視投影が行われ画像が生成される。その画像に基づいて、画面４のように２点透視投影による３次元モデル２の透視画像４ａが表示される。
【００２３】
場面１ｂでは、視線ベクトルＶ２が決定されると、視線ベクトルＶ２の向きに応じた投影条件が決定される。視線ベクトルＶ２は水平方向よりも上を向いているため、３点透視投影の影響を受けた投影条件が設定される。すると、その投影条件に従った透視投影が行われ画像が生成される。その画像に基づいて、画面５のように３点透視投影の影響を受けた３次元モデル２の透視画像５ａが表示される。
【００２４】
このようにして、シームレスに、２点透視投影から３点透視投影へ、または３点透視投影から２点透視投影へ移行させることができる。
なお、２点透視投影に基づいて、３点透視投影の影響度合いを変化させる手法の１つとして、投影面の法線方向を変える方法がある。たとえば、投影条件の決定の際に、決定された視線ベクトルＶ１，Ｖ２の方向に応じて、投影面の法線方向を決定することで、３点透視投影の影響度合いを変えることが可能である。
【００２５】
以下、視線ベクトルの向きに応じて投影面の法線方向を変えることで、２点透視投影と３点透視投影との間のシームレスな移行を実現するための実施の形態を説明する。
【００２６】
まず、本実施の形態の具体的な内容を説明する前に、コンピュータによる２点透視投影と３点透視投影との実現方法について説明する。
２点透視投影は、投影面を垂直方向として定義することで実現することができる。
【００２７】
図２は、２点透視投影の実現方法を示す概念図である。仮想３次元空間内に、視点Ｐ０と３次元モデル４１とが配置されている。なお、仮想３次元空間は、Ｘ軸−Ｙ軸−Ｚ軸で表される。Ｘ軸とＹ軸は、仮想３次元空間の水平方向に定義されている。Ｚ軸は、仮想３次元空間の垂直方向に定義されている。
【００２８】
また、視点Ｐ０を基準として、アップベクトルＵと視線ベクトルＶとが定義される。アップベクトルＵは、視点Ｐ０から３次元モデル４１を見るときの上方向を向いた単位ベクトルである。本実施の形態では、仮想３次元空間の垂直方向にアップベクトルＵが固定される。
【００２９】
視線ベクトルＶは、視点Ｐ０から仮想３次元空間内の任意の点（注視点）の方向を向いた単位ベクトルである。たとえば、３次元モデル４１を表示させる場合には、３次元モデル４１上の位置が注視点として設定される。
【００３０】
２点透視投影では、視線ベクトルＶの向きに関係なく、投影面４２は垂直方向に設定される。すなわち、投影面４２の法線が仮想３次元空間の水平方向を向いている。
【００３１】
２点透視投影における投影面４２の法線ベクトルＳｎ１は、以下の式で求められる。
【００３２】
【数１】
Ｓｎ１＝Ｖ−Ｕｃｏｓθ        ・・・・（１）
ここでθは、視線ベクトルＶとアップベクトルＵとの成す角である。ベクトルＵｃｏｓθは、視線ベクトルＶの垂直成分と同じ長さであり、かつ仮想３次元空間における垂直方向を向いている。このベクトルＵｃｏｓθを垂直ベクトルと呼ぶこととする。すなわち、視線ベクトルＶから垂直ベクトルを引くことにより、水平なベクトルが得られる。
【００３３】
なお、３次元モデル４１は、Ｘ−Ｙ平面上に置かれた直方体である。すなわち、３次元モデル４１を構成する面の縁は、垂直な線分か水平な線分である。
法線ベクトルＳｎ１によって向きが定義された投影面４２に３次元モデル４１を透視投影することで、２点透視投影による投影画像５０が得られる。
【００３４】
投影画像５０には、３次元モデル４１を視点Ｐ０から見たときの画像５１が描かれている。画像５１は、３次元モデル４１の縁を表す線分５１ａ〜５１ｃ，５２ａ〜５２ｄによって形状が表されている。上下方向の線分５１ａ〜５１ｃは、すべて平行に保たれている。また、横方向の線分５２ａ，５２ｂは、その線分５２ａ，５２ｂの延長線が、あらかじめ設定された消点で交わるように描かれている。同様に、横方向の線分５２ｃ，５２ｄは、その線分５２ｃ，５２ｄの延長線が、あらかじめ設定された別の消点で交わるように描かれている。
【００３５】
一方、３点透視投影は、投影面を垂直方向に対して傾けることで実現することができる。
図３は、３点透視投影の実現方法を示す概念図である。図３において、視点Ｐ０、３次元モデル４１、アップベクトルＵ、および視線ベクトルＶは、図２と同じである。
【００３６】
３点透視投影における投影面４３の法線ベクトルＳｎ２は、以下の式で求められる。
【００３７】
【数２】
Ｓｎ２＝Ｖ        ・・・・（２）
このような法線ベクトルＳｎ２によって向きが定義された投影面４３に３次元モデル４１を投影することで、３点透視投影による投影画像６０が得られる。
【００３８】
投影画像６０には、３次元モデル４１を視点Ｐ０から見たときの画像６１が描かれている。
画像６１は、３次元モデル４１の縁を表す線分６１ａ〜６１ｃ，６２ａ〜６２ｄによって形状が表されている。上下方向の線分６１ａ〜６１ｃは、各線分６１ａ〜６１ｃの延長線が、上方に設定された消点で交わるように描かれている。また、また、横方向の線分６２ａ，６２ｂは、その線分６２ａ，６２ｂの延長線が、仮想３次元空間に設定された２つ目の消点で交わるように描かれている。同様に、横方向の線分６２ｃ，６２ｄは、その線分６２ｃ，６２ｄの延長線が、仮想３次元空間に設定された３つ目の消点で交わるように描かれている。
【００３９】
以上のようにして、２点透視投影と３点透視投影とを実現することができる。
本実施の形態では、２点透視投影と３点透視投影との間をシームレスに移行可能な投影法を提供する。この投影法を、ウォーク透視投影と呼ぶこととする。
【００４０】
ウォーク透視投影では、視線ベクトルＶの水平方向に対する傾きから投影面の傾斜度合いを算出することで、２点透視投影から３点透視投影へのシームレスな移行を実現する。
【００４１】
図４は、ウォーク透視投影の実現方法を示す概念図である。図４において、視点Ｐ０、アップベクトルＵ、および視線ベクトルＶは、図２と同じである。
ウォーク透視投影における投影面４４の法線ベクトルＳｎ３は、以下の式で求められる。
【００４２】
【数３】
Ｓｎ３＝Ｖ−｛Ｕｃｏｓθ×（１−｜ｃｏｓθ｜）｝        ・・・・（３）
ここで、式（３）の（１−｜ｃｏｓθ｜）の項を、ウォーク項と呼ぶこととする。式（３）は、２点透視投影の式（１）の右辺第２項（垂直ベクトル）に対して、視線ベクトルの向きに応じて値の変化するウォーク項を乗算したものである。
【００４３】
角度θの値が９０度に近づくと、ウォーク項の値は１に近づく。ウォーク項の値が１になると、式（３）の右辺第２項の値がＵｃｏｓθ（垂直ベクトル）になる。その結果、Ｓｎ３＝Ｖ−Ｕｃｏｓθとなり、２点透視投影の式（１）と等しくなる。
【００４４】
角度θの値が０に近づくと、ウォーク項の値も０に近づく。ウォーク項の値が０になると、式（３）の右辺第２項の値が０になる。その結果、Ｓｎ３＝Ｖとなり、３点透視投影の式（２）と等しくなる。
【００４５】
すなわち、ウォーク項は、２点透視投影に対する３点透視投影による影響度を表している。
このように、ウォーク項を与えることで、θの値が９０度（視線ベクトルＶの向きが水平）から０度（視線ベクトルＶの向きが垂直）に移行する場合、投影面４４の傾きを仮想３次元空間における垂直方向（２点透視投影の設定）から視線ベクトルＶと垂直な方向（３点透視投影の設定）へと緩やかに移行させることができる。
【００４６】
以下、ウォーク項によって長さが変化するベクトル「Ｕｃｏｓθ×（１−｜ｃｏｓθ｜）」を調整ベクトルと呼ぶこととする。
図５は、ウォーク透視投影による投影面の法線方向の遷移を示す図である。図５（Ａ）は角度θが９０度の場合の例であり、図５（Ｂ）は角度θが６０度の場合の例であり、図５（Ｃ）は角度θが３０度の場合の例であり、図５（Ｄ）は角度θが０度の場合の例である。
【００４７】
図５（Ａ）に示すように、角度θが９０度の場合には、投影面４４は、仮想３次元空間の水平面に垂直である（法線ベクトルＳｎ３は、視線ベクトルＶと平行）。
【００４８】
視線ベクトルＶの方向がやや上向きになり角度θが６０度になると、図５（Ｂ）に示すように、視線ベクトルＶと法線ベクトルＳｎ３とは非平行になる。法線ベクトルＳｎ３は、視線ベクトルＶよりも上向き加減が少ない（水平に近い）。
【００４９】
視線ベクトルＶの方向がさらに上向きとなり角度θが３０度になると、図５（Ｃ）に示すように、視線ベクトルＶと法線ベクトルＳｎ３との向きの差が少なくなる。
【００５０】
視線ベクトルＶが垂直方向を向き、角度θが０度となると、図５（Ｄ）に示すように投影面４４が水平になる。すなわち、投影面４４の法線ベクトルＳｎ３は、垂直方向を向く。
【００５１】
図６は、投影法ごとの投影画像の違いを示す図である。図６（Ａ）は２点透視投影の投影画像を示しており、図６（Ｂ）は３点透視投影の投影画像を示しており、図６（Ｃ）はウォーク透視投影の投影画像を示している。
【００５２】
図６には、前を向いて移動中の状態（視線ベクトルの方向が水平から少し下を向いた状態）と、上を見上げた状態（視線ベクトルの方向が上方を向いている状態）とについて、投影法ごとの投影画像の違いを示している。
【００５３】
２点透視投影では、図６（Ａ）に示すように、前を向いたとき、見上げたときとのいずれの投影画像７１，７２においても、仮想３次元空間内で垂直な線分は互いに平行となっている。
【００５４】
２点透視投影では、見上げた際にも仮想３次元空間内で垂直な線分は互いに平行であるため、見上げたときの高さ感の表現が不十分である。
３点透視投影では、図６（Ｂ）に示すように、前を向いたときの投影画像７３では、仮想３次元空間内で垂直な線分が、その線分の延長線が下方遠方の消点に収束するように描画されている。また、見上げたときの投影画像７４では、仮想３次元空間内で垂直な線分が、その線分の延長線が上方遠方の消点に収束するように描画されている。
【００５５】
３点透視投影では、前を向いたときにも、仮想３次元空間内で垂直な線分が、その線分の延長線が下方遠方の消点に収束するように描画される。これにより、たとえば、前を向いて移動中であっても仮想３次元空間で垂直な建物の柱などが歪んでしまい、違和感のある画像が表示されてしまう。
【００５６】
ウォーク透視投影では、図６（Ｃ）に示すように、前を向いたときの投影画像７５において、仮想３次元空間内で垂直な線分は互いに平行となっている。一方、見上げたときの投影画像７６では、仮想３次元空間内で垂直な線分が、その線分の延長線が上方遠方の消点に収束するように描画されている。
【００５７】
ウォーク透視投影によれば、ユーザの操作入力に応じてリアルタイムに生成される動画像において、視線ベクトルが前を向いたときには歪みを少なく押さえ、視線ベクトルが見上げたときには高さ感を醸し出すことができる。
【００５８】
次に、本発明の実施の形態をコンピュータで実現する場合の例を具体的に説明する。なお、以下の例は、３次元モデルで作成された仮想的な町並みの中を、視点がユーザの操作入力に応じて移動させることができるシステムである。
【００５９】
図７は、本実施の形態を実現するコンピュータのハードウェア構成を示すブロック図である。コンピュータ１００は、ＣＰＵ(Central Processing Unit)１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ(Random Access Memory)１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、および通信インタフェース１０６が接続されている。
【００６０】
ＲＡＭ１０２は、ＣＰＵ１０１に実行させるＯＳ(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３は、ＯＳやアプリケーションプログラムが格納される。
【００６１】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。
【００６２】
通信インタフェース１０６は、ネットワーク１０に接続されている。ネットワーク１０は、たとえばインターネットのような広域ネットワークである。通信インタフェース１０６は、ネットワーク１０を介して、他のコンピュータとの間でデータの送受信を行う。
【００６３】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図８は、本実施の形態を適用したコンピュータの機能構成を示すブロック図である。コンピュータ１００は、入力装置１２ａからの入力に応答して画像生成処理を実行し、生成した画像をモニタ１１に表示させる。入力装置１２ａは、図７に示すキーボード１２やマウス１３である。
【００６４】
コンピュータ１００は、視野情報格納部１１１、３次元モデル情報格納部１１２、ユーザインタフェース部１１３、描画モード決定部１１４、視点状態決定部１１５、投影面の向き決定部１１６、描画部１１７および表示処理部１１８で構成される。
【００６５】
視野情報格納部１１１には、視点や投影面に関する情報（視野情報）が格納される。視野情報は、ユーザの操作入力に応じて逐次更新される。
３次元モデル情報格納部１１２には、３次元モデルの形状や色などの情報（３次元モデル情報）が格納される。本実施の形態では、３次元に配置された頂点で構成されるオブジェクトは、３次元モデルであるものとする。すなわち、１つのポリゴンのような厚みのない面だけのオブジェクトも、３次元モデルである。
【００６６】
ユーザインタフェース部１１３は、入力装置１２ａからの入力信号に対応する命令を判断する。ユーザインタフェース部１１３は、入力信号に応じた命令が、描画モードの切り替え命令の場合には、その命令を描画モード決定部１１４に渡す。また、ユーザインタフェース部１１３は、入力信号に応じた命令が、視点に対する制御命令である場合には、その制御命令を視点状態決定部１１５に渡す。
【００６７】
描画モード決定部１１４は、ユーザインタフェース部１１３からの命令に応じて、描画モードを決定する。本実施の形態では、２点透視投影、３点透視投影、およびウォーク透視投影の３つの描画モードが用意されている。描画モード決定部１１４は、決定した描画モードの情報を視野情報格納部１１１に登録する。
【００６８】
視点状態決定部１１５は、ユーザインタフェース部１１３から送られる制御命令に応答して、視点情報を決定する。決定する視点情報は、視点の位置や視線ベクトルである。視点状態決定部１１５は、決定した視点情報を視野情報格納部１１１に格納するとともに、決定した視線ベクトルを投影面の向き決定部１１６に渡す。
【００６９】
投影面の向き決定部１１６は、視点状態決定部１１５によって決定された視線ベクトルに応じて、投影面の法線ベクトルを決定する。そして、投影面の向き決定部１１６は、決定した法線ベクトルを視野情報格納部１１１に格納する。
【００７０】
描画部１１７は、視野情報格納部１１１と３次元モデル情報格納部１１２との内容に基づいて、所定の間隔（たとえば、１／６０秒）で３次元モデルを投影面に透視投影し、透視画像を描画する。透視画像の描画が所定の間隔で連続的に行われることで、動画像が生成される。
【００７１】
表示処理部１１８は、描画部１１７が描画した透視画像を画像信号に変換してモニタ１１に送信する。
図９は、視野情報格納部のデータ構造の一例を示す図である。視野情報格納部１１１には、視点座標Ｅ、視線ベクトルＶ、アップベクトルＵ、投影面の視点からの距離、投影面の法線ベクトルＳｎ、ウィンドウサイズ、および描画モードの情報が含まれている。
【００７２】
視点座標Ｅは、視点の位置を、仮想３次元空間の座標（Ｅｘ，Ｅｙ，Ｅｚ）で表している。視点座標Ｅは、ユーザからの操作入力に応じて変更されるデータである。
【００７３】
視線ベクトルＶは、視点から仮想３次元空間内を見る方向（Ｖｘ，Ｖｙ，Ｖｚ）を表す単位ベクトルである。視線ベクトルＶは、ユーザからの操作入力に応じて変更されるデータである。
【００７４】
アップベクトルＵは、視点の上方向（Ｕｘ，Ｕｙ，Ｕｚ）を定めた単位ベクトルである。アップベクトルＵは、あらかじめ設定されている。本実施の形態では、アップベクトルＵは、常に仮想３次元空間の垂直方向（Ｚ軸と平行）であるものとする。従って、Ｕｘ＝Ｕｙ＝０である。
【００７５】
投影面の視点からの距離は、視点座標から投影面の基準点（たとえば、投影面の中心）までの距離ｄである。投影面の視点からの距離は、あらかじめ設定されている。
【００７６】
投影面の法線ベクトルＳｎは、投影面の法線方向（Ｓｘ，Ｓｙ，Ｓｚ）を表すデータである。投影面の法線ベクトルＳｎは、視線ベクトルＶと描画モードとによって決定されるデータである。
【００７７】
ウィンドウサイズは、投影面の大きさ（Ｗｘ，Ｗｙ）を示すデータである。ウィンドウサイズは、あらかじめ設定されている。
描画モードは、透視投影の方式を指定するデータである。本実施の形態では、ユーザの操作入力によって、２点透視投影、３点透視投影、ウォーク透視投影のいずれかから描画モードを選択することができる。
【００７８】
図１０は、３次元モデル情報格納部のデータ構造の一例を示す図である。３次元モデル情報格納部１１２には、３次元モデル毎に、形状の情報と色の情報とが格納されている。
【００７９】
形状の情報には頂点座標Ｐ、法線ベクトルＮ、および面の情報が含まれている。
頂点座標Ｐは、３次元モデルを構成する各頂点の仮想３次元空間内での座標Ｐ１（Ｐ１ｘ、Ｐ１ｙ、Ｐ１ｚ）、Ｐ２（Ｐ２ｘ、Ｐ２ｙ、Ｐ２ｚ）・・・である。頂点座標Ｐは、頂点の識別子Ｐ１，Ｐ２・・・に対応づけて登録されている。
【００８０】
法線ベクトルＮは、各頂点の法線方向Ｎ１（Ｎ１ｘ、Ｎ１ｙ、Ｎ１ｚ）、Ｎ２（Ｎ２ｘ、Ｎ２ｙ、Ｎ２ｚ）・・・を示している。法線ベクトルＮは、識別子Ｎ１，Ｎ２・・・に対応づけて登録されている。法線ベクトルＮは、それぞれ頂点Ｐに対応付けられている。
【００８１】
面の情報は、３次元モデルを構成する面の各頂点の集合である。面の情報は、３次元モデルを構成する面毎に登録されている。面を構成する頂点は、その頂点の識別子で特定されている。面が４角形であれば、４つの頂点が登録される。また、面が３角形であれば、３つの頂点が登録される。
【００８２】
色の情報には、モデルの色、モデルの半透明率、光源の色、および光源の位置Ｌの情報が含まれている。
モデルの色は、３次元モデルを構成する面の色が、ＲＧＢ（赤、緑、青）の各色の明度（Ｍｒ，Ｍｇ，Ｍｂ）で示されている。モデルの色は、３次元モデルを構成する面毎に定めることもできる。
【００８３】
モデルの半透明率αは、３次元モデルの半透明の度合いを０〜１の数値で表している。半透明率αの値が大きいほど、３次元モデルの透明度合いが上がる。半透明率αが０の場合には、３次元モデルは不透明である。半透明率αが１の場合には、３次元モデルは透明である。
【００８４】
光源の色は、光源が放つ光の色が、ＲＧＢ（赤、緑、青）の各色の明度で示されている。
光源の位置Ｌは、仮想３次元空間内での光源の位置を示す座標（Ｌｘ，Ｌｙ，Ｌｚ）である。
【００８５】
図９，図１０に示した情報によって、投影条件が確定する。
図１１は、３次元透視投影の概念を示す模式図である。仮想３次元空間内には、視点２０１、投影面２０２、３次元モデル２０３、および光源２０４が定義される。視点２０１には、視点座標Ｅや視線ベクトルＶが定義される。投影面２０２に対しては、投影面の法線ベクトルＳｎなどが定義される。３次元モデル２０３には、モデルの色、半透明率α、３次元モデル２０３を構成する頂点Ｐの頂点座標Ｐ１、法線ベクトルＮ１などが定義される。光源２０４には、光源の位置Ｌや光源の色などが定義される。
【００８６】
以上のような機能および情報が設定されたコンピュータ１００にユーザから操作入力が行われると、操作入力に応じた透視投影が行われ、仮想３次元空間内に作成された情景（たとえば町並み）が表示される。以下に、画像の表示手順について説明する。
【００８７】
図１２は、本実施の形態を適用したウォークスルーによる画像表示処理を示すフローチャートである。以下、図１２に示す処理をステップ番号に沿って説明する。
【００８８】
［ステップＳ１１］ユーザインタフェース部１１３は、入力装置１２ａを介して、ユーザからの操作入力を受け付ける。
［ステップＳ１２］ユーザインタフェース部１１３は、処理終了の操作入力が行われたか否かを判断する。処理終了の操作入力が行われた場合には、処理が終了する。処理終了の操作入力でなければ、処理がステップＳ１３に進められる。
【００８９】
［ステップＳ１３］ユーザインタフェース部１１３は、操作入力の内容が、描画モードの選択命令か否かを判断する。なお、操作入力の内容は、描画モードの選択命令以外に、視点状態の制御命令がある。
【００９０】
描画モードの選択命令であれば、ユーザインタフェース部１１３から描画モード決定部１１４へ選択命令が渡され、処理がステップＳ１４に進められる。描画モードの選択命令でなければ、ユーザインタフェース部１１３から視点状態決定部１１５へ制御命令が渡され、処理がステップＳ１５に進められる。
【００９１】
［ステップＳ１４］描画モード決定部１１４は、ユーザインタフェース部１１３から受け取った選択命令に従って、描画モードを変更する。変更結果は、視野情報格納部１１１に登録される。その後、処理がステップＳ１１に進められる。
【００９２】
［ステップＳ１５］視点状態決定部１１５は、ユーザインタフェース部１１３から渡された視点の制御命令に従って、視点の位置と視線ベクトルとを決定する。決定された視点の位置と視線ベクトルとは、視野情報格納部１１１に登録される。また、決定された視線ベクトルは、投影面の向き決定部１１６に渡される。
【００９３】
［ステップＳ１６］投影面の向き決定部１１６と描画部１１７とにより描画処理が行われる。描画処理の詳細は後述する。なお、描画処理は、ユーザからの操作入力がなくても、所定の間隔で繰り返し行われる。
【００９４】
［ステップＳ１７］表示処理部１１８は、描画部１１７が描画した画像をモニタ１１の画面に表示する。連続して生成される画像が、逐次モニタ１１に表示されることで、モニタ１１には動画像が表示される。その後、処理がステップＳ１１に進められる。
【００９５】
次に、描画処理の詳細について説明する。
図１３は、描画処理の手順を示すフローチャートである。以下に、描画処理の詳細について説明する。
【００９６】
［ステップＳ２１］投影面の向き決定部１１６は、視野情報の初期値を取得する。視野情報の初期値としては、たとえば、視線ベクトルＶ、アップベクトルＵ、視線ベクトルＶとアップベクトルＵとの成す角度θなどがある。視野情報の初期値のうち、視線ベクトルＶとアップベクトルＵとは、視野情報格納部１１１から取得する。角度θは、視線ベクトルＶとアップベクトルＵとの内積などに基づいて算出される。
【００９７】
なお、本実施の形態では、ｃｏｓθを用いて投影面の法線ベクトルを算出するため、初期値として、角度θに変えてｃｏｓθの値を算出してもよい。
［ステップＳ２２］投影面の向き決定部１１６は、視野情報格納部１１１を参照して、描画モードが２点透視投影か否かを判断する。描画モードが２点透視投影の場合には、処理がステップＳ２３に進められる。描画モードが２点透視投影でない場合には、処理がステップＳ２４に進められる。
【００９８】
［ステップＳ２３］投影面の向き決定部１１６は、２点透視投影用の投影面の法線ベクトルＳｎを計算する。具体的には、前述の式（１）に従って投影面の法線ベクトルＳｎ１が算出される。その後、処理がステップＳ２７に進められる。
【００９９】
［ステップＳ２４］投影面の向き決定部１１６は、視野情報格納部１１１を参照して、描画モードが３点透視投影か否かを判断する。描画モードが３点透視投影の場合には、処理がステップＳ２５に進められる。描画モードが３点透視投影でない場合（描画モードがウォーク透視投影の場合）には、処理がステップＳ２６に進められる。
【０１００】
［ステップＳ２５］投影面の向き決定部１１６は、３点透視投影用の投影面の法線ベクトルＳｎを計算する。具体的には、前述の式（２）に従って投影面の法線ベクトルＳｎ２が算出される。その後、処理がステップＳ２７に進められる。
【０１０１】
［ステップＳ２６］投影面の向き決定部１１６は、ウォーク透視投影用の投影面の法線ベクトルＳｎを計算する。具体的には、前述の式（３）に従って投影面の法線ベクトルＳｎ３が算出される。
【０１０２】
［ステップＳ２７］描画部１１７は、視野情報格納部１１１から視野に関する情報を取得し、さらに３次元モデル情報格納部１１２から仮想３次元空間内の３次元モデルの情報を取得する。そして、描画部１１７は、投影面の向き決定部１１６で決定された法線ベクトルＳｎに従った向きの投影面に対して、３次元モデルの透視投影を行い、画像を生成する。生成された画像は、たとえば、図７に示したグラフィック処理装置１０４に内蔵されたフレームバッファ（図示せず）に描画される。
【０１０３】
その後、処理が図１２のステップＳ１７に進められ、生成された画像がモニタ１１に表示される。
以上のようにして、２点透視投影、３点透視投影、ウォーク透視投影のいずれかの投影方法により、仮想３次元空間内の町並みを表す動画像を、コンピュータ１００のモニタ１１に表示させることができる。以下に、投影方法毎の表示画面例について説明する。
【０１０４】
図１４〜図１６は、２点透視投影によって描画された画像の表示画面例である。
図１４は、２点透視投影による第１の画面例を示す図である。図１４に示す画面１２１は、建物の正面入り口を２点透視投影によって描画した画面である。視線ベクトルは、水平よりも少しだけ下方向を向いている。
【０１０５】
図１５は、２点透視投影による第２の画面例を示す図である。図１５に示す画面１２２は、図１４に示す状態から視線ベクトルを上に向けたときの画面である。
【０１０６】
図１６は、２点透視投影による第３の画面例を示す図である。図１６に示す画面１２３は、図１５に示す状態から視線ベクトルをさらに上に向けたときの画面である。
【０１０７】
図１４〜図１６に示すように、２点透視投影では、建物の柱のような仮想３次元空間内で垂直なオブジェクトは、視線ベクトルの方向に関係なく画面１２１〜１２３の上下方向に互いに平行に描かれる。
【０１０８】
図１７〜図１９は、３点透視投影によって描画された画像の表示画面例である。
図１７は、３点透視投影による第１の画面例を示す図である。図１７に示す画面１３１は、建物の正面入り口を３点透視投影によって描画した画面である。視線ベクトルは、水平よりも少しだけ下方向を向いている（図１４の場合と同じ視線方向ベクトル）。
【０１０９】
図１８は、３点透視投影による第２の画面例を示す図である。図１８に示す画面１３２は、図１７に示す状態から視線ベクトルを上に向けたときの画面である（図１５の場合と同じ視線方向ベクトル）。
【０１１０】
図１９は、３点透視投影による第３の画面例を示す図である。図１９に示す画面１３３は、図１８に示す状態から視線ベクトルをさらに上に向けたときの画面である（図１６の場合と同じ視線方向ベクトル）。
【０１１１】
図１７〜図１９に示すように、３点透視投影では、建物の柱のような仮想３次元空間内で垂直なオブジェクトは、視線ベクトルの方向に関係なく画面１３１〜１３３の上下方向のいずれかの遠方に設定された消点に収束するように描かれる。そのため、図１９のように上を見上げたときには、高さ感のある画面１３３が表示されるが、図１７のように、視線方向がやや下向きになっただけでも画面１３１内のオブジェクトに歪みが現れてしまう。
【０１１２】
図２０〜図２２は、ウォーク透視投影によって描画された画像の表示画面例である。
図２０は、ウォーク透視投影による第１の画面例を示す図である。図２０に示す画面１４１は、建物の正面入り口をウォーク透視投影によって描画した画面である。視線ベクトルは、水平よりも少しだけ下方向を向いている（図１４の場合と同じ視線方向ベクトル）。
【０１１３】
図２１は、ウォーク透視投影による第２の画面例を示す図である。図２１に示す画面１４２は、図２０に示す状態から視線ベクトルを上に向けたときの画面である（図１５の場合と同じ視線方向ベクトル）。
【０１１４】
図２２は、ウォーク透視投影による第３の画面例を示す図である。図２２に示す画面１４３は、図２１に示す状態から視線ベクトルをさらに上に向けたときの画面である（図１６の場合と同じ視線方向ベクトル）。
【０１１５】
図２０〜図２２に示すように、ウォーク透視投影では、視線ベクトルが水平に近いときにはオブジェクトの歪みはほとんどない整った画面１４１（２点透視投影による画面１２１に近似した画面）が表示され、視線ベクトルが上方を向いたときには、高さ感のある画面１４３（３点透視投影による画面１３３に近似した画面）が表示される。
【０１１６】
しかも、投影面の法線ベクトルＳｎ３の式（３）におけるウォーク項により、２点透視投影から３点透視投影へ、緩やかに移行させることができる。これにより、視線ベクトルの上下方向の向きを変える場合にも、自然に画面を遷移させることができる。
【０１１７】
なお、ウォーク項は、上記式（３）に示したもの以外でも、角度θの値に応じて滑らかに変化する関数であれば、置き換えが可能である。
なお、上記実施の形態においては、動画像を表示する処理について説明したが、本発明で対象とする画像は、動画像に限らず、静止画像であっても同様の効果が得られる。
【０１１８】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、コンピュータが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスクドライブ（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ(Digital Versatile Disc)、ＤＶＤ−ＲＡＭ(Random Access Memory)、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)、ＣＤ−Ｒ(Recordable)／ＲＷ(ReWritable)などがある。光磁気記録媒体には、ＭＯ(Magneto-Optical disc)などがある。
【０１１９】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１２０】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１２１】
（付記１）  仮想３次元空間内に定義された３次元モデルの画像を表示させるための３次元モデル表示プログラムにおいて、
コンピュータに、
操作入力に応答して、視点から前記仮想３次元空間内を見る方向を示す視線ベクトルを決定し、
前記視線ベクトルの向きが水平に近いときには２点透視投影とし、前記視線ベクトルの水平方向に対する傾きが大きくなるのに伴い、２点透視投影に対する３点透視投影による影響度を強くした投影条件を決定し、
決定された前記投影条件に従って前記３次元モデルを透視投影して、画像を生成し、
生成された前記画像を表示する、
処理を実行させることを特徴とする３次元モデル表示プログラム。
【０１２２】
（付記２）  前記投影条件の決定の際には、決定された前記視線ベクトルの方向に応じて、投影面の法線方向を決定することを特徴とする付記１記載の３次元モデル表示プログラム。
【０１２３】
（付記３）  前記投影条件の決定の際には、前記視線ベクトルの向きに応じた長さであり、かつ前記仮想３次元空間において垂直方向を向いた調整ベクトルを算出し、前記視線ベクトルから前記調整ベクトルを減算することで得られるベクトルの方向を、前記投影面の法線方向とすることを特徴とする付記２記載の３次元モデル表示プログラム。
【０１２４】
（付記４）  前記調整ベクトルの算出の際には、前記視線ベクトルの垂直成分と同じ長さであり、かつ前記仮想３次元空間における垂直方向を向いた垂直ベクトルを算出し、前記視線ベクトルの向きに応じた値であるウォーク項を前記垂直ベクトルに乗算して、前記調整ベクトルを算出することを特徴とする付記３記載の３次元モデル表示プログラム。
【０１２５】
（付記５）  前記調整ベクトルの算出の際には、前記視線ベクトルの方向が水平のときに前記ウォーク項に０を設定し、前記視線ベクトルの水平からの傾きの大きさに応じて前記ウォーク項に大きな値を設定し、前記視線ベクトルが垂直のときに前記ウォーク項に１を設定することを特徴とする付記４記載の３次元モデル表示プログラム。
【０１２６】
（付記６）  仮想３次元空間内に定義された３次元モデルの画像を表示させるための３次元モデル表示装置において、
操作入力に応答して、視点から前記仮想３次元空間内を見る方向を示す視線ベクトルを決定する視点状態決定手段と、
前記視点状態決定手段で決定された前記視線ベクトルの向きが水平に近いときには２点透視投影とし、前記視線ベクトルの水平方向に対する傾きが大きくなるのに伴い、２点透視投影に対する３点透視投影による影響度を強くした投影条件を決定する投影条件決定手段と、
前記投影条件決定手段で決定された前記投影条件に従って前記３次元モデルを透視投影して、画像を生成する画像生成手段と、
生成された前記画像を表示する画像表示手段と、
を有することを特徴とする３次元モデル表示装置。
【０１２７】
（付記７）  前記投影条件決定手段は、決定された前記視線ベクトルの向きに応じて、投影面の法線方向を決定することを特徴とする付記６記載の３次元モデル表示装置。
【０１２８】
（付記８）  前記投影条件決定手段は、前記視線ベクトルの向きに応じた長さであり、かつ前記仮想３次元空間における垂直方向を向いた調整ベクトルを算出し、前記視線ベクトルから前記調整ベクトルを減算することで得られるベクトルの方向を、前記投影面の法線方向とすることを特徴とする付記７記載の３次元モデル表示装置。
【０１２９】
（付記９）  前記投影条件決定手段は、前記視線ベクトルの垂直成分と同じ長さであり、かつ前記仮想３次元空間において垂直方向を向いた垂直ベクトルを算出し、前記視線ベクトルの方向に応じた値であるウォーク項を前記垂直ベクトルに乗算して、前記調整ベクトルを算出することを特徴とする付記８記載の３次元モデル表示装置。
【０１３０】
（付記１０）  前記投影条件決定手段は、前記視線ベクトルの方向が水平のときに前記ウォーク項に０を設定し、前記視線ベクトルの水平からの傾きの大きさに応じて前記ウォーク項に大きな値を設定し、前記視線ベクトルが垂直のときに前記ウォーク項に１を設定することを特徴とする付記９記載の３次元モデル表示装置。
【０１３１】
（付記１１）  仮想３次元空間内に定義された３次元モデルの画像を表示させるための３次元モデル表示プログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記コンピュータに、
操作入力に応答して、視点から前記仮想３次元空間内を見る方向を示す視線ベクトルを決定し、
前記視線ベクトルの向きが水平に近いときには２点透視投影とし、前記視線ベクトルの水平方向に対する傾きが大きくなるのに伴い、２点透視投影に対する３点透視投影による影響度を強くした投影条件を決定し、
決定された前記投影条件に従って前記３次元モデルを透視投影して、画像を生成し、
生成された前記画像を表示する、
処理を実行させることを特徴とする記録媒体。
【０１３２】
（付記１２）  仮想３次元空間内に定義された３次元モデルの画像を表示させるための３次元モデル表示方法において、
操作入力に応答して、視点から前記仮想３次元空間内を見る方向を示す視線ベクトルを決定し、
前記視線ベクトルの向きが水平に近いときには２点透視投影とし、前記視線ベクトルの水平方向に対する傾きが大きくなるのに伴い、２点透視投影に対する３点透視投影による影響度を強くした投影条件を決定し、
決定された前記投影条件に従って前記３次元モデルを透視投影して、画像を生成し、
生成された前記画像を表示する、
ことを特徴とする３次元モデル表示方法。
【０１３３】
【発明の効果】
以上説明したように本発明では、視線ベクトルの水平方向に対する傾きに応じて、２点透視投影に対する３点透視投影の影響度を変えるようにしたため、視点から見た仮想３次元空間内の動画像を、２点透視投影から３点透視投影へ滑らかに移行させることができる。その結果、視点から水平方向を見たときの横の広がり感と上を見上げた時の高さ感とを、一連の動画像の中で表示させることが可能となる。
【図面の簡単な説明】
【図１】本発明の原理構成図である。
【図２】２点透視投影の実現方法を示す概念図である。
【図３】３点透視投影の実現方法を示す概念図である。
【図４】ウォーク透視投影の実現方法を示す概念図である。
【図５】ウォーク透視投影による投影面の法線方向の遷移を示す図である。図５（Ａ）は角度θが９０度の場合の例であり、図５（Ｂ）は角度θが６０度の場合の例であり、図５（Ｃ）は角度θが３０度の場合の例であり、図５（Ｄ）は角度θが０度の場合の例である。
【図６】投影法ごとの投影画像の違いを示す図である。図６（Ａ）は２点透視投影の投影画像を示しており、図６（Ｂ）は３点透視投影の投影画像を示しており、図６（Ｃ）はウォーク透視投影の投影画像を示している。
【図７】本実施の形態を実現するコンピュータのハードウェア構成を示すブロック図である。
【図８】本実施の形態を適用したコンピュータの機能構成を示すブロック図である。
【図９】視野情報格納部のデータ構造の一例を示す図である。
【図１０】３次元モデル情報格納部のデータ構造の一例を示す図である。
【図１１】３次元透視投影の概念を示す模式図である。
【図１２】本実施の形態を適用したウォークスルーによる画像表示処理を示すフローチャートである。
【図１３】描画処理の手順を示すフローチャートである。以下に、描画処理の詳細について説明する。
【図１４】２点透視投影による第１の画面例を示す図である。
【図１５】２点透視投影による第２の画面例を示す図である。
【図１６】２点透視投影による第３の画面例を示す図である。
【図１７】３点透視投影による第１の画面例を示す図である。
【図１８】３点透視投影による第２の画面例を示す図である。
【図１９】３点透視投影による第３の画面例を示す図である。
【図２０】ウォーク透視投影による第１の画面例を示す図である。
【図２１】ウォーク透視投影による第２の画面例を示す図である。
【図２２】ウォーク透視投影による第３の画面例を示す図である。
【図２３】従来の透視投影法による画像の例を示す図である。図２３（Ａ）は２点透視投影の画像の例であり、図２３（Ｂ）は３点透視投影の画像の例である。
【符号の説明】
１  仮想３次元空間
１ａ，１ｂ  場面
２  ３次元モデル
３  視点
４，５  画面
４ａ，５ａ  透視画像
１０  ネットワーク
１１  モニタ
１２  キーボード
１３  マウス
１００  コンピュータ
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ハードディスクドライブ
１０４  グラフィック処理装置
１０５  入力インタフェース
１０６  通信インタフェース
１０７  バス
【図１】
0003792541.tif 000002
【図２】
0003792541.tif 000003
【図３】
0003792541.tif 000004
【図４】
0003792541.tif 000005
【図５】
0003792541.tif 000006
【図６】
0003792541.tif 000007
【図７】
0003792541.tif 000008
【図８】
0003792541.tif 000009
【図９】
0003792541.tif 000010
【図１０】
0003792541.tif 000011
【図１１】
0003792541.tif 000012
【図１２】
0003792541.tif 000013
【図１３】
0003792541.tif 000014
【図１４】
0003792541.tif 000015
【図１５】
0003792541.tif 000016
【図１６】
0003792541.tif 000017
【図１７】
0003792541.tif 000018
【図１８】
0003792541.tif 000019
【図１９】
0003792541.tif 000020
【図２０】
0003792541.tif 000021
【図２１】
0003792541.tif 000022
【図２２】
0003792541.tif 000023
【図２３】
0003792541.tif 000024