(57)【特許請求の範囲】
【請求項１】
ベクタデータによるエッジを描画する描画装置が、前記エッジの角度に応じて前記エッジのカラー値を決定するために参照するカラーテーブルを生成するカラーテーブル生成部と、
前記カラーテーブル生成部により生成されたカラーテーブルを前記描画装置に出力するカラーテーブル出力部とを有し、
前記カラーテーブル生成部は、
特定の方向の光源から球体に光をあてた場合の前記球体上の位置ごとのカラー値が線形グラデーションにて定義されている円形の光源モデルから、前記エッジの角度ごとにカラー値を抽出し、前記エッジの角度ごとに、抽出したカラー値が記述されるカラーテーブルを生成するカラーテーブル生成装置。
【請求項２】
前記カラーテーブル生成部は、
前記光源モデルの中心点から、前記エッジの角度ごとに、前記エッジの法線の方向に線をのばし、
前記光源モデルの中心点から前記エッジの法線の方向にのばした線が前記光源モデルの円周と交差する点におけるカラー値を抽出し、
前記エッジの角度ごとに、抽出したカラー値が記述されるカラーテーブルを生成する請求項１に記載のカラーテーブル生成装置。
【請求項３】
前記カラーテーブル生成部は、
前記エッジに前記特定の方向から光があたっている状態を描画する描画装置が、前記エッジの角度に応じて前記エッジのカラー値を決定するために参照するカラーテーブルを生成する請求項１に記載のカラーテーブル生成装置。
【請求項４】
ベクタデータによるエッジを描画する描画装置であって、
特定の方向の光源から球体に光をあてた場合の前記球体上の位置ごとのカラー値が線形グラデーションにて定義されている円形の光源モデルから、前記エッジの角度ごとにカラー値を抽出し、前記エッジの角度ごとに、抽出したカラー値が記述されるカラーテーブルを生成するカラーテーブル生成部と、
前記カラーテーブル生成部により生成されたカラーテーブルを用いて、前記エッジの角度に応じて前記エッジのカラー値を決定し、決定したカラー値で前記エッジを描画する描画処理部とを有する描画装置。
【請求項５】
前記カラーテーブル生成部は、
前記光源モデルの中心点から、前記エッジの角度ごとに、前記エッジの法線の方向に線をのばし、
前記光源モデルの中心点から前記エッジの法線の方向にのばした線が前記光源モデルの円周と交差する点におけるカラー値を抽出し、
前記エッジの角度ごとに、抽出したカラー値が記述されるカラーテーブルを生成する請求項４に記載の描画装置。
【請求項６】
前記カラーテーブル生成部は、
前記エッジに前記特定の方向から光があたっている状態を描画する描画処理部が、前記エッジの角度に応じて前記エッジのカラー値を決定するために参照するカラーテーブルを生成する請求項４に記載の描画装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エッジを描画する技術に関する。
【背景技術】
【０００２】
特許文献１では、ＢＭＰデータで、複数のエッジを有するメータ針を描画する技術が開示されている。
特許文献１によれば、メータ針の表示角度ごとに、立体感のあるＢＭＰ画像データを用意すれば、デザイン通りのメータ針の描画が可能である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２５５６３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の方法では、メータ針の表示分解能を高めた際に多くのＢＭＰデータが必要となり、必要メモリ容量が大きくなるという課題がある。
【０００５】
本発明は、このような課題を解決することを主な目的としており、エッジの角度に応じてエッジの色合いを変化させてエッジを描画することを、少ないメモリ消費量で可能にする構成を実現することを主な目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るカラーテーブル生成装置は、
ベクタデータによるエッジを描画する描画装置が、前記エッジの角度に応じて前記エッジのカラー値を決定するために参照するカラーテーブルを生成するカラーテーブル生成部と、
前記カラーテーブル生成部により生成されたカラーテーブルを前記描画装置に出力するカラーテーブル出力部とを有し、
前記カラーテーブル生成部は、
特定の方向の光源から球体に光をあてた場合の前記球体上の位置ごとのカラー値が線形グラデーションにて定義されている円形の光源モデルから、前記エッジの角度ごとにカラー値を抽出し、前記エッジの角度ごとに、抽出したカラー値が記述されるカラーテーブルを生成する。
【発明の効果】
【０００７】
本発明では、ベクタデータを用いることでメモリ消費量を抑える。
また、特定の方向の光源から球体に光をあてた場合の球体上の位置ごとのカラー値が線形グラデーションにて定義されている円形の光源モデルから、エッジの角度ごとにカラー値を抽出し、エッジの角度ごとに、抽出したカラー値が記述されるカラーリストを生成するため、ベクタデータを用いて、エッジの角度に応じてエッジの色合いを変化させてエッジを描画することが可能である。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係るメータ描画装置の構成例を示す図。
【図２】実施の形態１に係るディスプレイリスト生成装置の機能モジュール構成例を示す図。
【図３】実施の形態１に係るメータ針の例を示す図。
【図４】実施の形態１に係るメータ針の回転軌道上の位置ごとの描画例を示す図。
【図５】実施の形態１に係る光源モデルの例を示す図。
【図６】実施の形態１に係る光源モデルからカラー値を抽出する手順を示す図。
【図７】実施の形態１に係るメータ針のベクタデータの分解例を示す図。
【図８】実施の形態１に係るディスプレイリストの例を示す図。
【図９】実施の形態１に係るカラーテーブルの例を示す図。
【図１０】実施の形態２に係る描画装置の機能モジュール構成例を示す図。
【発明を実施するための形態】
【０００９】
実施の形態１．
本実施の形態では、指針として、車両のスピードメータのメータ針を、２Ｄベクタデータを用いて描画する例を示す。
なお、指針は、スピードメータのメータ針に限らず、タコメータ、燃料メータ等のメータ針でもよい。
また、指針は、メータ針に限らず、時計の針、コンパスの針等であってもよい。
＊＊＊構成の説明＊＊＊
図１は、本実施の形態に係るメータ描画装置１０の構成例を示す。
メータ描画装置１０は、ディスプレイリスト生成装置１１と描画装置１２で構成される。
ディスプレイリスト生成装置１１は、カラーテーブル生成装置の例に相当する。
【００１０】
描画装置１２は、図３に示すような、２Ｄベクタデータによる、特定の方向から光があたっている状態が表現された、複数のエッジが含まれる立体形状のメータ針を描画する。
そして、描画装置１２は、車両のスピードの変化に合わせて、図４のように、指針盤であるメータ盤上でメータ針が回転する描画を行う。
つまり、描画装置１２は、メータ針の回転に合わせて光があたっているエッジ（図４の「明」の矢印が指すエッジ）と影になっているエッジ（図４の「暗」の矢印が指すエッジ）とを動的に変化させる描画を行う。
描画装置１２は、メータ針のエッジごとに、各エッジの角度に応じて、ディスプレイリスト生成装置１１により生成されたディスプレイリスト５０に含まれるカラーテーブルで定義されているカラー値を適用してメータ針の回転を描画する。
【００１１】
ディスプレイリスト生成装置１１は、ディスプレイリスト５０を生成し、生成したディスプレイリスト５０を描画装置１２に出力する。
ディスプレイリスト５０は、描画装置１２が、図４のような、メータ針が回転する描画を行うために参照する、ハードウェア（以下、Ｈ／Ｗという）描画命令を集約したデータである。
つまり、ディスプレイリスト５０は、メータ針の描画に必要な描画命令を集約させたデータであり、メータ針の一連の描画処理を一回の描画指令により、実行することを可能とする。
ディスプレイリスト５０には、カラーテーブルが含まれる。
カラーテーブルには、エッジの角度ごとに、エッジのカラー値が定義されている。
ディスプレイリスト生成装置１１は、メータ針を構成するベクタデータ２０や、背景のＢＭＰデータ３０、そして、描画位置を代表とする、描画に必要な情報をまとめたスクリプトデータ４０を入力として、ディスプレイリスト５０を生成する。
【００１２】
ディスプレイリスト生成装置１１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ
Ｕｎｉｔ）１１１、メモリ１１２、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１１３で構成される。
ＣＰＵ１１１は、ディスプレイリスト５０の生成のためのプログラムを実行して、ディスプレイリスト５０を生成する。
ＣＰＵ１１１が実行するプログラムの詳細は後述する。
ＨＤＤ１１３には、ＣＰＵ１１１が実行するプログラムが格納されている。
プログラムはＨＤＤ１１３からメモリ１１２にロードされ、ＣＰＵ１１１がメモリ１１２にロードされたプログラムを実行する。
ＨＤＤ１１３には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）も記憶されており、ＯＳの少なくとも一部がメモリ１１２にロードされ、ＣＰＵ１１１はＯＳを実行しながら、ディスプレイリスト５０の生成ためのプログラムを実行する。
【００１３】
描画装置は、ＣＰＵ１２１、メモリ１２２、描画Ｈ／Ｗ１２３、そして、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）１２４で構成される。
ディスプレイリスト５０は、メモリ１２２内に配置され、描画Ｈ／Ｗ１２３がディスプレイリスト５０を参照することでメータ針をＶＲＡＭ１２４に描画する。
ディスプレイリスト５０がＨ／Ｗの一連の描画命令の集約データであるため、描画装置１２では、メータ針の数値を設定し、ディスプレイリスト５０の先頭アドレスを描画Ｈ／Ｗ１２３に通知するだけでメータ針を描画することが可能である。
このように、ディスプレイリスト５０の使用により、高速な描画や、ＣＰＵのリソース確保等のメリットを得ることができる。
【００１４】
図２は、本実施の形態に係るディスプレイリスト生成装置１１の機能モジュール構成例を示す。
図２に示す各要素は、プログラムとして実現することができ、図２の各要素のプログラムをＣＰＵ１１１が実行することにより、ディスプレイリスト５０を生成することができる。
【００１５】
ディスプレイリスト生成装置１１は、制御部１１０１、スクリプト解析部１１０２、ベクタデータ解析部１１０３、ディスプレイリスト生成部１１０４、ディスプレイリスト出力部１１０９で構成される。
【００１６】
制御部１１０１は、ディスプレイリスト生成装置１１の全体の制御を行う。
【００１７】
スクリプト解析部１１０２は、スクリプトデータ４０内の描画パラメータを取得する。
描画パラメータには、主に、ベクタデータやＢＭＰデータのファイルパス情報、メータの表示位置、メータの最小値／最大値（速度メータの場合、０ｋｍ／ｈ、１８０ｋｍ／ｈ等）、メータ針の最小表示角度、最大表示角度、そして針のエッジ部分の陰影に適用するカラー値に関する情報などが含まれる。
【００１８】
ベクタデータ解析部１１０３は、ベクタデータの描画情報を抽出する。
ベクタデータには、その形状を表すパスデータ（ＭＯＶＥＴＯ、ＬＩＮＥＴＯ、ＣＵＲＶＥＴＯなどのコマンドにより定義され、直線や曲線などを表す）や、ベクタデータ内部のカラー値などの情報が含まれる。
【００１９】
ディスプレイリスト生成部１１０４は、描画パラメータ、ベクタデータの描画情報、ＢＭＰ画像データを基に、ディスプレイリスト５０を生成する。
【００２０】
ディスプレイリスト出力部１１０９は、ディスプレイリスト生成部１１０４により生成されたディスプレイリスト５０を描画装置１２に出力する。
前述したように、ディスプレイリストにはカラーテーブルが含まれているため、ディスプレイリスト出力部１１０９は、カラーテーブル出力部として機能する。
【００２１】
次に、ディスプレイリスト生成部１１０４の内部構成について説明する。
【００２２】
カラーテーブル生成部１１０５は、光源モデルとメータ針のエッジのカラー値との対応情報をカラーテーブルとして生成し、エッジの表示角度に対しカラー値を容易に取得できる仕組みを生成する。
光源モデルやカラーテーブルに関する詳細は後述する。
【００２３】
２Ｄマトリクス生成部１１０６では、メータ針の回転・拡縮・平行移動を可能とするマトリクス情報を設定するデータを生成し、メータの表示位置の調整や、回転に使用する。
【００２４】
パスデータ生成部１１０７は、描画対象とするベクタデータの描画情報を基に、描画Ｈ／Ｗ１２３で描画するための描画命令データを生成する。
【００２５】
サブルーチン生成部１１０８は、上記描画に必要な設定処理をサブルーチンとしてまとめ、描画Ｈ／Ｗの一連の描画処理命令として集約し、ディスプレイリスト５０を生成する。
【００２６】
次に、カラーテーブル生成部１１０５がメータ針のエッジ部分に適用する光源モデルについて説明する。
図５は、本実施の形態に係る光源モデルの例を示す。
【００２７】
図５の光源モデルでは、特定の方向（図５では左上方向）に光源が存在することを仮定している。
また、光源モデルは、光源から球体に光をあてた場合の球体上の位置ごとのカラー値が線形グラデーションにて定義されている円形のモデルである。
より厳密には、光源モデルは、光源から球体に光をあてた場合の球体の光源に最も近い点に最も明るいカラー値が定義され、球体の光源に最も遠い点に最も暗いカラー値が定義され、光源に最も近い点から光源に最も遠い点にかけての線形グラデーションが設定されている円形のモデルである。
また、線形グラデーションは多段階の設定を許容し、光源に最も近い点からの距離の割合、およびカラー値を設定することにより定義する。
図５の例では、グラデーションを２段階指定しており、分岐点となるグラデーションの割合は３５％、カラー値は最大値を２５５とし、（Ｒ，Ｇ，Ｂ）＝（２５５，２３，６８）としている。
このように、多段階のグラデーションに対応することにより、光の当たり具合の調整が可能となる。
また、図３の断面図で示すエッジ部分の角度の表現や光の当たり方による陰影表現の差異は、光源モデルのカラー値のみを変更することにより容易に実現することが可能である。
【００２８】
＊＊＊動作の説明＊＊＊
続いて、上記で定義した光源モデルを、メータ針のエッジ部分のカラー値に割り当てる手法について述べる。
図６に示すように、カラーテーブル生成部１１０５は、メータ針のエッジ部分の法線方向の角度を取得し、光源モデルの円の中心から、法線方向に線をのばし（６０２）、円周と交差する点におけるカラー値を、メータ針のエッジ部分のカラー値として採用する（６０３）。
メータ針のエッジは、メータ針を構成する辺ごとに表示角度が異なるため、１つのメータ針を描画する場合、エッジの角度ごとに、エッジの法線方向を参照し、それぞれに対応するカラー値を抽出する。
図７は、メータ針を構成するベクタデータを分解した図であり、７０１の回転中心部に位置する天板データ、７０２の針本体データ、そして７０３〜７０７のエッジ部分のデータから構成される。
上記で述べた光源モデルの適用は、メータ針のエッジ部分のデータにのみ適用し、天板データおよび針本体データを描画する際のカラー値は、ベクタデータとして定義されたカラー値を採用し描画する。
こうすることで、回転時のメータ針のエッジにかかる陰影表現を動的に変えることが可能であり、自然で立体的なメータ針を再現できる。
実際に、上記の光源モデルのカラー値を選択するための計算は、図６の６０４に示すように、光源に最も近い位置からの距離の割合を計算し、表示色を決定する。
光源モデルにおいて、円の直径の長さを２、光の入射角度と針エッジの法線方向間の角度をθとした場合、選択した色のグラデーションの割合は、（１）式により求められる。
（１−ｃｏｓθ）／２        ・・・（１）
【００２９】
図８は、ディスプレイリスト５０の例を示す。
描画装置１２の描画Ｈ／Ｗ１２３が、サブルーチン参照部分の先頭アドレスから順に描画処理命令を実行することにより、メータ針を描画する。。
カラーテーブルでは、図９に示すように、（１−ｃｏｓθ）／２の値に対応するカラー値が定義されている。
スピードメータを描画する場合は、描画Ｈ／Ｗ１２３は、車速の情報を取得し、車速に対応するメータ針の回転軌道上の位置を判別し、エッジごとの（１−ｃｏｓθ）／２の値を特定し、特定した（１−ｃｏｓθ）／２の値に対応するカラー値をディスプレイリスト５０のカラーテーブルから取得する。
光源モデルとメータ針のエッジのカラー値の対応情報は、カラー値の設定処理命令で参照するデータに反映し、描画Ｈ／Ｗ１２３が、針のエッジのパスデータ描画前に毎回参照することにより、動的にメータ針の陰影を描画する。
【００３０】
次に、カラーテーブルを説明する。
カラーテーブル生成部１１０５は、図９に示すように、グラデーションの割合に対する陰影部分のカラー値をカラーテーブルとして予め作成しておき、メータ針のエッジの表示角度を入力として、容易にカラー値を取得する仕組みを生成する。
ここで作成するカラーテーブルの階調数は任意であり、針の表示分解能に応じて調整することが望ましい。
ここで作成したカラーテーブルは、図８のカラー値に関するサブルーチンデータ内に格納し、描画Ｈ／Ｗ１２３がカラー値の設定処理時に参照することにより、光源モデルで定義した陰影色を動的に反映し、立体的な針を再現する。
このように、カラーテーブル生成部１１０５は、図６に示す方法にて、エッジの角度ごとにカラー値を抽出するとともに、抽出したカラー値と、光の入射方向とエッジの法線の方向との間の角度（θ）とを対応付け、カラー値とエッジの角度との対応付けが記述されるカラーテーブルを生成する。
【００３１】
＊＊＊効果の説明＊＊＊
以上のように、本実施の形態では、ベクタデータを用いることでメモリ消費量を抑える。
また、特定の方向の光源から球体に光をあてた場合の球体の線形グラデーションが設定されている円形の光源モデル上で、エッジの角度ごとにカラー値を抽出し、抽出したカラー値が示されるディスプレイリストを生成する。
このため、ベクタデータを用いて、エッジの角度に応じてエッジの色合いを変化させてエッジを描画すること可能である。
そして、このようにエッジの角度に応じてエッジの色合いを変化させてエッジを描画することが可能なので、メータ針の回転に合わせて光があたっているエッジと影になっているエッジとを変化させる描画を行うことが可能である。
【００３２】
実施の形態２．
実施の形態１では、描画装置１２が、ディスプレイリスト生成装置１１が生成したカラーテーブルに定義されているカラー値を各エッジに適用してメータ針の描画を行っている。
本実施の形態では、描画装置１２が光源モデルを利用してカラーテーブルを生成する。
【００３３】
本実施の形態では、描画装置１２は、図１に示す構成から描画Ｈ／Ｗ１２３を省略した構成となる。
そして、本実施の形態では、ＣＰＵ１２１が、図１０に示す機能モジュールを実現するプログラムを実行して、以下に示す処理が行われる。
プログラムは、メモリ１２２に格納されている。
また、本実施の形態でも、ディスプレイリスト生成装置１１から描画装置１２にディスプレイリスト５０が出力されるが、本実施の形態に係るディスプレイリスト５０は、図８の構成からカラー値の設定及びカラーテーブルが省略されたデータである。
【００３４】
図２において、カラーテーブル生成部１２０１は、図６に示す光源モデルを用いてカラー値を抽出し、カラーテーブルを生成する。
カラーテーブル生成部１２０１のカラー値の抽出方法は、実施の形態１のカラーテーブル生成部１１０５と同じである。
つまり、カラーテーブル生成部１２０１は、エッジの角度ごとに、図６の光源モデルの中心点からエッジの法線の方向に線をのばし、光源モデルの円周と交差した点におけるカラー値を抽出する。
カラーテーブル生成部１２０１が生成するカラーテーブルも、図９に示すものと同様である。
【００３５】
光源モデル記憶部１２０２は、図６に示す光源モデルを記憶する。
カラーテーブル記憶部１２０３は、カラーテーブル生成部１２０１により生成されたカラーテーブルを記憶する。
描画処理部１２０４は、ディスプレイリスト５０及びカラーテーブルを用いてメータ針の描画を行う。
描画処理部１２０４の描画方法は、実施の形態１の描画Ｈ／Ｗ１２３と同様である。
【００３６】
このように、本実施の形態によれば、専用の描画Ｈ／Ｗを用いなくても、描画用のソフトウェアを実行することにより、ベクタデータを用いて、メータ針の回転に合わせて光があたっているエッジと影になっているエッジとを変化させる描画を行うことが可能である。
【００３７】
以上、本発明の実施の形態について説明したが、これら２つの実施の形態を組み合わせて実施しても構わない。
あるいは、これら２つの実施の形態のうち、１つを部分的に実施しても構わない。
あるいは、これら２つの実施の形態を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【００３８】
１０  メータ描画装置、１１  ディスプレイリスト生成装置、１２  描画装置、２０  ベクタデータ、３０  ＢＭＰデータ、４０  スクリプトデータ、５０  ディスプレイリスト、１１１  ＣＰＵ、１１２  メモリ、１１３  ＨＤＤ、１２１  ＣＰＵ、１２２  メモリ、１２３  描画Ｈ／Ｗ、１２４  ＶＲＡＭ、１１０１  制御部、１１０２  スクリプト解析部、１１０３  ベクタデータ解析部、１１０４  ディスプレイリスト生成部、１１０５  カラーテーブル生成部、１１０６  ２Ｄマトリクス生成部、１１０７  パスデータ生成部、１１０８  サブルーチン生成部、１１０９  ディスプレイリスト出力部、１２０１  カラーテーブル生成部、１２０２  光源モデル記憶部、１２０３  カラーテーブル記憶部、１２０４  描画処理部。
【図１】
0006293081.tif 000002
【図２】
0006293081.tif 000003
【図３】
0006293081.tif 000004
【図４】
0006293081.tif 000005
【図５】
0006293081.tif 000006
【図６】
0006293081.tif 000007
【図７】
0006293081.tif 000008
【図８】
0006293081.tif 000009
【図９】
0006293081.tif 000010
【図１０】
0006293081.tif 000011