(57)【要約】【課題】非透視投影の設計を容易とする。【解決手段】まず、２次元投影図中に表示された物体の上に操作用オブジェクトを表示する。ここで、２次元投影図は、３次元モデルを投影することによって生成されたものである。前記３次元モデルは、複数の格子点を備えており、前記複数の格子点には、それぞれ、カメラパラメータが対応づけられている。ついで、２次元投影図上に表示された操作用オブジェクトへの操作を受け付ける。ついで、操作用オブジェクト中の可動部におけるカメラパラメータを取得する。ついで、格子点のカメラパラメータを、前記可動部でのカメラパラメータに基づいて取得する。ついで、物体の頂点に対応するカメラパラメータを、格子点のカメラパラメータから、補間により取得する。さらに、物体の頂点に対応するカメラパラメータを用いて取得された、物体の２次元投影図を表示する。【選択図】図２
2008033710.tif 000002
【特許請求の範囲】
【請求項１】
以下のステップを備えることを特徴とする、非透視投影の設計方法：
（１）２次元投影図中に表示された物体の上に操作用オブジェクトを表示するステップ、
ここで、前記２次元投影図は、３次元モデルを投影することによって生成されたものであり、前記３次元モデルは、複数の格子点を備えており、前記複数の格子点には、それぞれ、カメラパラメータが対応づけられており、前記操作用オブジェクトは、固定部と可動部とを備えている；
（２）前記２次元投影図上に表示された前記操作用オブジェクトの可動部への操作を受け付けるステップ；
（３）前記操作用オブジェクト中の可動部におけるカメラパラメータを取得するステップ；
（４）前記格子点のカメラパラメータを、前記可動部でのカメラパラメータに基づいて取得するステップ； 
（５）前記物体の頂点に対応するカメラパラメータを、前記格子点のカメラパラメータから、補間により取得するステップ；
（６）前記物体の頂点に対応するカメラパラメータを用いて取得された物体の２次元投影図を表示するステップ。
【請求項２】
表示部と制御部とを備え、前記制御部は、以下の処理を行うことを特徴とする、非透視投影の設計システム：
（１）前記表示部によって表示されている２次元投影図に含まれる物体の上に、操作用オブジェクトを、前記表示部によって表示する処理、
ここで、前記２次元投影図は、３次元モデルを投影することによって生成されたものであり、前記３次元モデルは、複数の格子点を備えており、前記複数の格子点には、それぞれ、カメラパラメータが対応づけられており、前記操作用オブジェクトは、固定部と可動部とを備えている；
（２）前記２次元投影図上に表示された前記操作用オブジェクトの可動部への操作を受け付ける処理；
（３）前記操作用オブジェクト中の可動部におけるカメラパラメータを取得する処理；
（４）前記格子点のカメラパラメータを、前記可動部でのカメラパラメータに基づいて取得する処理；
（５）前記物体の頂点に対応するカメラパラメータを、前記格子点のカメラパラメータから、補間により取得する処理；
（６）前記物体の頂点に対応するカメラパラメータを用いて取得された物体の２次元投影図を、前記表示部によって表示する処理。
【請求項３】
表示部と制御部とを備えた非透視投影の設計システム用のコンピュータプログラムであって、前記制御部に以下の処理を行わせる構成となっているコンピュータプログラム：
（１）前記表示部によって表示されている２次元投影図に含まれる物体の上に、操作用オブジェクトを、前記表示部によって表示する処理、
ここで、前記２次元投影図は、３次元モデルを投影することによって生成されたものであり、前記３次元モデルは、複数の格子点を備えており、前記複数の格子点には、それぞれ、カメラパラメータが対応づけられており、前記操作用オブジェクトは、固定部と可動部とを備えている；
（２）前記２次元投影図上に表示された前記操作用オブジェクトの可動部への操作を受け付ける処理；
（３）前記操作用オブジェクト中の可動部におけるカメラパラメータを取得する処理；
（４）前記格子点のカメラパラメータを、前記可動部でのカメラパラメータに基づいて取得する処理；
（５）前記物体の頂点に対応するカメラパラメータを、前記格子点のカメラパラメータから、補間により取得する処理；
（６）前記物体の頂点に対応するカメラパラメータを用いて取得された物体の２次元投影図を、前記表示部によって表示する処理。
【請求項４】
複数の格子点を有する三次元モデルデータと、前記格子点毎に対応するカメラパラメータとを備えるデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非透視投影の設計方法及び設計システムに関するものである。
【背景技術】
【０００２】
投影は、３次元情報を２次元画像上に視覚的に表現する方法として、我々の日常生活に欠かせない重要な役割を演じており、実際様々な投影表現が存在する。
【０００３】
３次元コンピュータグラフィックスでは、一般的に透視投影が用いられているのに対し、人間が描く絵では、表現したい対象の特徴に応じて、誇張された投影が用いられている。例えば、案内図では、観光スポット等が、遮蔽を回避しつつわかりやすく配置され、模式図では、強調したい部分が、他とは異なる分かりやすい視点から投影されている。
【０００４】
このように、一般の透視投影と異なり、誇張を伴う投影のことを、ここでは非透視投影と呼び、先ほどの例のように我々の生活に欠かせない視覚情報伝達手段となっている。非透視投影とは、一般に、「複数の異なる視点からの見えが１枚の投影図において混在しているような投影」ということができる。
【０００５】
近年、非透視投影に関する研究が行われるようになっており、非透視投影特有の見えを実現するために、さまざまな手法が提案されてきている。例えば、通常の透視投影の画像を２次元的な変換を用いてゆがめることで、複数の視点からの見えを作り出す手法［非特許文献８，４］や、視線を曲げることにより投影図をゆがめる方法［非特許文献２］、セルアニメーションにおいて、与えられたカメラの動きに追随するパノラマ背景画を生成する手法［非特許文献７］、個々の独立した物体を別々の視点から描画したのち、奥行きを考慮してひとつの２次元投影図として合成する手法［非特許文献１］などが提案されてきている。
【０００６】
さらに、複数の視点からの見えが混在するように３次元モデル自体を変形する方法［非特許文献３］や、３次元空間中の複数のカメラの投影を合成する手法［非特許文献６，５］が考案され、表現能力が向上してきた。
【０００７】
しかしながら、これらの手法では、３次元空間内での操作が必要であり、その操作が２次元の投影図にどのように反映されるかについては、数多くの試行錯誤による確認が必要となる。
【０００８】
つまり、従来提案されてきている技術では、非透視投影の設計が煩雑であるという問題があった。
【非特許文献１】[1] M. Agrawala, D. Zorin, and T. Munzner.Artisticmultiprojection rendering, 2000.
【非特許文献２】[2] Y. Kurzion and R. Yagel. Interactivespace deformationwith hardware-assisted rendering. IEEEComputer Graphics &Applications, 17(5):66-77, 1997.
【非特許文献３】[3] Paul Rademacher. View-dependentgeometry. InAlyn Rockwood, editor, Siggraph 1999, ComputerGraphics Proceedings,pages 439-446, LosAngeles, 1999. Addison Wesley Longman.
【非特許文献４】[4] S. M. Seitz and C. R. Dyer. Viewmorphing. In Computer Graphics (Proceedings of Siggraph’96), pages 21-30,1996.5
【非特許文献５】[5] Karan Singh. A fresh perspective. InGraphicsInterface (GI’02), pages 17-24, May 2002.
【非特許文献６】[6] Shigeo Takahashi, Naoya Ohta, HirokoNakamura,Yuriko Takeshima, and Issei Fujishiro.Modeling surperspectiveprojection of landscapesfor geographical guide-map generation. ComputerGraphicsForum, 21(3):259-268, 2002.
【非特許文献７】[7] Daniel N. Wood, Adam Finkelstein, JohnF.Hughes, Craig E. Thayer, and David Salesin.Multiperspective panoramas for celanimation. In SIGGRAPH, pages 243-250, 1997.
【非特許文献８】[8] D. Zorin and A. H. Barr. Correction ofgeometricperceptual distortions in pictures. In ComputerGraphics (Proceedingsof Siggraph ’95), pages257-264, 1995.
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、前記の状況に鑑みてなされたものである。本発明は、３次元空間内の操作を、２次元投影面を介して直接行う手法を提供することにより、非透視投影の設計を容易とすることを目的としている。
【課題を解決するための手段】
【００１０】
本発明に係る非透視投影の設計方法は、以下のステップを備えている：
（１）２次元投影図中に表示された物体の上に操作用オブジェクトを表示するステップ、
ここで、前記２次元投影図は、３次元モデルを投影することによって生成されたものであり、前記３次元モデルは、複数の格子点を備えており、前記複数の格子点には、それぞれ、カメラパラメータが対応づけられており、前記操作用オブジェクトは、固定部と可動部とを備えている；
（２）前記２次元投影図上に表示された前記操作用オブジェクトの可動部への操作を受け付けるステップ；
（３）前記操作用オブジェクト中の可動部におけるカメラパラメータを取得するステップ；
（４）前記格子点のカメラパラメータを、前記可動部でのカメラパラメータに基づいて取得するステップ；
（５）前記物体の頂点に対応するカメラパラメータを、前記格子点のカメラパラメータから、補間により取得するステップ；
（６）前記物体の頂点に対応するカメラパラメータを用いて取得された物体の２次元投影図を表示するステップ。
【００１１】
本発明に係る非透視投影の設計システムは、表示部と制御部とを備えている。前記制御部は、以下の処理を行うものである：
（１）前記表示部によって表示されている２次元投影図に含まれる物体の上に、操作用オブジェクトを、前記表示部によって表示する処理、
ここで、前記２次元投影図は、３次元モデルを投影することによって生成されたものであり、前記３次元モデルは、複数の格子点を備えており、前記複数の格子点には、それぞれ、カメラパラメータが対応づけられており、前記操作用オブジェクトは、固定部と可動部とを備えている；
（２）前記２次元投影図上に表示された前記操作用オブジェクトの可動部への操作を受け付ける処理；
（３）前記操作用オブジェクト中の可動部におけるカメラパラメータを取得する処理；
（４）前記格子点のカメラパラメータを、前記可動部でのカメラパラメータに基づいて取得する処理；
（５）前記物体の頂点に対応するカメラパラメータを、前記格子点のカメラパラメータから、補間により取得する処理；
（６）前記物体の頂点に対応するカメラパラメータを用いて取得された物体の２次元投影図を、前記表示部によって表示する処理。
【００１２】
本発明に係るコンピュータプログラムは、表示部と制御部とを備えた非透視投影の設計システム用のプログラムである。このコンピュータプログラムは、前記制御部に以下の処理を行わせる構成となっている：
（１）前記表示部によって表示されている２次元投影図に含まれる物体の上に、操作用オブジェクトを、前記表示部によって表示する処理、
ここで、前記２次元投影図は、３次元モデルを投影することによって生成されたものであり、前記３次元モデルは、複数の格子点を備えており、前記複数の格子点には、それぞれ、カメラパラメータが対応づけられており、前記操作用オブジェクトは、固定部と可動部とを備えている；
（２）前記２次元投影図上に表示された前記操作用オブジェクトの可動部への操作を受け付ける処理；
（３）前記操作用オブジェクト中の可動部におけるカメラパラメータを取得する処理；
（４）前記格子点のカメラパラメータを、前記可動部でのカメラパラメータに基づいて取得する処理；
（５）前記物体の頂点に対応するカメラパラメータを、前記格子点のカメラパラメータから、補間により取得する処理；
（６）前記物体の頂点に対応するカメラパラメータを用いて取得された物体の２次元投影図を、前記表示部によって表示する処理。
【００１３】
本発明に係るデータ構造は、複数の格子点を有する三次元モデルデータと、前記格子点毎に対応するカメラパラメータとを備えている。
【発明の効果】
【００１４】
本発明によれば、非透視投影の設計が容易となる設計方法及び設計システムを提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の一実施形態を、添付図面を参照して説明する。
【００１６】
（本実施形態の構成）
本実施形態に係る、非透視投影の設計システムは、図１に示されるように、表示部１と、制御部２と、入力部３と、記憶部４と、通信路５とを備えている。
【００１７】
表示部１は、制御部２で生成された非透視投影図を表示する構成となっている。表示部１としては、例えば、ＣＲＴやＬＣＤなどのディスプレイである。
【００１８】
制御部２は、例えばＣＰＵにより構成することができる。制御部２は、コンピュータ用ソフトウエア（プログラム）の動作により、以下の処理を実行する構成となっている。
（１）表示部１によって表示されている２次元投影図に含まれる物体の上に、操作用オブジェクトを、表示部１によって表示する処理。ここで、前記２次元投影図は、３次元モデルを投影することによって生成されたものであり、前記３次元モデルは、複数の格子点を備えており、前記複数の格子点には、それぞれ、カメラパラメータが対応づけられており、前記操作用オブジェクトは、固定部と可動部とを備えている。
（２）前記２次元投影図上に表示された前記操作用オブジェクトの可動部への操作を受け付ける処理。
（３）前記操作用オブジェクト中の可動部におけるカメラパラメータを取得する処理。
（４）前記固定部と前記可動部との間における、前記格子点のカメラパラメータを、補間により取得する処理。
（５）前記物体の頂点に対応するカメラパラメータを、前記格子点のカメラパラメータから、補間により取得する処理。
（６）前記物体の頂点に対応するカメラパラメータを用いて取得された物体の２次元投影図を、前記表示部によって表示する処理。
【００１９】
これらの処理の詳細は、本実施形態の動作として後述する。また、これらの処理は、計算機（又はＣＰＵ）上で実行されるコンピュータソフトウエアにより実施することができる。
【００２０】
入力部３は、制御部２への指令を入力できる機器であり、例えばキーボードやマウスやタッチパッドである。
【００２１】
記憶部４は、制御部２での処理に用いられる各種のデータ（３次元モデルやカメラパラメータなど）、制御部２を動作させるために必要なコンピュータソフトウエア、制御部２で生成された各種データ（非透視投影図など）、及びその他の必要なデータを記憶できるようになっている。記憶部４は、内部記憶装置あるいは外部記憶装置により構成することができる。
【００２２】
通信路５は、前記した各機能ブロックの間における、情報のやりとりを可能にする媒体である。通信路５は、例えば、コンピュータ内のバスラインであるが、ＬＡＮやインターネットなどのネットワークであってもよい。すなわち、各機能ブロックは、物理的に離間した位置にあり、ネットワークによって接続されたものであっても良い。ネットワークに接続するための手段、例えばインタフェースの構成やプロトコルは良く知られているので、詳細な説明は省略する。
【００２３】
（本実施形態の動作）
次に、前記したシステムを用いて非透視投影図を生成する方法について、図２のフローチャートを参照しながら説明する。ここでは、対象の局所部分における「見え」（つまり２次元投影図上での物体の見え）を操作する方法と、そのような見えを実現するカメラパラメータの計算方法について述べる。
【００２４】
非透視投影では、描画物体の局所部分ごとに、それぞれ異なるカメラで投影する必要があるため、そのカメラのパラメータを、その局所部分の見えから求めなければならない。
【００２５】
（カメラモデル）
まず、以下で取り扱うカメラモデルについて定義する。カメラパラメータとしてカメラ７の位置、向き、投影の中心、投影面の高さ、および幅を用いる(図３参照)。ここで、投影面９はカメラの視線方向に垂直であり、焦点距離Ｆはカメラと投影面との距離として固定であるとする。投影の中心は、「カメラの視線と投影面との交点を原点とし、カメラのアップベクトルがｙ軸、それに垂直な軸がｘ軸として定義される投影面上の２次元の座標系」を用いて表される。本実施形態で説明するカメラモデルの自由度は、位置が３、向きが３、投影の中心が２、投影面の高さが１、投影面の幅が１の合計１０となる。
【００２６】
（局所部分の見えの操作）
（図２のステップＳａ−１）
ここでは、対象の局所部分として、３次元物体の頂点とその近傍に注目する。そして、ユーザは、図４に示されるような操作用オブジェクト１０を、表示部１の表示画面によって表示する。操作用オブジェクト１０は、３つの制御点Ｐ、Ｑ、Ｒ（Ｒは２点あるがどちらも同じ働きをするので１つのＲとして扱う）と、一つの固定点Ｆとを備えている。制御点Ｐ、Ｑ、Ｒは、本発明における可動部の一例に対応し、固定点Ｆは、本発明における固定部の一例に相当する。操作用オブジェクト１０の配置例の詳細は後述する。
【００２７】
（図２のステップＳａ−２）
ついで、ユーザは、制御点Ｐ、Ｑ、Ｒのいずれか又は全ての、２次元投影面上の位置を、表示画面上において変更する。操作用オブジェクト１０を、投影図中の物体上に配置した状態を、図５に示す。ただし、この図では、固定点Ｆは省略している。
【００２８】
各制御点の位置等を変更する操作は、例えば、各点を入力部３によってドラッグして移動させることにより実施することができる。これにより、表１に示されるような３種類の見えを操作することができる。
【００２９】
【表１】
2008033710.tif 000003
【００３０】
具体的には、点Ｐをドラッグすることで物体頂点の描画位置が操作される。また、点Ｒをドラッグすることで、点Ｐを中心に点Ｒを通る正方形が拡大縮小し、その拡大率に応じて点Ｐの周りの描画サイズが変化する。さらに、線ＰＱを、点Ｐを通る特徴線（物体表面上の模様、物体頂点間の稜線又は輪郭を表す線）に沿わせることにより、その特徴線の長さや傾きを操作する。本実施形態に係るシステムにおいては、点ＰとＱはユーザによって選択された描画物体上の頂点であるとする。つまりユーザによって、あるいはシステム側の補助によって、そのような頂点に置かれるものとする。また、本実施形態のシステムは、点Ｐ及びＱの３次元位置を、入力部３からの入力データに基づいて取得できるものとする。
【００３１】
（図２のステップＳａ−３）
前記した３種類の見えの操作を、表１のようにカメラパラメータの変化と対応させることによって、本実施形態では、合計５次元のカメラパラメータ空間を操作することができる。
【００３２】
ここで注意すべきことは、線分ＰＱの傾きや長さはカメラの投影面に平行な移動量に１対１に対応させることができるが、カメラを移動させると同時に点Ｐの描画位置も変化してしまうことである。そこで、点Ｐの描画位置が変わらないように投影の中心を補正する必要がある（他の見えについても同様のことが必要となる場合がある）。各制御点の操作とカメラパラメータの計算方法について以下にまとめる。
【００３３】
（投影の中心）
点Ｐが投影された座標ＰｓがＰ’ｓに移動されたとすると（図６（ａ））、投影の中心は点ＰがまるでＰ’ｓに投影されるように調整される（図６（ｂ））。投影の中心の移動量Ｄｃｐは以下のように計算される。
Ｄｃｐ＝Ｐｓ−Ｐ’ｓ（１）
【００３４】
点Ｐの周りの見えは制御点Ｐの操作では変化せず、投影面上に投影される位置のみが独立に移動される。
【００３５】
（投影面の大きさ）
図７（ａ）のように点Ｒが点Ｒ’にドラッグされたとする。点Ｒを備える正方形の大きさがＤ１からＤ２になり、その見えの大きさの拡大比率ｋはｋ＝Ｄ１／Ｄ２となるので、投影面９の大きさは１／ｋ倍に拡大、もしくは縮小する。そうすることで、投影面上の物体の見た目の大きさがｋ倍となる。
【００３６】
点Ｐの投影面上の位置が変化しないように、点Ｐを中心として拡大、縮小をする必要があるので、投影の中心を変える必要がある。その変化量（Ｄｘ，Ｄｙ）は、以下のように計算される。
Ｄｘ＝Ｗ＊０．５＊（１−（１／ｋ））（２）
Ｄｙ＝Ｈ＊０．５＊（１−（１／ｋ））（３）
ここで、ＷとＨはそれぞれ投影面の幅と高さとする。
【００３７】
（視点位置）
図８（ａ）のように、点Ｑが点Ｑ’にドラッグされたとする。ＰＱのｙ成分をＤ１とし、ＰＱ’のｙ成分をＤ２とする。カメラを投影面に対してｙ軸方向に動かすことにより、投影面上のＰＱの長さをＤ１からＤ２に変えることができる（図８（ｂ））。その移動距離は、以下のように計算される。
Ｄ＝（Ｄ２−Ｄ１）＊ｄ＊（ｄ＋ｒ）／（ｆ＊ｒ）（４）
ここで、ｄはカメラの視線方向ベクトルとベクトルＰＱの内積、ｒは点Ｐのカメラからの視線方向成分、ｆは焦点距離である。さらに、点Ｐの投影面上の位置が変わらないように投影の中心を調整する必要がある。その移動距離Ｄｃｐは次のように計算される。
Ｄｃｐ＝Ｄ＊ｆ＊ｄ（５）
【００３８】
ｘ軸方向についても同様にカメラの移動量が計算される。もし、線分ＰＱの奥行き成分がゼロの場合は、線の傾きと長さが視点の位置から一意に決まらない。そのため、そのようなＰ，Ｑをあらかじめ選べないようにする。点ＰとＱを物体上の特徴線にあわせることにより、その特徴線の傾きや長さを調整することができる。
【００３９】
（カメラパラメータの場を用いた非透視投影の設計）
（図２のステップＳａ−３）
非透視投影では、描画対象の局所部分ごとに異なるカメラで投影を行う必要がある。そこで、本実施形態では、そのような投影を実現するためのデータ構造として、３次元空間中に明示的にカメラパラメータの場を保持する。カメラパラメータ場は、一種の関数として把握することができる。カメラパラメータ場は、記憶部４に記憶される。
【００４０】
（カメラパラメータ場の定義）
（図２のステップＳａ−４）
まず、前提として、物体の３次元モデルは、３次元格子（つまりボクセルモデル）により表現されるとする。カメラパラメータ場は、３次元格子における格子状サンプル点（格子点）のそれぞれにカメラパラメータを割り当てることで実現する。割り当てられるカメラパラメータは、前記で定義した１０個のパラメータとする。ユーザは、カメラパラメータ場を、２次元的なツールである操作用オブジェクト１０を用い、投影面を介して編集する。そして、ユーザ操作によるカメラパラメータの変化を各格子点の値に蓄積していく。
【００４１】
ここで、格子点毎のカメラパラメータは、補間により生成することができる。補間方法としては、各格子点について、固定点Ｆ（カメラパラメータの変化なし）と可動点Ｐ（カメラパラメータの変化有り）との間で、徐々にカメラパラメータが変化するように補間（例えば線形補間）することができる。つまり、格子点のカメラパラメータを、可動点Ｐのカメラパラメータ（これは可動点Ｐの移動に従って変化している）に基づいて生成し、取得することができる。
【００４２】
（非透視投影の計算）
（図２のステップＳａ−５）
ついで、描画対象となっている物体の局所部分（ここでは、物体頂点）ごとに、その領域を投影するカメラが持つパラメータを計算する必要がある。そのパラメータの値は、３次元カメラパラメータ場から補間で求めることができる。例えば、物体頂点の８近傍の格子点におけるカメラパラメータを３重線形補間することで計算することができる（図９）。このとき、カメラパラメータの向きについては球面線型補間を用い、他のパラメータについては線型補間を用いることが好ましい。格子点毎にカメラパラメータを生成しておけば、投影図を生成する際に、描画物体の各頂点に対応するカメラパラメータを計算するコストは一定となる。
【００４３】
（図２のステップＳａ−６）
ついで、描画物体の各頂点に対応するカメラパラメータに基づいて２次元投影図を生成することができる。これにより、非透視投影図を生成することができる。
【００４４】
（非透視投影の編集）
前記した原理に基づく、非透視投影の編集方法を、図１０を参照しながら以下にさらに説明する。まず、ユーザは、３次元物体上の点（固定部）Ｆを選択し、その点のスクリーン上の位置は固定される。
【００４５】
次に、３次元物体上に点（可動部）Ｐを選ぶ。ユーザは、制御点Ｐだけを操作して、その見え（投影中心）を操作することもできる。
【００４６】
さらに、点Ｑを、線ＰＱが物体上の特徴線に沿うように選ぶ。点Ｑまで選ばれると、他の制御点Ｒも表示される。これらの制御点Ｐ、Ｑ、Ｒ（可動部）を操作することにより、点Ｐのまわりの見えが操作される。この操作により、その効果（すなわち２次元投影面上での「見え」）が生成され、線分ＰＦに沿うように反映される。この反映は、システム側の動作により、リアルタイムで行われる。
【００４７】
カメラパラメータ場から計算された点Ｐに対応するカメラパラメータをＣｐとする。一方、ユーザによって指定された見えを実現するカメラパラメータをＣ’ｐとする。本実施形態のシステムでは、３次元カメラパラメータ場（各格子点でのカメラパラメータ）は、前記したとおり、可動部Ｐのカメラパラメータに基づいて生成される。
【００４８】
例えば、格子点Ｌに加えられるカメラパラメータは、「Ｃｐ−Ｃ’ｐの値に対して、２つの線分の比率ＳＦ／ＲＦ（但し、点Ｓが点Ｆから見て点Ｐと反対側にある場合は負号を付す）を乗算して得られた値」となる（図１０参照）。「点Ｓが点Ｆから見て点Ｐと反対側にある場合は負号を付す」というのは、外挿（これも補間の一種とする）に対応した処理である。また、ここで、点ＳはＬから直線ＰＦに下ろした垂線の足とする。これは、カメラパラメータの演算であり、位置や投影の中心といったパラメータ同士で、演算を行うものとする。ただし、向き（クォータニオン）の場合は、回転角について演算を行うものとする。実際の手描きの絵では、直線に沿ってカメラパラメータが変化したように描かれる場合が多いので、本システムではこのような入力の仕方を採用している。さらに、２点Ｐ、Ｆが同一物体上の点として選ばれた場合、ユーザ操作によって値の変化する格子点は、その物体のバウンディングボックス（物体を囲む仮想的な箱）に含まれる格子点にのみ限定される。このことにより、特定の物体の見えのみを、他の物体に影響を与えることなく、変更することができる。
【００４９】
本実施形態によれば、３次元空間のカメラパラメータ場を定義することで、１つの投影図の中に複数の視点からの見えを混在させ、非透視投影特有の効果を柔軟に記述できる。そして、ユーザが描画物体の局所部分の見え（ここでは、物体頂点の位置や、特徴線の傾きや長さ）を２次元投影面上で操作することにより、先に定義した３次元カメラパラメータ場の値を編集できる。
【００５０】
（実施例）
ウサギと机がある部屋のシーンについて、その投影面上での見えを操作していく様子を、本実施形態の実施例として示す。図１１は、実装したプログラムのインターフェースであり、ディスプレイ上に表示される。
【００５１】
まず、点Ｆ、Ｐ、Ｑがユーザによって選択される。選択は、画面上の点をクリックすることで行われる。点Ｑをクリックすると点Ｒがシステムの動作により表示される。
【００５２】
点Ｐ、Ｑ、Ｒをドラッグすることで、投影面上の見えを操作することができる。
【００５３】
以下、３種類の見えの操作による編集効果についてまとめる。
【００５４】
・描画位置の操作
床とロッカーの境界線に沿うようにツールを設置した状態を図１２（ａ）に示す。ついで、点Ｐをドラッグして移動させた状態を図１２（ｂ）に示す。点Ｐの周りの見え、すなわち、ロッカーと床の線の傾きは変化していないことに注意する。
【００５５】
・描画サイズの操作
床とロッカーの境界線に沿うようにツール（操作用オブジェクト）を設置した状態を、図１３（ａ）に示す。ついで、点Ｒをドラッグして、点Ｐの周りの見えの大きさを調整する（図１３（ｂ））。その際、点Ｐの位置やロッカーと床の線の傾きは変化していないことに注意する。
・特徴線の操作
ロッカーの上部の稜線に沿うようにツールを設置した（図１４（ａ））。ついで、点Ｑをドラッグすることで、点Ｐを通る稜線の傾きや長さを調整することができる（図１４（ｂ））。その際、点Ｐの位置やその周りの描画サイズは変化していないことに注意する。
【００５６】
（手描きの絵にあわせる例）
さらに、３Ｄシーンの投影図を、図１５（ａ）のような手描きの絵にあわせる例について見てみる。投影図を手描きの絵に重ねてみると、図１５（ｂ）のようになる。
【００５７】
図１６（ａ）〜（ｊ）に、設置されたツールの操作によって投影図が変化していく様子を示した。その際、ユーザは、ロッカーと床の間の線、窓の平行線といった特徴を頼りに操作する。最終的には、図１６（ｊ）に示されるように、手描きの図と同様な非透視投影図を得ることができた。
【００５８】
なお、前記各実施形態の記載は単なる一例に過ぎず、本発明に必須の構成を示したものではない。各部の構成は、本発明の趣旨を達成できるものであれば、上記に限らない。
【００５９】
さらに、各実施形態を実現するための各部（機能ブロックを含む）の具体的手段は、ハードウエア、ソフトウエア、ネットワーク、これらの組み合わせ、その他の任意の手段を用いることができ、このこと自体は当業者において自明である。また、機能ブロックどうしが複合して一つの機能ブロックに集約されても良い。さらに、機能ブロックが複数のハードウエアまたはソフトウエアの協働によって実現されても良い。
【図面の簡単な説明】
【００６０】
【図１】本発明の一実施形態に係る非透視投影の設計システムの概略的な構成を示すブロック図である。
【図２】本発明の一実施形態に係る非透視投影の設計方法を説明するためのフローチャートである。
【図３】カメラパラメータを説明するための説明図である。
【図４】操作用オブジェクトを説明するための説明図である。
【図５】２次元投影図に示された物体上に、操作用オブジェクトを配置した例を示す説明図である。
【図６】投影の中心の計算手法を説明するための説明図である。図（ａ）は、制御点ＰｓがＰ’ｓにドラッグされた状態の図である。図（ｂ）は、投影面上の点Ｐの位置が点Ｐｓから点Ｐ’ｓへ移動するように、投影面を平行移動した状態の図である。
【図７】画角の計算を説明するための説明図である。図（ａ）は、制御点ＲがＲ’にドラッグされた状態の図である。図（ｂ）は、点Ｐのまわりの見えの大きさを拡大縮小するために、投影面の大きさを変更した状態の図である。
【図８】視点位置の計算を説明するための説明図である。図（ａ）は、制御点ＱがＱ’にドラッグされた状態の図である。図（ｂ）は、カメラが投影面に沿って平行移動した状態の図である。
【図９】物体頂点のカメラパラメータの計算を説明するための説明図である。
【図１０】編集ツールの説明図である。
【図１１】実装したプログラムにおける画面表示のスナップショットである。
【図１２】描画位置の操作例を説明するための図である。図（ａ）は、ロッカーと床の境界に沿うように編集ツールを設置した例である。図（ｂ）は、点Ｐをドラッグした結果として得られた非透視投影図の一例を示している。
【図１３】描画サイズの操作例を説明するための図である。図（ａ）は、ロッカーと床の境界線に沿ってツールを設置した例である。図（ｂ）は、点Ｒをドラッグした結果として得られた非透視投影図の一例を示している。
【図１４】点Ｐを通る特徴線の操作例を説明するための図である。図（ａ）は、ロッカー上部の稜線に沿ってツールを設置した例である。図（ｂ）は、点Ｑをドラッグし結果として得られた非透視投影図の一例を示している。
【図１５】透視投影図を、手描きの絵にあわせて非透視投影図に変更する操作例を説明するための図である。図（ａ）は、参照する手描き画像を示している。図（ｂ）は、参照する手描き画像を透視投影図に重ねて表示した状態を示している。
【図１６】３Ｄシーンから得た透視投影図を、手描きの参照画像にあわせて変形していく様子を説明するための図であって、図（ａ）〜（ｉ）は、変形の進行過程を示している。図（ｊ）は、変形によって得られた非透視投影図を示している。
【符号の説明】
【００６１】
１  表示部
２  制御部
３  入力部
４  記憶路
５  通信部
７  カメラ
９  投影面
１０  操作用オブジェクト
Ｆ  固定点（固定部）
Ｐ  制御点（可動部）
Ｑ  制御点（可動部）
Ｒ  制御点（可動部）
【図１】
2008033710.tif 000004
【図２】
2008033710.tif 000005
【図３】
2008033710.tif 000006
【図４】
2008033710.tif 000007
【図６（ｂ）】
2008033710.tif 000008
【図７（ｂ）】
2008033710.tif 000009
【図１０】
2008033710.tif 000010
【図５】
2008033710.tif 000011
【図６（ａ）】
2008033710.tif 000012
【図７（ａ）】
2008033710.tif 000013
【図８（ａ）】
2008033710.tif 000014
【図８（ｂ）】
2008033710.tif 000015
【図９】
2008033710.tif 000016
【図１１】
2008033710.tif 000017
【図１２（ａ）】
2008033710.tif 000018
【図１２（ｂ）】
2008033710.tif 000019
【図１３（ａ）】
2008033710.tif 000020
【図１３（ｂ）】
2008033710.tif 000021
【図１４（ａ）】
2008033710.tif 000022
【図１４（ｂ）】
2008033710.tif 000023
【図１５（ａ）】
2008033710.tif 000024
【図１５（ｂ）】
2008033710.tif 000025
【図１６（ａ）】
2008033710.tif 000026
【図１６（ｂ）】
2008033710.tif 000027
【図１６（ｃ）】
2008033710.tif 000028
【図１６（ｄ）】
2008033710.tif 000029
【図１６（ｅ）】
2008033710.tif 000030
【図１６（ｆ）】
2008033710.tif 000031
【図１６（ｇ）】
2008033710.tif 000032
【図１６（ｈ）】
2008033710.tif 000033
【図１６（ｉ）】
2008033710.tif 000034
【図１６（ｊ）】
2008033710.tif 000035