描画処理装置及び描画処理方法
【課題】メモリ容量の限られた機器において、高速に2次元グラフィックスを3次元仮想空間に配置して投影、描画することを目的とする。
【解決手段】2次元グラフィックスの3次元仮想空間における配置情報と、投影条件と、に基づいて、2次元グラフィックスのバウンディングボックスの4頂点が投影される座標を算出する座標算出手段と、座標算出手段で算出された4頂点によって構成される四角形に近似した平行四辺形を算出する平行四辺形算出手段と、平行四辺形算出手段で算出された平行四辺形の4頂点に基づいて2次元変形情報を計算する計算手段と、計算手段で計算された2次元変形情報に基づいて、2次元グラフィックスの形状を変形して描画する描画手段と、を有することによって課題を解決する。
【解決手段】2次元グラフィックスの3次元仮想空間における配置情報と、投影条件と、に基づいて、2次元グラフィックスのバウンディングボックスの4頂点が投影される座標を算出する座標算出手段と、座標算出手段で算出された4頂点によって構成される四角形に近似した平行四辺形を算出する平行四辺形算出手段と、平行四辺形算出手段で算出された平行四辺形の4頂点に基づいて2次元変形情報を計算する計算手段と、計算手段で計算された2次元変形情報に基づいて、2次元グラフィックスの形状を変形して描画する描画手段と、を有することによって課題を解決する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、描画処理装置及び描画処理方法に関する。
【背景技術】
【0002】
従来、2次元グラフィックスを3次元仮想空間に配置して投影、描画するものとしては、2次元グラフィックスを一度描画してビットマップを取得し、それを3次元仮想空間に配置して描画することが一般的であった。また、一度ビットマップに変換するのではなく、2次元グラフィックスの形状情報をポリゴンに変換し、3次元グラフィックスとして描画する提案もされている(例えば特許文献1)。更に3次元グラフィックスのレンダリングを行わず2次元グラフィックスを代わりに描画することでパフォーマンスを向上させる提案がされている(例えば特許文献2)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−260008号公報
【特許文献2】特開平8−263690号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の一般的な方法では、2次元グラフィックスが内包される大きさのビットマップを格納できるメモリを確保する必要があり、搭載メモリの小さい機器では処理を実現するのが困難であった。また、2次元グラフィックスをポリゴンに変換する方法によれば、複雑な2次元グラフィックスをポリゴンに変換する処理の負荷が高くなる可能性がある。また、2次元グラフィックスを保持する方法によれば、高速に処理できる反面、メモリ使用量が増大する恐れがある。
【0005】
本発明はこのような問題点に鑑みなされたもので、メモリ容量の限られた機器において、高速に2次元グラフィックスを3次元仮想空間に配置して投影、描画することを目的とする。
【課題を解決するための手段】
【0006】
そこで、本発明の描画処理装置は、2次元グラフィックスの3次元仮想空間における配置情報と、投影条件と、に基づいて、2次元グラフィックスのバウンディングボックスの4頂点が投影される座標を算出する座標算出手段と、前記座標算出手段で算出された4頂点によって構成される四角形に近似した平行四辺形を算出する平行四辺形算出手段と、前記平行四辺形算出手段で算出された平行四辺形の4頂点に基づいて2次元変形情報を計算する計算手段と、前記計算手段で計算された2次元変形情報に基づいて、前記2次元グラフィックスの形状を変形して描画する描画手段と、を有する。
【発明の効果】
【0007】
本発明によれば、メモリ容量の限られた機器において、高速に2次元グラフィックスを3次元仮想空間に配置して投影、描画することができる。
【図面の簡単な説明】
【0008】
【図1】描画処理装置のハードウェア構成の一例を示す図である。
【図2】実施形態1の描画処理装置の機能構成の一例を示す図である。
【図3】実施形態1の描画処理装置における処理の一例を示すフローチャートである。
【図4】3次元仮想空間配置情報の一例を示す図である。
【図5】2次元グラフィックス描画処理命令を説明するための図である。
【図6】ステップ305の処理の一例を説明するための図(その1)である。
【図7】ステップ305の処理の一例を説明するための図(その2)である。
【図8】ステップ305及びステップ306の処理の一例を説明するための図である。
【図9】ステップ307の処理の一例を説明するための図である。
【図10】実施形態1の描画結果の一例を示す図である。
【図11】ステップ306の処理の他の例を説明するための図である。
【図12】実施形態2の描画処理装置の機能構成の一例を示す図である。
【図13】実施形態2の描画処理装置における処理の一例を示すフローチャートである。
【図14】2次元グラフィックス描画処理命令の一例を示す図である。
【図15】ステップ1310の処理の詳細を示したフローチャートである。
【図16】ステップ1504の処理の一例を説明するための図である。
【図17】実施形態2の描画結果の一例を示す図である。
【図18】ステップ1306及びステップ1307の処理の一例を説明するための図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について図面に基づいて説明する。
【0010】
<実施形態1>
実施形態1について説明する。
図1は、描画処理装置(コンピュータ)のハードウェア構成の一例を示す図である。図1において、CPU102は、描画処理装置が装備している各機能を実行、制御する。ROM103は、変更を必要としないプログラムや各種パラメータを格納する。RAM104は、SDRAM、DRAM等によって構成され、外部装置等から供給されるプログラムやデータを一時記憶する。描画ユニット105は、プログラムに基づきCPU102が描画したグラフィックスを出力する。バス101は、システムバスであって、CPU102、ROM103、RAM104及び描画ユニット105を接続する。
【0011】
以下、本実施形態の処理の流れについて、図2〜図11を用いて説明する。
図2は、実施形態1の描画処理装置の機能構成の一例を示す図である。図3は、実施形態1の描画処理装置における処理の一例を示すフローチャートである。図4は、3次元仮想空間配置情報の一例を示す図である。図5は、2次元グラフィックス描画処理命令を説明するための図である。図6は、ステップ305の処理の一例を説明するための図(その1)である。図7は、ステップ305の処理の一例を説明するための図(その2)である。図8は、ステップ305及びステップ306の処理の一例を説明するための図である。図9は、ステップ307の処理の一例を説明するための図である。図10は、実施形態1の描画結果の一例を示す図である。図11は、ステップ306の処理の他の例を説明するための図である。
まず、3次元仮想空間配置情報受信部203は、3次元仮想空間への配置情報(3次元仮想空間配置情報)を、他の装置等より受信する(ステップ301)。ここでは3次元仮想空間はXYZ直交座標系で表現されているものとし、3次元仮想空間配置情報は3次元アフィン変換行列で表現されているものとする。3次元アフィン変換は、一般形として3行4列の行列で表現され、ここで入力される3次元仮想空間配置情報を図4に示した3行4列の行列であるとする。
【0012】
次に、投影条件受信部204は、投影条件を他の装置等より受信する(ステップ302)。投影条件は、視点の座標と投影面の情報、及び投影方法から構成される。ここでは、視点の座標を(0,0,−ze)(但しze>0)、投影面の情報をXY平面とし、投影方法は一点透視投影であるとする。
次に、2次元グラフィックス描画処理命令受信部202は、2次元グラフィックス描画処理命令を他の装置等より受信する(ステップ303)。2次元グラフィックス描画処理命令は、図5(a)に示したようなAOBCDで囲まれた多角形501(斜線部)を描画処理するための命令であるとする。続いて、2次元グラフィックスバウンディングボックス算出部205は、受信された2次元グラフィックス描画処理命令に基づいて、2次元グラフィックスのバウンディングボックスを計算する(ステップ304)。ここで、バウンディングボックスとは、2次元グラフィックスを内包する、XY軸に平行な辺を持つ最小の長方形であるとする。図5(a)の多角形のバウンディングボックスは、図5(b)に示されている長方形502(点線部)である。
【0013】
次に、バウンディングボックス投影処理部206は、算出されたバウンディングボックスが3次元仮想空間配置情報と投影条件とによって投影されるときの、バウンディングボックスの4頂点の投影先を計算(座標算出)する(ステップ305)。ここで、ステップ305の処理について図6の模式図を用いて更に詳しく説明する。まず、視点をEとすると、Eの座標は(0,0,−ze)(但しze>0)である。任意の点P(x,y,z)があり、これを投影条件にしたがってXY平面に投影すると、点Pの投影先は直線PEとXY平面との交点Qとなる。交点Qの座標は(x*d/(z+ze),y*d/(z+ze),0)として求まる。点Pから点Qへの写像は、図7(a)のような4行4列の同次変換行列で表現することができる。また、3次元仮想空間配置情報を表現する3行4列の行列も、同次変換行列で表現することが可能であり、図7(b)のような4行4列の行列で表現できる。また、XYZ直交座標系における任意の点A(x,y,z)も同次座標系では図7(c)のように4次元の座標で表現される。
【0014】
バウンディングボックス投影処理部206は、任意の点Aが3次元仮想空間配置情報と投影条件とにより投影される投影先を3次元アフィン変換行列と投影条件とから導かれる透視投影行列の積を計算し、その行列で点Aを写像させることで求めることができる。式で表現すると、図7(d)のようになる。なお、バウンディングボックスの4頂点は、何れもZ座標が0である。よって、バウンディングボックス投影処理部206は、図7(d)で示された式に、図5(b)で示したバウンディングボックスの4頂点A(−s,t,0),B(−s,−t,0),C(s,−t,0),D(s,t,0)を与える。このことによって投影先の4点を取得することができる。
ステップ305において計算されて得られたバウンディングボックスの4頂点A,B,C,Dの投影先をそれぞれA',B',C',D'とする。投影先の点A',B',C',D'を図示したのが図8(a)である。
【0015】
次に、平行四辺形算出部207は、投影先の4点を囲む四角形に近似した平行四辺形を求める(ステップ306)。ここで、平行四辺形の導出方法について説明する。まず、平行四辺形算出部207は、線分A'B'の中点R、線分B'C'の中点S、線分C'D'の中点T、線分D'A'の中点Uをそれぞれ求める。次に、平行四辺形算出部207は、点R、点S、点T、点Uを4辺の中点となるような平行四辺形EFGHを求める。平行四辺形算出部207は、平行四辺形EFGHを、辺EFと辺GHが線分SUと平行になるように、辺FGと辺HEが線分RTと平行になるように求めればよい。
【0016】
次に、2次元変形情報取得部208は、ステップ306で求められた平行四辺形から2次元変形情報を求める(ステップ307)。図9(a)の平行四辺形EFGHにおいて、点Fの座標を(p,q)とする。また、ベクトルFEを(αe,βe)、ベクトルFGを(αg,βg)とする。ここで、長さが1の正方形E'F'G'H'が、点F'が原点と一致し、G'がX軸上に配置されたとし、正方形E'F'G'H'の平行四辺形EFGHへの写像を求める。写像を2次元アフィン変換の同次座標系で表現して求まるのが、図9(b)に示した3行3列の行列である。次に、図5(b)で示した2次元グラフィックスのバウンディングボックスの形状である長方形ABCDを図9(a)におけるE'F'G'H'に変形させる写像を計算すると、図9(c)に示した3行3列の2次元アフィン変換行列が導出される。よって、長方形ABCDを平行四辺形EFGHに変形させる写像は図9(b)で示した行列と図9(c)で示した行列との積として求められる。
【0017】
次に、2次元グラフィックス描画部209は、ステップ307で算出された2次元アフィン変換行列をもとに、2次元グラフィックスを描画する(ステップ308)。その結果、図10に示したような描画結果が得られる。以上で描画処理装置は図3に示した処理を終了する。
なお、ステップ306において、近似平行四辺形を算出する方法を説明したが、算出方法は他の方法であってもよい。例えば、平行四辺形算出部207は、図11のように四角形A'B'C'D'の各内角のうち、最も大きな角を持つ頂点を通らない辺が一致するような平行四辺形EFGHを近似平行四辺形としてもよい。図11の例では、四角形A'B'C'D'の内角で最も大きいのはB'であるので、辺D'A'と辺C'D'を2辺とするような平行四辺形EFGHが得られる。
【0018】
<実施形態2>
実施形態2について説明する。
ハードウェア構成は実施形態1で説明したものと同じであるので、説明を省略する。
以下、本実施形態の処理の流れについて、図12〜図18を用いて説明する。
図12は、実施形態2の描画処理装置の機能構成の一例を示す図である。図13は、実施形態2の描画処理装置における処理の一例を示すフローチャートである。図14は、2次元グラフィックス描画処理命令の一例を示す図である。図15は、ステップ1310の処理の詳細を示したフローチャートである。図16は、ステップ1504の処理の一例を説明するための図である。図17は、実施形態2の描画結果の一例を示す図である。図18は、ステップ1306及びステップ1307の処理の一例を説明するための図である。
まず、3次元仮想空間配置情報受信部1203は、3次元仮想空間への配置情報を、他の装置等より受信する(ステップ1301)。ここでは3次元仮想空間はXYZ直交座標系で表現されているものとし、3次元仮想空間配置情報は3次元アフィン変換行列で表現されているものとする。3次元アフィン変換は、一般形として3行4列の行列で表現される。ここで入力される3次元仮想空間配置情報は、図4に示したものと同じ3行4列の行列であるとする。
【0019】
次に、投影条件受信部1204は、投影条件を他の装置等より受信する(ステップ1302)。投影条件は、視点の座標と投影面の情報、及び投影方法から構成される。ここでは、視点の座標を(0,0,−ze)(但しze>0)、投影面の情報をXY平面とし、投影方法は一点透視投影であるとする。
次に、2次元グラフィックス描画処理命令受信部1202は、2次元グラフィックス描画処理命令を他の装置等より受信する(ステップ1303)。次に描画処理判定部1205は、2次元グラフィックスで描画するか、3次元グラフィックスとして描画するかを判定する(ステップ1304)。描画処理判定部1205は、2次元グラフィックス描画処理命令が、テキスト描画処理命令であれば2次元グラフィックスでの描画を行うと判定し、それ以外の場合は、3次元グラフィックスで描画を行うと判定する。
ここで、入力される2次元グラフィックス描画処理命令について図14の例を用いて説明する。図14(a)は、2次元グラフィックス処理命令について説明するための模式図である。描画処理装置は、図形描画処理命令1401に基づき処理を実行した後、テキスト描画処理命令1402に基づき処理を実行する。図14(b)は、図形描画処理命令1401とテキスト描画処理命令1402とを同じXY平面に描画したときに得られる描画結果である。
【0020】
ここでまず、図形描画処理命令1401について、処理の流れを説明する。図形描画処理命令1401の場合、ステップ1304においてテキスト描画処理命令ではないと判定されるので、3次元グラフィックス描画処理部1211は、3次元グラフィックスとして描画する(ステップ1310)。ステップ1310の処理について、更に詳しく図15のフローチャートを用いて説明する。
まず3次元グラフィックス描画処理部1211は、図形描画処理命令1401に含まれる2次元グラフィックスのバウンディングボックスの大きさを取得する(ステップ1501)。取得したバウンディングボックスの幅s、高さtである。次に、3次元グラフィックス描画処理部1211は、RAM104上に幅s、高さtの大きさの矩形のピクセルデータが格納できるメモリ領域を確保する(ステップ1502)。
【0021】
次に、3次元グラフィックス描画処理部1211は、確保したメモリ領域に、図形描画処理命令1401の描画結果を出力する(ステップ1503)。ここでの処理は所謂ラスタライズ処理と呼ばれ、3次元グラフィックス描画処理部1211は、ベクトル形式で表現されていた描画処理命令をラスタ画像形式のデータに変換する。次に、3次元グラフィックス描画処理部1211は、格納されているラスタ画像形式のデータを用いて、3次元仮想空間配置情報と投影条件とに基づき、3次元アフィン変換行列を算出する(ステップ1504)。図16(a)は投影条件を、図16(b)は3次元仮想空間配置情報を、それぞれ4行4列の行列で表現したものである。図形描画処理命令1401に関する変換行列Tは図16(c)のように表わされる。
続いて、3次元グラフィックス描画処理部1211は、ラスタ画像形式のデータを、3次元アフィン変換行列に基づいて投影、描画を行う(ステップ1505)。ここでは、画像補間計算アルゴリズムは特に限定しない。ニアレストネイバー法でもよいし、バイリニア法であってもよい。図17(a)は、図形描画処理命令1401の描画処理を終えた段階での描画結果を表わしたものである。
【0022】
次に、テキスト描画処理命令1402について説明する。ステップ1303の処理に戻り、2次元グラフィックス描画処理命令受信部1202は、テキスト描画処理命令1402を受信する。描画処理判定部1205は、受信されたテキスト描画処理命令1402に応じて、2次元で描画するかどうかを判定する(ステップ1304)。先に説明したように、テキスト描画処理命令の場合、描画処理判定部1205において2次元グラフィックスで描画すると判定される。続いて、2次元グラフィックスバウンディングボックス算出部1206は、2次元グラフィックスのバウンディングボックスを計算する(ステップ1305)。ここで取得されるバウンディングボックスは図14(b)における長方形ABCDであるものとする。
次に、バウンディングボックス投影処理部1207は、算出されたバウンディングボックスが3次元仮想空間配置情報と投影条件とによって投影されるときの、バウンディングボックスの4頂点の投影先を計算(座標算出)する(ステップ1306)。ステップ1306における詳しい処理の説明は、実施形態1における図7を用いたステップ305の説明と同じなので、ここでは説明を省略する。
【0023】
ステップ1306において計算して得られたバウンディングボックスの4頂点A,B,C,Dの投影先をそれぞれA',B',C',D'とする。投影先の点A',B',C',D'を図示したのが図18(a)である。次に、平行四辺形算出部1208は、投影先の4点を囲む四角形に近似した平行四辺形を求める(ステップ1307)。ここで、平行四辺形の導出方法について図18(b)を用いて説明する。図18(b)において、平行四辺形算出部1208は、四角形A'B'C'D'の各辺の中点R,S,T,Uを求める。次に、平行四辺形算出部1208は、線分RT、線分SUに平行な直線のうち、辺B'C'と辺C'D'の何れかの辺と交点を持つ直線を点A'から引く。引かれた直線は図18(b)における点線1801である。平行四辺形算出部1208は、他の頂点についても同様に直線を引き、点線1802、点線1803、点線1804が加わる。平行四辺形算出部1208は、これら4本の点線の各交点E、F、G、Hを求めることにより、四角形A'B'C'D'に内包される平行四辺形EFGHを導出することができる。
次に、2次元変形情報取得部1209は、平行四辺形EFGHから、2次元変形情報として2次元アフィン変換行列を算出する(ステップ1308)。ここでの計算方法は実施形態1のステップ307で図9を用いた説明と同じであるので、説明を省略する。次に、2次元グラフィックス描画部1210は、取得された2次元アフィン変換行列を用いて、テキスト描画処理命令1402を実行する(ステップ1309)。2次元グラフィックス描画部1210が、テキスト描画処理命令1402による描画結果と、図形描画処理命令1401による描画結果と、を合成すると、図17(b)のような最終の描画結果が得られる。
【0024】
本実施形態のステップ1304において、2次元グラフィックスで描画するか否かを、2次元グラフィックス描画処理命令がテキスト描画処理命令であるかどうかを判断基準にすると説明したが、他の判断基準を用いるようにしてもよい。例えば、描画処理判定部1205は、2次元グラフィックス描画処理命令の、全体に対して占める割合が指定された閾値より下回るときに、出力結果に対する影響が軽微であると判断し、2次元グラフィックスによる処理を行うように判断してもよい。或いは、描画処理判定部1205は、アニメーション処理で、2次元グラフィックス処理命令を繰り返し実行するにあたり、1フレームあたりの描画時間が閾値を超えると予測された場合に、2次元グラフィックスによる処理を行うよう判断してもよい。
【0025】
<その他の実施形態>
また、上述した実施形態の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(又は記録媒体)を、システム或いは装置に供給する。そして、そのシステム或いは装置の中央演算処理手段(CPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、プログラムコードを記録した記憶媒体は上述した実施形態を構成することになる。
【0026】
また、システム或いは装置の中央演算処理手段が読み出したプログラムコードを実行することにより、プログラムコードの指示に基づき、システム或いは装置上で稼働しているオペレーティングシステム(OS)等が実際の処理の一部又は全部を行う。この処理によって上述した実施形態の機能が実現される場合も実施形態の構成に含まれる。
【0027】
更に、記憶媒体から読み出されたプログラムコードが、システム或いは装置に挿入された機能拡張カードや、接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、プログラムコードの指示に基づき、機能拡張カードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、この処理によって上述した実施形態の機能が実現される場合も実施形態の構成に含まれる。
【0028】
上述した実施形態を記憶媒体に適用する場合、記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【0029】
以上、上述した各実施形態によれば、メモリ容量の限られた機器において、高速に2次元グラフィックスを3次元仮想空間に配置して投影、描画することができる。
【0030】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0031】
102 CPU
【技術分野】
【0001】
本発明は、描画処理装置及び描画処理方法に関する。
【背景技術】
【0002】
従来、2次元グラフィックスを3次元仮想空間に配置して投影、描画するものとしては、2次元グラフィックスを一度描画してビットマップを取得し、それを3次元仮想空間に配置して描画することが一般的であった。また、一度ビットマップに変換するのではなく、2次元グラフィックスの形状情報をポリゴンに変換し、3次元グラフィックスとして描画する提案もされている(例えば特許文献1)。更に3次元グラフィックスのレンダリングを行わず2次元グラフィックスを代わりに描画することでパフォーマンスを向上させる提案がされている(例えば特許文献2)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−260008号公報
【特許文献2】特開平8−263690号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の一般的な方法では、2次元グラフィックスが内包される大きさのビットマップを格納できるメモリを確保する必要があり、搭載メモリの小さい機器では処理を実現するのが困難であった。また、2次元グラフィックスをポリゴンに変換する方法によれば、複雑な2次元グラフィックスをポリゴンに変換する処理の負荷が高くなる可能性がある。また、2次元グラフィックスを保持する方法によれば、高速に処理できる反面、メモリ使用量が増大する恐れがある。
【0005】
本発明はこのような問題点に鑑みなされたもので、メモリ容量の限られた機器において、高速に2次元グラフィックスを3次元仮想空間に配置して投影、描画することを目的とする。
【課題を解決するための手段】
【0006】
そこで、本発明の描画処理装置は、2次元グラフィックスの3次元仮想空間における配置情報と、投影条件と、に基づいて、2次元グラフィックスのバウンディングボックスの4頂点が投影される座標を算出する座標算出手段と、前記座標算出手段で算出された4頂点によって構成される四角形に近似した平行四辺形を算出する平行四辺形算出手段と、前記平行四辺形算出手段で算出された平行四辺形の4頂点に基づいて2次元変形情報を計算する計算手段と、前記計算手段で計算された2次元変形情報に基づいて、前記2次元グラフィックスの形状を変形して描画する描画手段と、を有する。
【発明の効果】
【0007】
本発明によれば、メモリ容量の限られた機器において、高速に2次元グラフィックスを3次元仮想空間に配置して投影、描画することができる。
【図面の簡単な説明】
【0008】
【図1】描画処理装置のハードウェア構成の一例を示す図である。
【図2】実施形態1の描画処理装置の機能構成の一例を示す図である。
【図3】実施形態1の描画処理装置における処理の一例を示すフローチャートである。
【図4】3次元仮想空間配置情報の一例を示す図である。
【図5】2次元グラフィックス描画処理命令を説明するための図である。
【図6】ステップ305の処理の一例を説明するための図(その1)である。
【図7】ステップ305の処理の一例を説明するための図(その2)である。
【図8】ステップ305及びステップ306の処理の一例を説明するための図である。
【図9】ステップ307の処理の一例を説明するための図である。
【図10】実施形態1の描画結果の一例を示す図である。
【図11】ステップ306の処理の他の例を説明するための図である。
【図12】実施形態2の描画処理装置の機能構成の一例を示す図である。
【図13】実施形態2の描画処理装置における処理の一例を示すフローチャートである。
【図14】2次元グラフィックス描画処理命令の一例を示す図である。
【図15】ステップ1310の処理の詳細を示したフローチャートである。
【図16】ステップ1504の処理の一例を説明するための図である。
【図17】実施形態2の描画結果の一例を示す図である。
【図18】ステップ1306及びステップ1307の処理の一例を説明するための図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について図面に基づいて説明する。
【0010】
<実施形態1>
実施形態1について説明する。
図1は、描画処理装置(コンピュータ)のハードウェア構成の一例を示す図である。図1において、CPU102は、描画処理装置が装備している各機能を実行、制御する。ROM103は、変更を必要としないプログラムや各種パラメータを格納する。RAM104は、SDRAM、DRAM等によって構成され、外部装置等から供給されるプログラムやデータを一時記憶する。描画ユニット105は、プログラムに基づきCPU102が描画したグラフィックスを出力する。バス101は、システムバスであって、CPU102、ROM103、RAM104及び描画ユニット105を接続する。
【0011】
以下、本実施形態の処理の流れについて、図2〜図11を用いて説明する。
図2は、実施形態1の描画処理装置の機能構成の一例を示す図である。図3は、実施形態1の描画処理装置における処理の一例を示すフローチャートである。図4は、3次元仮想空間配置情報の一例を示す図である。図5は、2次元グラフィックス描画処理命令を説明するための図である。図6は、ステップ305の処理の一例を説明するための図(その1)である。図7は、ステップ305の処理の一例を説明するための図(その2)である。図8は、ステップ305及びステップ306の処理の一例を説明するための図である。図9は、ステップ307の処理の一例を説明するための図である。図10は、実施形態1の描画結果の一例を示す図である。図11は、ステップ306の処理の他の例を説明するための図である。
まず、3次元仮想空間配置情報受信部203は、3次元仮想空間への配置情報(3次元仮想空間配置情報)を、他の装置等より受信する(ステップ301)。ここでは3次元仮想空間はXYZ直交座標系で表現されているものとし、3次元仮想空間配置情報は3次元アフィン変換行列で表現されているものとする。3次元アフィン変換は、一般形として3行4列の行列で表現され、ここで入力される3次元仮想空間配置情報を図4に示した3行4列の行列であるとする。
【0012】
次に、投影条件受信部204は、投影条件を他の装置等より受信する(ステップ302)。投影条件は、視点の座標と投影面の情報、及び投影方法から構成される。ここでは、視点の座標を(0,0,−ze)(但しze>0)、投影面の情報をXY平面とし、投影方法は一点透視投影であるとする。
次に、2次元グラフィックス描画処理命令受信部202は、2次元グラフィックス描画処理命令を他の装置等より受信する(ステップ303)。2次元グラフィックス描画処理命令は、図5(a)に示したようなAOBCDで囲まれた多角形501(斜線部)を描画処理するための命令であるとする。続いて、2次元グラフィックスバウンディングボックス算出部205は、受信された2次元グラフィックス描画処理命令に基づいて、2次元グラフィックスのバウンディングボックスを計算する(ステップ304)。ここで、バウンディングボックスとは、2次元グラフィックスを内包する、XY軸に平行な辺を持つ最小の長方形であるとする。図5(a)の多角形のバウンディングボックスは、図5(b)に示されている長方形502(点線部)である。
【0013】
次に、バウンディングボックス投影処理部206は、算出されたバウンディングボックスが3次元仮想空間配置情報と投影条件とによって投影されるときの、バウンディングボックスの4頂点の投影先を計算(座標算出)する(ステップ305)。ここで、ステップ305の処理について図6の模式図を用いて更に詳しく説明する。まず、視点をEとすると、Eの座標は(0,0,−ze)(但しze>0)である。任意の点P(x,y,z)があり、これを投影条件にしたがってXY平面に投影すると、点Pの投影先は直線PEとXY平面との交点Qとなる。交点Qの座標は(x*d/(z+ze),y*d/(z+ze),0)として求まる。点Pから点Qへの写像は、図7(a)のような4行4列の同次変換行列で表現することができる。また、3次元仮想空間配置情報を表現する3行4列の行列も、同次変換行列で表現することが可能であり、図7(b)のような4行4列の行列で表現できる。また、XYZ直交座標系における任意の点A(x,y,z)も同次座標系では図7(c)のように4次元の座標で表現される。
【0014】
バウンディングボックス投影処理部206は、任意の点Aが3次元仮想空間配置情報と投影条件とにより投影される投影先を3次元アフィン変換行列と投影条件とから導かれる透視投影行列の積を計算し、その行列で点Aを写像させることで求めることができる。式で表現すると、図7(d)のようになる。なお、バウンディングボックスの4頂点は、何れもZ座標が0である。よって、バウンディングボックス投影処理部206は、図7(d)で示された式に、図5(b)で示したバウンディングボックスの4頂点A(−s,t,0),B(−s,−t,0),C(s,−t,0),D(s,t,0)を与える。このことによって投影先の4点を取得することができる。
ステップ305において計算されて得られたバウンディングボックスの4頂点A,B,C,Dの投影先をそれぞれA',B',C',D'とする。投影先の点A',B',C',D'を図示したのが図8(a)である。
【0015】
次に、平行四辺形算出部207は、投影先の4点を囲む四角形に近似した平行四辺形を求める(ステップ306)。ここで、平行四辺形の導出方法について説明する。まず、平行四辺形算出部207は、線分A'B'の中点R、線分B'C'の中点S、線分C'D'の中点T、線分D'A'の中点Uをそれぞれ求める。次に、平行四辺形算出部207は、点R、点S、点T、点Uを4辺の中点となるような平行四辺形EFGHを求める。平行四辺形算出部207は、平行四辺形EFGHを、辺EFと辺GHが線分SUと平行になるように、辺FGと辺HEが線分RTと平行になるように求めればよい。
【0016】
次に、2次元変形情報取得部208は、ステップ306で求められた平行四辺形から2次元変形情報を求める(ステップ307)。図9(a)の平行四辺形EFGHにおいて、点Fの座標を(p,q)とする。また、ベクトルFEを(αe,βe)、ベクトルFGを(αg,βg)とする。ここで、長さが1の正方形E'F'G'H'が、点F'が原点と一致し、G'がX軸上に配置されたとし、正方形E'F'G'H'の平行四辺形EFGHへの写像を求める。写像を2次元アフィン変換の同次座標系で表現して求まるのが、図9(b)に示した3行3列の行列である。次に、図5(b)で示した2次元グラフィックスのバウンディングボックスの形状である長方形ABCDを図9(a)におけるE'F'G'H'に変形させる写像を計算すると、図9(c)に示した3行3列の2次元アフィン変換行列が導出される。よって、長方形ABCDを平行四辺形EFGHに変形させる写像は図9(b)で示した行列と図9(c)で示した行列との積として求められる。
【0017】
次に、2次元グラフィックス描画部209は、ステップ307で算出された2次元アフィン変換行列をもとに、2次元グラフィックスを描画する(ステップ308)。その結果、図10に示したような描画結果が得られる。以上で描画処理装置は図3に示した処理を終了する。
なお、ステップ306において、近似平行四辺形を算出する方法を説明したが、算出方法は他の方法であってもよい。例えば、平行四辺形算出部207は、図11のように四角形A'B'C'D'の各内角のうち、最も大きな角を持つ頂点を通らない辺が一致するような平行四辺形EFGHを近似平行四辺形としてもよい。図11の例では、四角形A'B'C'D'の内角で最も大きいのはB'であるので、辺D'A'と辺C'D'を2辺とするような平行四辺形EFGHが得られる。
【0018】
<実施形態2>
実施形態2について説明する。
ハードウェア構成は実施形態1で説明したものと同じであるので、説明を省略する。
以下、本実施形態の処理の流れについて、図12〜図18を用いて説明する。
図12は、実施形態2の描画処理装置の機能構成の一例を示す図である。図13は、実施形態2の描画処理装置における処理の一例を示すフローチャートである。図14は、2次元グラフィックス描画処理命令の一例を示す図である。図15は、ステップ1310の処理の詳細を示したフローチャートである。図16は、ステップ1504の処理の一例を説明するための図である。図17は、実施形態2の描画結果の一例を示す図である。図18は、ステップ1306及びステップ1307の処理の一例を説明するための図である。
まず、3次元仮想空間配置情報受信部1203は、3次元仮想空間への配置情報を、他の装置等より受信する(ステップ1301)。ここでは3次元仮想空間はXYZ直交座標系で表現されているものとし、3次元仮想空間配置情報は3次元アフィン変換行列で表現されているものとする。3次元アフィン変換は、一般形として3行4列の行列で表現される。ここで入力される3次元仮想空間配置情報は、図4に示したものと同じ3行4列の行列であるとする。
【0019】
次に、投影条件受信部1204は、投影条件を他の装置等より受信する(ステップ1302)。投影条件は、視点の座標と投影面の情報、及び投影方法から構成される。ここでは、視点の座標を(0,0,−ze)(但しze>0)、投影面の情報をXY平面とし、投影方法は一点透視投影であるとする。
次に、2次元グラフィックス描画処理命令受信部1202は、2次元グラフィックス描画処理命令を他の装置等より受信する(ステップ1303)。次に描画処理判定部1205は、2次元グラフィックスで描画するか、3次元グラフィックスとして描画するかを判定する(ステップ1304)。描画処理判定部1205は、2次元グラフィックス描画処理命令が、テキスト描画処理命令であれば2次元グラフィックスでの描画を行うと判定し、それ以外の場合は、3次元グラフィックスで描画を行うと判定する。
ここで、入力される2次元グラフィックス描画処理命令について図14の例を用いて説明する。図14(a)は、2次元グラフィックス処理命令について説明するための模式図である。描画処理装置は、図形描画処理命令1401に基づき処理を実行した後、テキスト描画処理命令1402に基づき処理を実行する。図14(b)は、図形描画処理命令1401とテキスト描画処理命令1402とを同じXY平面に描画したときに得られる描画結果である。
【0020】
ここでまず、図形描画処理命令1401について、処理の流れを説明する。図形描画処理命令1401の場合、ステップ1304においてテキスト描画処理命令ではないと判定されるので、3次元グラフィックス描画処理部1211は、3次元グラフィックスとして描画する(ステップ1310)。ステップ1310の処理について、更に詳しく図15のフローチャートを用いて説明する。
まず3次元グラフィックス描画処理部1211は、図形描画処理命令1401に含まれる2次元グラフィックスのバウンディングボックスの大きさを取得する(ステップ1501)。取得したバウンディングボックスの幅s、高さtである。次に、3次元グラフィックス描画処理部1211は、RAM104上に幅s、高さtの大きさの矩形のピクセルデータが格納できるメモリ領域を確保する(ステップ1502)。
【0021】
次に、3次元グラフィックス描画処理部1211は、確保したメモリ領域に、図形描画処理命令1401の描画結果を出力する(ステップ1503)。ここでの処理は所謂ラスタライズ処理と呼ばれ、3次元グラフィックス描画処理部1211は、ベクトル形式で表現されていた描画処理命令をラスタ画像形式のデータに変換する。次に、3次元グラフィックス描画処理部1211は、格納されているラスタ画像形式のデータを用いて、3次元仮想空間配置情報と投影条件とに基づき、3次元アフィン変換行列を算出する(ステップ1504)。図16(a)は投影条件を、図16(b)は3次元仮想空間配置情報を、それぞれ4行4列の行列で表現したものである。図形描画処理命令1401に関する変換行列Tは図16(c)のように表わされる。
続いて、3次元グラフィックス描画処理部1211は、ラスタ画像形式のデータを、3次元アフィン変換行列に基づいて投影、描画を行う(ステップ1505)。ここでは、画像補間計算アルゴリズムは特に限定しない。ニアレストネイバー法でもよいし、バイリニア法であってもよい。図17(a)は、図形描画処理命令1401の描画処理を終えた段階での描画結果を表わしたものである。
【0022】
次に、テキスト描画処理命令1402について説明する。ステップ1303の処理に戻り、2次元グラフィックス描画処理命令受信部1202は、テキスト描画処理命令1402を受信する。描画処理判定部1205は、受信されたテキスト描画処理命令1402に応じて、2次元で描画するかどうかを判定する(ステップ1304)。先に説明したように、テキスト描画処理命令の場合、描画処理判定部1205において2次元グラフィックスで描画すると判定される。続いて、2次元グラフィックスバウンディングボックス算出部1206は、2次元グラフィックスのバウンディングボックスを計算する(ステップ1305)。ここで取得されるバウンディングボックスは図14(b)における長方形ABCDであるものとする。
次に、バウンディングボックス投影処理部1207は、算出されたバウンディングボックスが3次元仮想空間配置情報と投影条件とによって投影されるときの、バウンディングボックスの4頂点の投影先を計算(座標算出)する(ステップ1306)。ステップ1306における詳しい処理の説明は、実施形態1における図7を用いたステップ305の説明と同じなので、ここでは説明を省略する。
【0023】
ステップ1306において計算して得られたバウンディングボックスの4頂点A,B,C,Dの投影先をそれぞれA',B',C',D'とする。投影先の点A',B',C',D'を図示したのが図18(a)である。次に、平行四辺形算出部1208は、投影先の4点を囲む四角形に近似した平行四辺形を求める(ステップ1307)。ここで、平行四辺形の導出方法について図18(b)を用いて説明する。図18(b)において、平行四辺形算出部1208は、四角形A'B'C'D'の各辺の中点R,S,T,Uを求める。次に、平行四辺形算出部1208は、線分RT、線分SUに平行な直線のうち、辺B'C'と辺C'D'の何れかの辺と交点を持つ直線を点A'から引く。引かれた直線は図18(b)における点線1801である。平行四辺形算出部1208は、他の頂点についても同様に直線を引き、点線1802、点線1803、点線1804が加わる。平行四辺形算出部1208は、これら4本の点線の各交点E、F、G、Hを求めることにより、四角形A'B'C'D'に内包される平行四辺形EFGHを導出することができる。
次に、2次元変形情報取得部1209は、平行四辺形EFGHから、2次元変形情報として2次元アフィン変換行列を算出する(ステップ1308)。ここでの計算方法は実施形態1のステップ307で図9を用いた説明と同じであるので、説明を省略する。次に、2次元グラフィックス描画部1210は、取得された2次元アフィン変換行列を用いて、テキスト描画処理命令1402を実行する(ステップ1309)。2次元グラフィックス描画部1210が、テキスト描画処理命令1402による描画結果と、図形描画処理命令1401による描画結果と、を合成すると、図17(b)のような最終の描画結果が得られる。
【0024】
本実施形態のステップ1304において、2次元グラフィックスで描画するか否かを、2次元グラフィックス描画処理命令がテキスト描画処理命令であるかどうかを判断基準にすると説明したが、他の判断基準を用いるようにしてもよい。例えば、描画処理判定部1205は、2次元グラフィックス描画処理命令の、全体に対して占める割合が指定された閾値より下回るときに、出力結果に対する影響が軽微であると判断し、2次元グラフィックスによる処理を行うように判断してもよい。或いは、描画処理判定部1205は、アニメーション処理で、2次元グラフィックス処理命令を繰り返し実行するにあたり、1フレームあたりの描画時間が閾値を超えると予測された場合に、2次元グラフィックスによる処理を行うよう判断してもよい。
【0025】
<その他の実施形態>
また、上述した実施形態の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(又は記録媒体)を、システム或いは装置に供給する。そして、そのシステム或いは装置の中央演算処理手段(CPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、プログラムコードを記録した記憶媒体は上述した実施形態を構成することになる。
【0026】
また、システム或いは装置の中央演算処理手段が読み出したプログラムコードを実行することにより、プログラムコードの指示に基づき、システム或いは装置上で稼働しているオペレーティングシステム(OS)等が実際の処理の一部又は全部を行う。この処理によって上述した実施形態の機能が実現される場合も実施形態の構成に含まれる。
【0027】
更に、記憶媒体から読み出されたプログラムコードが、システム或いは装置に挿入された機能拡張カードや、接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、プログラムコードの指示に基づき、機能拡張カードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、この処理によって上述した実施形態の機能が実現される場合も実施形態の構成に含まれる。
【0028】
上述した実施形態を記憶媒体に適用する場合、記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【0029】
以上、上述した各実施形態によれば、メモリ容量の限られた機器において、高速に2次元グラフィックスを3次元仮想空間に配置して投影、描画することができる。
【0030】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0031】
102 CPU
【特許請求の範囲】
【請求項1】
2次元グラフィックスの3次元仮想空間における配置情報と、投影条件と、に基づいて、2次元グラフィックスのバウンディングボックスの4頂点が投影される座標を算出する座標算出手段と、
前記座標算出手段で算出された4頂点によって構成される四角形に近似した平行四辺形を算出する平行四辺形算出手段と、
前記平行四辺形算出手段で算出された平行四辺形の4頂点に基づいて2次元変形情報を計算する計算手段と、
前記計算手段で計算された2次元変形情報に基づいて、前記2次元グラフィックスの形状を変形して描画する描画手段と、
を有する、描画処理装置。
【請求項2】
前記投影条件を受信する投影条件受信手段を更に有する、請求項1記載の描画処理装置。
【請求項3】
前記配置情報を受信する配置情報受信手段を更に有する、請求項1又は2記載の描画処理装置。
【請求項4】
描画処理命令を受信する描画処理命令受信手段と、
前記画処理命令受信手段で受信された前記描画処理命令に基づいて、2次元グラフィックスのバウンディングボックスを算出するバウンディングボックス算出手段と、
を更に有する、請求項1乃至3の何れか1項記載の描画処理装置。
【請求項5】
前記配置情報受信手段で受信された前記配置情報は、3次元アフィン変換行列で表され、
前記座標算出手段は、前記3次元アフィン変換行列と、投影条件と、に基づいて、2次元グラフィックスのバウンディングボックスの4頂点が投影される座標を算出する、請求項3記載の描画処理装置。
【請求項6】
前記計算手段は、前記平行四辺形算出手段で算出された平行四辺形の4頂点に基づいて、2次元アフィン変換行列で表される2次元変形情報を計算する、請求項1乃至5何れか1項記載の描画処理装置。
【請求項7】
前記平行四辺形算出手段は、前記座標算出手段で算出された4頂点によって構成される四角形の各辺の中点を通る平行四辺形を算出する、請求項1乃至6の何れか1項記載の描画処理装置。
【請求項8】
前記平行四辺形算出手段は、前記座標算出手段で算出された4頂点によって構成される四角形に内包される平行四辺形を算出する、請求項1乃至6の何れか1項記載の描画処理装置。
【請求項9】
前記描画処理命令受信手段で受信された前記描画処理命令に応じて、2次元グラフィックスで描画するか、又は3次元グラフィックスで描画するかを判定する判定手段を更に有し、
前記バウンディングボックス算出手段は、前記判定手段において2次元グラフィックスで描画すると判定された場合、前記画処理命令受信手段で受信された前記描画処理命令に基づいて、2次元グラフィックスのバウンディングボックスを算出する、請求項4記載の描画処理装置。
【請求項10】
2次元グラフィックスの3次元仮想空間における配置情報と、投影条件と、に基づいて、2次元グラフィックスのバウンディングボックスの4頂点が投影される座標を算出する座標算出ステップと、
前記座標算出ステップで算出された4頂点によって構成される四角形に近似した平行四辺形を算出する平行四辺形算出ステップと、
前記平行四辺形算出ステップで算出された平行四辺形の4頂点に基づいて2次元変形情報を計算する計算ステップと、
前記計算ステップで計算された2次元変形情報に基づいて、前記2次元グラフィックスの形状を変形して描画する描画ステップと、
を含む、コンピュータにおける描画処理方法。
【請求項11】
コンピュータを、
2次元グラフィックスの3次元仮想空間における配置情報と、投影条件と、に基づいて、2次元グラフィックスのバウンディングボックスの4頂点が投影される座標を算出する座標算出手段と、
前記座標算出手段で算出された4頂点によって構成される四角形に近似した平行四辺形を算出する平行四辺形算出手段と、
前記平行四辺形算出手段で算出された平行四辺形の4頂点に基づいて2次元変形情報を計算する計算手段と、
前記計算手段で計算された2次元変形情報に基づいて、前記2次元グラフィックスの形状を変形して描画する描画手段と、
して機能させる、プログラム。
【請求項12】
請求項11記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【請求項1】
2次元グラフィックスの3次元仮想空間における配置情報と、投影条件と、に基づいて、2次元グラフィックスのバウンディングボックスの4頂点が投影される座標を算出する座標算出手段と、
前記座標算出手段で算出された4頂点によって構成される四角形に近似した平行四辺形を算出する平行四辺形算出手段と、
前記平行四辺形算出手段で算出された平行四辺形の4頂点に基づいて2次元変形情報を計算する計算手段と、
前記計算手段で計算された2次元変形情報に基づいて、前記2次元グラフィックスの形状を変形して描画する描画手段と、
を有する、描画処理装置。
【請求項2】
前記投影条件を受信する投影条件受信手段を更に有する、請求項1記載の描画処理装置。
【請求項3】
前記配置情報を受信する配置情報受信手段を更に有する、請求項1又は2記載の描画処理装置。
【請求項4】
描画処理命令を受信する描画処理命令受信手段と、
前記画処理命令受信手段で受信された前記描画処理命令に基づいて、2次元グラフィックスのバウンディングボックスを算出するバウンディングボックス算出手段と、
を更に有する、請求項1乃至3の何れか1項記載の描画処理装置。
【請求項5】
前記配置情報受信手段で受信された前記配置情報は、3次元アフィン変換行列で表され、
前記座標算出手段は、前記3次元アフィン変換行列と、投影条件と、に基づいて、2次元グラフィックスのバウンディングボックスの4頂点が投影される座標を算出する、請求項3記載の描画処理装置。
【請求項6】
前記計算手段は、前記平行四辺形算出手段で算出された平行四辺形の4頂点に基づいて、2次元アフィン変換行列で表される2次元変形情報を計算する、請求項1乃至5何れか1項記載の描画処理装置。
【請求項7】
前記平行四辺形算出手段は、前記座標算出手段で算出された4頂点によって構成される四角形の各辺の中点を通る平行四辺形を算出する、請求項1乃至6の何れか1項記載の描画処理装置。
【請求項8】
前記平行四辺形算出手段は、前記座標算出手段で算出された4頂点によって構成される四角形に内包される平行四辺形を算出する、請求項1乃至6の何れか1項記載の描画処理装置。
【請求項9】
前記描画処理命令受信手段で受信された前記描画処理命令に応じて、2次元グラフィックスで描画するか、又は3次元グラフィックスで描画するかを判定する判定手段を更に有し、
前記バウンディングボックス算出手段は、前記判定手段において2次元グラフィックスで描画すると判定された場合、前記画処理命令受信手段で受信された前記描画処理命令に基づいて、2次元グラフィックスのバウンディングボックスを算出する、請求項4記載の描画処理装置。
【請求項10】
2次元グラフィックスの3次元仮想空間における配置情報と、投影条件と、に基づいて、2次元グラフィックスのバウンディングボックスの4頂点が投影される座標を算出する座標算出ステップと、
前記座標算出ステップで算出された4頂点によって構成される四角形に近似した平行四辺形を算出する平行四辺形算出ステップと、
前記平行四辺形算出ステップで算出された平行四辺形の4頂点に基づいて2次元変形情報を計算する計算ステップと、
前記計算ステップで計算された2次元変形情報に基づいて、前記2次元グラフィックスの形状を変形して描画する描画ステップと、
を含む、コンピュータにおける描画処理方法。
【請求項11】
コンピュータを、
2次元グラフィックスの3次元仮想空間における配置情報と、投影条件と、に基づいて、2次元グラフィックスのバウンディングボックスの4頂点が投影される座標を算出する座標算出手段と、
前記座標算出手段で算出された4頂点によって構成される四角形に近似した平行四辺形を算出する平行四辺形算出手段と、
前記平行四辺形算出手段で算出された平行四辺形の4頂点に基づいて2次元変形情報を計算する計算手段と、
前記計算手段で計算された2次元変形情報に基づいて、前記2次元グラフィックスの形状を変形して描画する描画手段と、
して機能させる、プログラム。
【請求項12】
請求項11記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2010−286896(P2010−286896A)
【公開日】平成22年12月24日(2010.12.24)
【国際特許分類】
【出願番号】特願2009−138324(P2009−138324)
【出願日】平成21年6月9日(2009.6.9)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成22年12月24日(2010.12.24)
【国際特許分類】
【出願日】平成21年6月9日(2009.6.9)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]