(57)【要約】【課題】  ２次元パラメトリック曲線を含んだ図形を３次元変形して描画する際のメモリの使用量と計算負荷とを抑制する。【解決手段】  ２次元パラメトリック曲線（２次ベジェ曲線４０２）の端点Ｐ、Ｒ、特徴点Ｍの座標を、当該２次元パラメトリック曲線に対する３次元変形情報に基づいて写像変換する。そして、写像変換した点Ｐ´、Ｒ´、Ｍ´の座標に基づいて、点Ｍ´を通り、且つ、点Ｐ´、Ｒ´を端点とする２次元パラメトリック曲線の制御点Ｑ´を求める。そして、端点Ｐ´、Ｒ´と制御点Ｑ´とで構成される２次元パラメトリック曲線（２次ベジェ曲線５０１）を求めて描画する。【選択図】  図２
2012098951.tif 000002
【特許請求の範囲】
【請求項１】
２次元パラメトリック曲線を含んだ図形を３次元変形して描画する図形描画処理装置であって、
前記２次元パラメトリック曲線の点に対して３次元変形に対応する写像を行うための行列の情報である３次元変形情報を取得する３次元変形情報取得手段と、
前記２次元パラメトリック曲線の第１の端点の情報と第１の制御点の情報とから、前記２次元パラメトリック曲線の第１の特徴点を抽出する特徴点抽出手段と、
前記第１の端点を前記３次元変形情報に従って写像し、第２の端点の座標を求める端点写像手段と、
前記第１の特徴点を前記３次元変形情報に従って写像し、第２の特徴点の座標を計算する特徴点写像手段と、
前記第２の端点と前記第２の特徴点とを通る２次元パラメトリック曲線の第２の制御点を求める制御点計算手段と、
前記第２の端点と前記第２の制御点とに基づいて構成される２次元パラメトリック曲線を描画する描画手段と、を有することを特徴とする図形描画処理装置。
【請求項２】
前記特徴点抽出手段は、前記２次元パラメトリック曲線の曲率が最大となる点を前記特徴点として求めることを特徴とする請求項１に記載の図形描画処理装置。
【請求項３】
前記特徴点抽出手段は、前記２次元パラメトリック曲線のＸ軸あるいはＹ軸方向の極値を前記特徴点として求めることを特徴とする請求項１に記載の図形描画処理装置。
【請求項４】
前記２次元パラメトリック曲線が文字を構成しているときに、当該文字の書字の方向を取得する書字方向取得手段を有し、
前記特徴点抽出手段は、前記書字の方向が横書きに対応する方向であれば、前記２次元パラメトリック曲線のＹ軸方向の極値を前記特徴点として求め、前記書字の方向が縦書きに対応する方向であれば、前記２次元パラメトリック曲線のＸ軸方向の極値を前記特徴点として求めることを特徴とする請求項１に記載の図形描画処理装置。
【請求項５】
２次元パラメトリック曲線を含んだ図形を３次元変形して描画する図形描画処理方法であって、
前記２次元パラメトリック曲線の点に対して３次元変形に対応する写像を行うための行列の情報である３次元変形情報を取得する３次元変形情報取得工程と、
前記２次元パラメトリック曲線の第１の端点の情報と第１の制御点の情報とから、前記２次元パラメトリック曲線の第１の特徴点を抽出する特徴点抽出工程と、
前記第１の端点を前記３次元変形情報に従って写像し、第２の端点の座標を求める端点写像工程と、
前記第１の特徴点を前記３次元変形情報に従って写像し、第２の特徴点の座標を計算する特徴点写像工程と、
前記第２の端点と前記第２の特徴点とを通る２次元パラメトリック曲線の第２の制御点を求める制御点計算工程と、
前記第２の端点と前記第２の制御点とに基づいて構成される２次元パラメトリック曲線を描画する描画工程と、を有することを特徴とする図形描画処理方法。
【請求項６】
前記特徴点抽出工程は、前記２次元パラメトリック曲線の曲率が最大となる点を前記特徴点として求めることを特徴とする請求項５に記載の図形描画処理方法。
【請求項７】
前記特徴点抽出工程は、前記２次元パラメトリック曲線のＸ軸あるいはＹ軸方向の極値を前記特徴点として求めることを特徴とする請求項５に記載の図形描画処理方法。
【請求項８】
前記２次元パラメトリック曲線が文字を構成しているときに、当該文字の書字の方向を取得する書字方向取得工程を有し、
前記特徴点抽出工程は、前記書字の方向が横書きに対応する方向であれば、前記２次元パラメトリック曲線のＹ軸方向の極値を前記特徴点として求め、前記書字の方向が縦書きに対応する方向であれば、前記２次元パラメトリック曲線のＸ軸方向の極値を前記特徴点として求めることを特徴とする請求項５に記載の図形描画処理方法。
【請求項９】
２次元パラメトリック曲線を含んだ図形を３次元変形して描画するための処理をコンピュータに実行させるためのコンピュータプログラムであって、
前記２次元パラメトリック曲線の点に対して３次元変形に対応する写像を行うための行列の情報である３次元変形情報を取得する３次元変形情報取得工程と、
前記２次元パラメトリック曲線の第１の端点の情報と第１の制御点の情報とから、前記２次元パラメトリック曲線の第１の特徴点を抽出する特徴点抽出工程と、
前記第１の端点を前記３次元変形情報に従って写像し、第２の端点の座標を求める端点写像工程と、
前記第１の特徴点を前記３次元変形情報に従って写像し、第２の特徴点の座標を計算する特徴点写像工程と、
前記第２の端点と前記第２の特徴点とを通る２次元パラメトリック曲線の第２の制御点を求める制御点計算工程と、
前記第２の端点と前記第２の制御点とに基づいて構成される２次元パラメトリック曲線を描画するための画像データを生成する描画工程と、をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、図形描画処理装置、図形描画処理方法、及びコンピュータプログラムに関し、特に、２次元パラメトリック曲線を含んだ図形を３次元の図形に変形して描画するために用いて好適なものである。
【背景技術】
【０００２】
２次元パラメトリック曲線を３次元変形して描画する方法として、ポリゴンを生成して３次元仮想空間内で変形し、変形したポリゴンに対して透視投影変換を行うことで描画を行うことが一般的である。ポリゴンを描画する方法は３次元グラフィックスの描画インターフェースであるＯｐｅｎＧＬ（登録商標）で提供されている機能で実現できる。また、文字の輪郭をポリゴンに変換して３次元の文字形状データを生成し、ポリゴンを描画するという提案がされている（特許文献１を参照）。
また、複雑な図形については、２次元ビットマップに一度グラフィックスを描画し、２次元ビットマップに描画したグラフィックスを３次元仮想空間内で変形して描画するという方法も知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２６０００８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、処理能力の高くない組込み機器において、２次元パラメトリック曲線を含んだ複雑な図形を３次元変形して描画するには、従来の方法では問題があった。すなわち、ポリゴンを生成して描画する方法では、図形を細かく三角形に分割し、分割した三角形の頂点の座標を保持する必要があるため、メモリの使用量が増大するという問題があった。また、グラフィックスを２次元ビットマップに一度描画して３次元変形し描画する方法でも、２次元ビットマップのメモリを確保する必要があるため、メモリの使用量が増大するという問題があった。また、一度２次元ビットマップに変換してから３次元変形を行うため、計算コストが高くなるという問題もあった。
本発明は、以上の問題点に鑑みてなされたものであり、２次元パラメトリック曲線を含んだ図形を３次元変形して描画する際のメモリの使用量と計算負荷とを抑制することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の図形描画処理装置は、２次元パラメトリック曲線を含んだ図形を３次元変形して描画する図形描画処理装置であって、前記２次元パラメトリック曲線の点に対して３次元変形に対応する写像を行うための行列の情報である３次元変形情報を取得する３次元変形情報取得手段と、前記２次元パラメトリック曲線の第１の端点の情報と第１の制御点の情報とから、前記２次元パラメトリック曲線の第１の特徴点を抽出する特徴点抽出手段と、前記第１の端点を前記３次元変形情報に従って写像し、第２の端点の座標を求める端点写像手段と、前記第１の特徴点を前記３次元変形情報に従って写像し、第２の特徴点の座標を計算する特徴点写像手段と、前記第２の端点と前記第２の特徴点とを通る２次元パラメトリック曲線の第２の制御点を求める制御点計算手段と、前記第２の端点と前記第２の制御点とに基づいて構成される２次元パラメトリック曲線を描画する描画手段と、を有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、３次元変形処理がかかった２次パラメトリック曲線を、別の２次パラメトリック曲線に近似して描画するので、２次元パラメトリック曲線を含んだ図形を３次元変形して描画する際のメモリの使用量と計算負荷とを抑制することができる。
【図面の簡単な説明】
【０００７】
【図１】図形描画処理装置のハードウェアの構成を示す図である。
【図２】図形描画処理装置１００の機能的な構成を示す図である。
【図３】図形描画処理装置の動作の一例を説明するフローチャートである。
【図４】２次元パラメトリック曲線（２次ベジェ曲線）を示す図である。
【図５】２次元パラメトリック曲線を３次元変形して描画した画像を示す図である。
【発明を実施するための形態】
【０００８】
以下に、図面を参照しながら、本発明の実施形態について説明する。
（第１の実施形態）
まず、第１の実施形態について説明する。
図１は、図形描画処理装置のハードウェアの構成の一例を示す図である。
図１において、ＣＰＵ１０２は、図形描画処理装置１００に装備されている各機能を実行、制御する。ＲＯＭ１０３は、変更を必要としないプログラムや各種パラメータ等を格納する。ＲＡＭ１０４は、ＳＤＲＡＭ、ＤＲＡＭ等によって構成され、外部装置等から供給されるプログラムやデータを一時的に記憶する。表示ユニット１０５は、プログラムによって描画されたグラフィックスを出力（表示）する。インターフェース１０６は、外部装置との通信を行う通信インターフェースや、ユーザが入力操作を行うユーザインターフェース等を備える。バス１０１は、システムバスであって、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４、表示ユニット１０５、インターフェース１０６を相互に接続する。
【０００９】
図２は、図形描画処理装置１００の機能的な構成の一例を示す図である。また、図３は、２次元パラメトリック曲線を含んだ図形を３次元変形して描画する際の図形描画処理装置１００の動作の一例を説明するフローチャートである。図２及び図３を参照して、図形描画処理装置１００の処理の流れの一例を説明する。尚、図２に示す機能は、例えば、ＣＰＵ１０２が、ＲＯＭ１０３に格納されているコンピュータプログラムを、ＲＡＭ１０４をワークエリアとして実行して画像データを生成し、その画像データに基づいて表示ユニット１０５に画像を表示することにより実現される。
まず、３次元変形情報取得部２０１は、描画処理の対象となる図形に対する３次元変形情報を取得する（ステップＳ３０１）。ステップＳ３０１で取得される３次元変形情報は、３×３の行列で表現される。本実施形態では、以下の（１）式に示した行列が３次元変形情報であるとする。ここで、３次元変形情報は、２次元パラメトリック曲線上の点に対して３次元変形に対応する写像を行うための行列の情報である。また、３次元変形情報は、例えば、ユーザによるインターフェース１０６の操作に基づいて予め取得される。
【００１０】
【数１】
2012098951.tif 000003
【００１１】
次に、曲線パラメータ取得部２０２は、描画処理を行う２次元パラメトリック曲線のパラメータとして、端点（第１の端点）の座標値と制御点（第１の制御点）の座標値とを取得する（ステップＳ３０２）。２次元パラメトリック曲線は、Ｘ、Ｙの座標値が媒介変数によって決定されるように表現された曲線である。この媒介変数を連続的に変化させることで２次元パラメトリック曲線を得ることができる。ここでは、２次元パラメトリック曲線が、以下の（２）式、（３）式で表される場合を例に挙げて説明する。
【００１２】
【数２】
2012098951.tif 000004
【００１３】
（２）式、（３）式に示す例では、Ｘ、Ｙ座標は、共に、次数が２のｔを媒介変数とする多項式で表現されている。媒介変数ｔを０から１まで連続的に変化させたときの点の集合は２次ベジェ曲線と呼ばれている。
図４は、２次元パラメトリック曲線（２次ベジェ曲線）の一例を示す図である。図４（ａ）は、端点Ｐ、Ｒ及び制御点Ｑの座標値が、それぞれ点Ｐ（Ｘ0，Ｙ0）、点Ｒ（Ｘ2，Ｙ2）、点Ｑ（Ｘ1，Ｙ1）である場合の２次ベジェ曲線４０１を示す。２次ベジェ曲線４０１は、（２）式、（３）式をＸＹ平面上に示すことにより得られる。図４（ａ）において、２次ベジェ曲線４０１は、点Ｐ（Ｘ0，Ｙ0）と点Ｒ（Ｘ2，Ｙ2）とを端点とし、点Ｑ（Ｘ1，Ｙ1）を制御点とするものとなっている。端点Ｐ、Ｒ及び制御点Ｑの座標値は、（２）式、（３）式における媒介変数ｔにかかる係数から一意に求まることは明らかである。ここで、本実施形態では、端点Ｐ、Ｒ及び制御点Ｑの座標値が、それぞれ点Ｐ（５０，１５０）、点Ｑ（１００，３０）、点Ｒ（１８０，１００）である場合を例に挙げて説明する。図４（ｂ）は、点Ｐ、点Ｑ、点Ｒにこれらの座標値を代入したときの２次ベジェ曲線４０２を示す。
【００１４】
次に、特徴点抽出部２０３において、２次パラメトリック曲線の特徴点（第１の特徴点）として、２次ベジェ曲線４０２の媒介変数ｔが０．５となる点Ｍを抽出する（ステップＳ３０３）。特徴点Ｍの座標は、（２）式、（３）式に、点Ｐ、点Ｑ、点Ｒのそれぞれの座標値と媒介変数ｔ（ここでは０．５）の値とを代入する。これにより、特徴点Ｍの座標値として、（１０７．５，７７．５）が得られる。
【００１５】
次に、端点写像部２０４は、ステップＳ３０１で取得された３次元変形情報をもとに、ステップＳ３０２で取得された端点Ｐ、Ｒの座標を写像変換する（ステップＳ３０４）。以下に示す（４）式は、任意の点Ｘ（ｘ，ｙ）を、（１）式に示した行列で写像変換することを表したものである。
【００１６】
【数３】
2012098951.tif 000005
【００１７】
（４）式において、点Ｘの座標を同次座標系で表現している。点Ｘの写像の像を点Ｘ´とすると、点Ｘ´の座標は、（４）式の右辺に示した式で表現される。（４）式の右辺の点Ｘ´の座標も同次座標系で表現されたものである。点Ｘ´の座標を実際の座標系に直すと、点Ｘ´の座標は、以下の（５）式で表現される。
【００１８】
【数４】
2012098951.tif 000006
【００１９】
ここで、（５）式に、端点Ｐ及び端点Ｒの座標値を代入する。写像変換による端点Ｐの像を点Ｐ´、端点Ｒの像を点Ｒ´とする。そうすると、点Ｐ´（第２の端点）の座標は（１４０，９４．３）、点Ｒ´（第２の端点）の座標は（２０６．７，７３．３）となる。
以上の端点Ｐ、Ｒの写像変換と同様に、特徴点写像部２０５は、特徴点Ｍの写像変換を行う（ステップＳ３０５）。写像による特徴点Ｍの像を点Ｍ´とすると、点Ｍ´（第２の特徴点）の座標は（１５０．１，６１．５）となる。
【００２０】
次に、制御点計算部２０６は、点Ｍ´を通り、且つ、点Ｐ´、点Ｒ´を端点とする２次元パラメトリック曲線（２次ベジェ曲線）の制御点Ｑ´を計算する（ステップＳ３０６）。ここで、点Ｑ´の計算方法の一例について詳しく説明する。点Ｐ´、点Ｒ´を端点とし、点Ｑ´を制御点としたときの２次ベジェ曲線は、以下の（６）式のように表現される。媒介変数ｔが０．５のときに点Ｍ´となるようにすると、（６）式から以下の（７）式が成立する。（７）式をＱ´について解くと、以下の（８）式が得られる。（８）式に各点Ｐ´、Ｒ´、Ｍ´の座標値を代入すると、制御点Ｑ´（第２の制御点）の座標値として（１２６．９，３９．２）が得られる。
【００２１】
【数５】
2012098951.tif 000007
【００２２】
最後に、描画処理部２０７は、ステップＳ３０４で求められた端点Ｐ´、Ｒ´と、ステップＳ３０６で求められた制御点Ｑ´とで構成される２次ベジェ曲線を描画する（ステップＳ３０７）。図５は、２次元パラメトリック曲線を３次元変形して描画された画像（２次ベジェ曲線５０１）の一例を示す図である。以上の処理によって、３次元変形処理がかかった２次ベジェ曲線４０２を、別の２次ベジェ曲線５０１に近似して描画することが可能になる。
【００２３】
以上のように本実施形態では、２次元パラメトリック曲線（２次ベジェ曲線４０２）の端点Ｐ、Ｒ、特徴点Ｍの座標を、当該２次元パラメトリック曲線に対する３次元変形情報に基づいて写像変換する。そして、写像変換した点Ｐ´、Ｒ´、Ｍ´の座標に基づいて、点Ｍ´を通り、且つ、点Ｐ´、Ｒ´を端点とする２次元パラメトリック曲線の制御点Ｑ´を求める。そして、端点Ｐ´、Ｒ´と制御点Ｑ´とで構成される２次元パラメトリック曲線（２次ベジェ曲線５０１）を求めて描画する。したがって、図形を細かく三角形に分割し、三角形の頂点の座標情報を保持する必要がなく、また、図形を２次元ビットマップに描画する必要がなくなる。よって、２次元パラメトリック曲線を含んだ図形を３次元変形して描画する際のメモリの使用量を低減することができる。また、３次元変形後の２次元パラメトリック曲線を、別の２次元パラメトリック曲線として描画するので、高速な描画処理が可能になる。
【００２４】
尚、本実施形態では、２次元パラメトリック曲線の特徴点として媒介変数ｔが０．５となる点を選択した。しかしながら、２次元パラメトリック曲線の特徴を表す点であれば、他の特徴点を用いても構わない。例えば、２次元パラメトリック曲線において、曲率が大きい部分は曲線の曲がり方が急であり、曲線に対する印象に与える影響が大きい。よって、２次元パラメトリック曲線において、曲率が最大となる点を特徴点としても構わない。また、本実施形態では、２次ベジェ曲線を例に挙げて説明したが、これ以外の例えば３次ベジェ曲線であっても構わない。３次ベジェ曲線の場合には、媒介変数の次数が３になるので、２つの特徴点を必要とする。また、制御点も２つ必要になる。
【００２５】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。本実施形態では、描画対象となる図形が、アウトラインフォントであり、文字列を描画する場合について説明する。本実施形態では、第１の実施形態で説明した処理に加えて、文字列の書字の方向を取得し、取得した結果に基づいて特徴点を決定する。このように本実施形態と第１の実施形態とは、２次元パラメトリック曲線の第１の特徴点を抽出する方法の一部が異なり、これにより、第２の制御点を求める方法の一部が異なる。したがって、本実施形態の説明において第１の実施形態と同一の部分については、図１〜図５に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００２６】
具体的に本実施形態と第１の実施形態とは、図３のステップＳ３０３とＳ３０６の処理の一部が主として異なる。本実施形態のステップＳ３０３の処理（特徴点を抽出する処理）の一例について説明する。
特徴点抽出部２０３は、第１の実施形態で説明した機能に加えて、入力された文字列の書字の方向を取得（検出）する書字方向取得処理を実行する機能を有する。特徴点抽出部２０３は、書字の方向の検出結果から、文字列が横書きであると判定された場合には、２次パラメトリック曲線（例えば２次ベジェ曲線）の特徴点としてＹ軸方向の極値となる点を選択する。ここで、Ｙ軸方向の極値とは、２次パラメトリック曲線（例えば２次ベジェ曲線）の接線がＸ軸と平行になる点である。尚、２次パラメトリック曲線（例えば２次ベジェ曲線）上にＹ軸方向の極値となる点が存在しない場合は、第１の実施形態で説明した方法でレンダリングするようにしてもよい。
【００２７】
図４（ｂ）に示した２次ベジェ曲線４０２の例では、２次ベジェ曲線４０２の媒介変数ｔが０．６３（ｔ＝０．６３）となる点がＹ座標方向の極値となる点である。ここで求まった点をＮとする。点Ｎは、ステップＳ３０５における処理で写像変換される。写像変換による点Ｎの像を点Ｎ´（第２の特徴点）とする。
次に、ステップＳ３０６における制御点Ｑ´（第２の制御点）の計算方法の一例について説明する。ここでは、点Ｎ´を通り、且つ、点Ｐ´と点Ｒ´を端点とし、更に点Ｎ´においてＹ軸方向の極値となるような２次元パラメトリック曲線（２次ベジェ曲線）を構成する制御点Ｑ´を求める場合を例に挙げて説明する。
点Ｐ´、点Ｒ´を端点とし、点Ｑ´を制御点としたときの２次ベジェ曲線は、（９）式のように表される。媒介変数ｔがＴのときに点Ｎ´となるようにすると、（９）式から以下の（１０）式が成立する。また、点Ｎ´においてＹ軸方向の極値となるようにすると、（１０）式から以下の（１１）式が成立する。ここで、Ｐｙ´は点Ｐ´のＹ座標であり、Ｑｙ´は点Ｑ´のＹ座標であり、Ｒｙ´は点Ｒ´のＹ座標である。
【００２８】
【数６】
2012098951.tif 000008
【００２９】
（１０）式、（１１）式の連立方程式を解き、媒介変数ｔが０と１との間となる値を解とすると、ｔ＝０．６１３となる。よって、点Ｑ´の座標は（１３２．５，３７．３）となる。描画処理部２０７は、以上の計算によって求まった端点Ｐ´、Ｒ´及び制御点Ｑ´によって定義される２次ベジェ曲線を描画する。
横書き文字のアウトラインフォントは一般的に高さ方向が固定の長さになっていることが多い。そのため、書字の方向が横向きの場合には、以上の本実施形態の方法で近似した２次ベジェ曲線を描画することにより、文字の高さ方向の長さを揃えることが可能である。一方、縦書き文字のフォントを描画する場合には、前述したのと同様の理由でＸ軸方向の極値となる点を特徴点とすることで、文字の幅方向の長さを揃えることができる。
【００３０】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００３１】
（その他の実施例）
本発明は、以下の処理を実行することによっても実現される。即ち、まず、以上の実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）が当該コンピュータプログラムを読み出して実行する。
【符号の説明】
【００３２】
１００  図形描画処理装置、１０２  ＣＰＵ、１０３  ＲＯＭ
【図１】
2012098951.tif 000009
【図２】
2012098951.tif 000010
【図３】
2012098951.tif 000011
【図４】
2012098951.tif 000012
【図５】
2012098951.tif 000013