(57)【特許請求の範囲】
【請求項１】
線種を描画する描画装置において、
指定された線種の空白部分を含めた全体の図形を指定された第１の色で描画する第１の描画手段と、
指定された線種の空白部分と上記第１の描画手段によって既に描画された図形との誤差を求め、該誤差分を拡張した線幅で、該図形上に空白部分を指定された第２の色で描画する第２の描画手段と
を備えたことを特徴とする描画装置。
【請求項２】
コンピュータを、
指定された線種の空白部分を含めた全体の図形を指定された第１の色で描画する第１の描画手段と、
指定された線種の空白部分と上記第１の描画手段によって既に描画された図形との誤差を求め、該誤差分を拡張した線幅で、該図形上に空白部分を指定された第２の色で描画する第２の描画手段と
して機能させるプログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、線種を描画する描画装置および記録媒体に関するものである。
【０００２】
【従来の技術】
従来、実線以外の線種（例えば点線）を描画する場合、その線種を構成する要素について、空白部分を飛ばしながら順次座標計算して順次描画し表示などしていた。
【０００３】
例えば図７の（ａ）に示すように、破線要素１について始点座標（ｘ１１，ｙ１１）と終点座標（ｘ１２，ｙ１２）を計算して線幅ｎで描画し、次に、空白部分を飛ばした後に同様に、破線要素２，３，４・・・というように描画していた。
【０００４】
また、図７の（ｂ）に示すように、扇型状の破線要素１を線幅ｎで描画し、次に、空白部分を飛ばした後に同様に、扇型状の破線要素２，３，４・・・というように描画していた。
【０００５】
【発明が解決しようとする課題】
上述したように図７の（ａ）の手法で破線を描画して表示すると、破線がわずかに傾いていたりすると、本来点線で示す期待される描画範囲のように描画されるべきはずであるが、実際に描画してみると図示のように、期待される描画範囲から計算上の誤差や表示誤差（印刷誤差）などによりずれてしまい、例えば階段状にずれてしまい、奇麗に描画できないという問題があった。
【０００６】
また、同様に、図７の（ｂ）の手法で扇型状の破線（リング状の破線）を描画して表示すると、各要素の短辺が円の中心を向いていないために扇型を描画するときにはみ出てしまい、奇麗に見えなくなると共に時として端点処理が必要となってしまうなどの問題があった。
【０００７】
本発明は、これらの問題を解決するため、指定された線種の空白部分なども含めた全体を描画した後に、その上から空白部分などを描画し、要素間のずれをなくして奇麗な線種を描画することを目的としている。
【０００８】
【課題を解決するための手段】
図１を参照して課題を解決するための手段を説明する。
図１において、処理装置１は、プログラムに従い各種処理を行うものであって、ここでは、描画手段４などから構成されるものである。
【０００９】
描画手段４は、線種の空白部分を含めた全体の図形を描画したり、描画した図形上に線種の空白部分を描画したりなどするものである。
次に、動作を説明する。
【００１０】
描画手段４が指定された線種の空白部分を含めた全体の図形を指定された第１の色で描画し、この描画した図形上に、指定された線種の空白部分を指定された第２の色で描画するようにしている。
【００１１】
この際、描画した図形上に、指定された線種の空白部分を描画する際に、描画された幅と等しいあるいは若干広い幅で空白部分を描画するようにしている。
また、始点座標と終点座標、線幅、線種で指定される線種について、描画するようにしている。
【００１２】
また、始点座標と終点座標、線幅、扇形の中心座標、線種で指定される線種について、描画するようにしている。
従って、指定された線種の空白部分なども含めた全体を第１の色で描画した後に、その上から空白部分などを第２の色で描画することにより、線種の要素間のずれをなくして奇麗な線種を描画することが可能となる。
【００１３】
【実施例】
図１から図６を用いて本発明の実施の形態および動作を順次詳細に説明する。
図１は、本発明のシステム構成図を示す。
【００１４】
図１において、処理装置１は、記録媒体（例えばＨＤＤや図示外のＣＤ−ＲＯＭなど）から読み出したプログラムをメモリ３にローディングして起動し、以下に説明する各種処理を行うものであって、ここでは、ＣＰＵ２、メモリ３、ＨＤＤ（ハードディスク装置）５などから構成されるものである。
【００１５】
ＣＰＵ２は、メモリ３から読み出したプログラムに従い各種処理を実行するものである。
メモリ３は、プログラムやデータなどを格納するものであって、ここでは、描画手段４として動作するプログラムを格納するものである。
【００１６】
描画手段４は、線種の空白部分を含めた全体の図形を描画した後、描画した図形上に線種の空白部分を描画したりなどするものである（図２および図５を用いて後述する）。
【００１７】
ＨＤＤ５は、ハードディスク装置であって、プログラムやデータなどを格納するものである。
表示装置６は、図形やデータなどを表示するものである。
【００１８】
入力装置７は、各種指定やデータなどを入力するものであって、キーボードやマウスなどである。
周辺機器８は、各種データを格納する記憶装置（例えばＣＤ−ＲＯＭ，ＤＶＤなど）である。
【００１９】
次に、図２から図４を用い、図１の構成のもとで直線状の破線などを描画するときの動作を詳細に説明する。
図２は、本発明の動作説明フローチャートを示す。
【００２０】
図２において、Ｓ１は、指定する。これは、描画しようとする線種および描画するに必要な情報を図示の下記のように指定する。
・始点座標：（ｘ１，ｙ１）
・終点座標：（ｘ２，ｙ２）
・線幅    ：ｎ
・線種    ：例えば破線
・前景色  ：線種を描画する色（例えば黒色）
・背景色  ：線種の空白部分に描画する色（例えば白色）
ここで、始点座標、終点座標、線種を指定させ、他の情報は規定値（デフォルト値）を用いることができる。
【００２１】
Ｓ２は、線幅１の線しか描画できないシステムか判別する。ＹＥＳの場合には、線幅１づつ順次繰り返し描画するシステムと判明したので、Ｓ３からＳ６の描画処理を行う。一方、ＮＯの場合には、線幅ｎの描画ができるシステムと判明したので、Ｓ７からＳ１０の描画処理を行う。
【００２２】
Ｓ３は、始点座標（ｘ１，ｙ１）と終点座標（ｘ２，ｙ２）と線幅ｎより、矩形の４点の座標を計算し、前景色でその矩形を塗る。これは、後述する図３の（ａ）に示すように、与えられた始点座標（ｘ１，ｙ１）と終点座標（ｘ２，ｙ２）と線幅ｎから、矩形の４点の座標を図示の下記のように求め、これら４点で囲まれた部分（線分）を、指定された前景色で塗る。
【００２３】
・（ｘ１，ｙ１）
・（ｘ１，ｙ１＋ｎ）
・（ｘ２，ｙ２＋ｎ）
・（ｘ２，ｙ２）
Ｓ４は、始点座標（ｘ１，ｙ１）と終点座標（ｘ２，ｙ２）と線種より、その線分の空白部分の個数を求める。
【００２４】
Ｓ５は、空白部分をすべて描画したか判別する。ＹＥＳの場合には、終了する。ＮＯの場合には、Ｓ６に進む。
Ｓ６は、始点座標（ｘ１，ｙ１）と終点座標（ｘ２，ｙ２）と線幅ｎと線種より、その線種の空白部分の矩形の座標４点を計算し、誤差がいずれの方向にあるかを判断し、誤差分以上の拡張部を加えた座標を再計算する。これは、後述する図４の（ａ）に示す空白部分の斜線の拡張部を加えた座標を計算し（詳細は図４で後述する）、これら計算した拡張部を加えた空白部を背景色（例えば空白）で塗る。これにより、破線の空白部分が１つ描画されたこととなり、空白部分の個数だけ、Ｓ５に戻り繰り返す。
【００２５】
以上によって、始点座標（ｘ１，ｙ１）、終点座標（ｘ２，ｙ２）、線幅ｎをもとに空白部分を含めた全体の線分を前景色（例えば黒）で描画した後、空白部分について誤差分に相当する拡張部を加えて背景色（例えば空白の白）で描画することにより、結果として、破線の前景色の部分は全体を一括して連続して描画することで奇麗に連続して描画することが可能となる。
【００２６】
Ｓ７は、始点座標（ｘ１，ｙ１）と終点座標（ｘ２，ｙ２）を線幅ｎの直線を前景色で描画する。
Ｓ８は、始点座標（ｘ１，ｙ１）と終点座標（ｘ２，ｙ２）と線種より、その線分の空白部分の個数を求める。
【００２７】
Ｓ９は、空白部分をすべて描画したか判別する。ＹＥＳの場合には、終了する。ＮＯの場合には、Ｓ１０に進む。
Ｓ１０は、始点座標（ｘ１，ｙ１）と終点座標（ｘ２，ｙ２）と線幅ｎと線種より、誤差がいずれの方向にあるかを判断し、求めた点に誤差分以上の幅ｎｓを求めて、背景色で描画する。これは、後述する図４の（ｂ）に示す空白部分の斜線の拡張部を加えた座標を計算し（詳細は図４で後述する）、これら計算した拡張部を加えた空白部を背景色（例えば空白）で塗る。これにより、破線の空白部分が１つ描画されたこととなり、空白部分の個数だけ、Ｓ９に戻り繰り返す。
【００２８】
以上によって、始点座標（ｘ１，ｙ１）、終点座標（ｘ２，ｙ２）、線幅ｎをもとに空白部分を含めた全体の線分を前景色（例えば黒）で描画した後、空白部分について誤差分に相当する拡張部を加えて背景色（例えば空白の白）で描画することにより、結果として、破線の前景色の部分は全体を一括して連続して描画することで奇麗に連続して描画することが可能となる。
【００２９】
図３は、本発明の説明図（描画）を示す。
図３の（ａ）は、始点座標（ｘ１，ｙ１）と終点座標（ｘ２，ｙ２）と線幅ｎをもとに前景色で描画した状態を示す。この状態では、例えば破線の空白部分を含めた全体が一括して前景色（例えば黒）で描画されるため、奇麗に滑らかに線幅ｎの線分が描画される。
【００３０】
図３の（ｂ）は、始点座標（ｘ１，ｙ１）と終点座標（ｘ２，ｙ２）と線幅ｎをもとに空白部分の始点座標と終点座標と線幅ｎを求め、誤差分に相当する拡張部を付加して背景色で空白部分を描画した状態を示す。この状態では、空白部分について誤差分に相当する拡張部を付加して空白を描画しているため、空白部分の描画残しが発生することなく、空白部分を描画し、結果として、残った破線の前景色の部分は奇麗に連続した線分となっており、従来の図７の（ａ）に示すような破線の前景色の部分が期待される描画範囲からずれることがなくなり、奇麗に描画することが可能となる。
【００３１】
図４は、本発明の説明図（空白部分の描画）を示す。
図４の（ａ）は、線幅ｎが描けるシステムの場合の描画状態を示す。このシステムの場合には、
・始点座標（ｘ１，ｙ１）
・終点座標（ｘ２，ｙ２）
・線幅ｎ
をもとに、線幅ｎの線分（既述した図３の（ａ））を前景色で描画する。次に、始点座標と終点座標と線幅ｎから，空白部分の始点座標（ｘｓ１，ｙｓ１）と終点座標（ｘｓ２，ｙｓ２）を求め、誤差とその方向を求めてその誤差以上の線幅ｎｓと、空白部分の始点座標（ｘｓ１’，ｙｓ１’）を図示のように求め、描画する。
【００３２】
以上によって、始点座標（ｘ１，ｙ１）と終点座標（ｘ２，ｙ２）と線幅ｎをもとに空白部分を含んだ全体の線分を前景色で描画し、次に、空白部分の始点座標（ｘｓ１，ｙｓ１）と終点座標（ｘｓ２，ｙｓ２）を求め、線幅ｎとしたときの既に描画した線分との誤差とその方向を求めて当該誤差分を拡張した線幅ｎｓと、始点座標（ｘｓ１’，ｙｓ１’）と終点座標（ｘｓ２’，ｙｓ２’）とを求め、これら求めた拡張後の空白部分の始点座標（ｘｓ１’、ｙｓ１’）と終点座標（ｘｓ２’，ｙｓ２’）と線幅ｎｓをもとに背景色で空白部分を描画する。この結果、前景色で描画した例えば鎖線の部分は奇麗に描画することが可能となる。
【００３３】
図４の（ｂ）は、線幅１しか描けないシステムの場合の描画状態を示す。このシステムの場合には、
・始点座標（ｘ１，ｙ１）
・終点座標（ｘ２，ｙ２）
・線幅ｎ
をもとに、描画する矩形の４つの座標
・（ｘ１，ｙ１）
・（ｘ１，ｙ１＋ｎ）
・（ｘ２，ｙ２＋ｎ）
・（ｘ２，ｙ２）
を求め、これら４つの座標をもとに矩形を前景色で描画する。次に、始点座標と終点座標と線幅ｎから，空白部分の矩形の４つの座標
・（ｘｓ１，ｙｓ１）
・（ｘｓ１，ｙｓ１＋ｎ）
・（ｘｓ２，ｙｓ２＋ｎ）
・（ｘｓ２，ｙｓ２）
を求め、既に描画した幅ｎの線分との誤差とその方向を求めてその誤差以上の線幅となる座標、例えば図４の（ａ）の上側に誤差があり拡張した
・（ｘｓ１’，ｙｓ１’）
・（ｘｓ１’，ｙｓ１’＋ｎ）
・（ｘｓ２’，ｙｓ２’＋ｎ）
・（ｘｓ２’，ｙｓ２’）
を求め、これら４つの座標をもとに矩形を背景色で描画し、空白部分を描画する。
【００３４】
以上によって、始点座標（ｘ１，ｙ１）と終点座標（ｘ２，ｙ２）と線幅ｎをもとに全体の線分となる矩形の４つの座標を求めて前景色で描画し、次に、空白部分の矩形の４つの座標を求めて誤差を補正する拡張部分を含ませた拡張した矩形の４つの座標を求め、これら４つの座標で構成される矩形を背景色で描画することを繰り返す。この結果、前景色で描画した例えば鎖線の部分は奇麗に描画することが可能となる。
【００３５】
次に、図５および図６を用い、図１の構成もとで曲線の破線などを描画するときの動作を詳細に説明する。
図５は、本発明の他の動作説明フローチャートを示す。
【００３６】
図５において、Ｓ１１は、指定する。これは、描画しようとする線種および描画するに必要な情報を図示の下記のように指定する。
・始点座標：（ｘ１，ｙ１）
・終点座標：（ｘ２，ｙ２）
・扇形の中心座標：（ｘｏ，ｙ０）
・線幅    ：ｎ
・線種    ：例えば破線
・前景色  ：線種を描画する色
・背景色  ：線種の空白部分に描画する色（例えば白色）
Ｓ１２は、扇形の中心座標（ｘ０，ｙ０）と始点座標（ｘ１，ｙ１）と終点座標（ｘ２、ｙ２）より、扇形を描画し前景色で塗る。例えば後述する図６の（ａ）の▲１▼の部分を前景色（例えば黒）で塗る。
【００３７】
Ｓ１３は、扇形の中心座標（ｘ０，ｙ０）と始点座標（ｘ１，ｙ１）と終点座標（ｘ２、ｙ２）と線幅ｎより、扇形を背景色で描画して塗る。例えば後述する図６の（ｂ）の▲２▼の部分を背景色（例えば白色）で塗る。
【００３８】
Ｓ１４は、扇形の中心座標（ｘ０，ｙ０）と始点座標（ｘ１，ｙ１）と終点座標（ｘ２、ｙ２）と線幅ｎと線種より、空白部分の数を求める。これは、前景色で塗った扇形中に存在する空白の個数を求める。
【００３９】
Ｓ１５は、空白部分をすべて描画したか判別する。ＹＥＳの場合には、終了する。ＮＯの場合には、Ｓ１６に進む。
Ｓ１６は、扇形の中心座標（ｘ０，ｙ０）と始点座標（ｘ１，ｙ１）と終点座標（ｘ２、ｙ２）と線幅ｎと線種より、誤差（外周より内側）の場合はその誤差以上の外周の座標を求め、背景色で描画し塗る。例えば後述する図６の（ｃ）に示すように、誤差分を拡張した部分を求めて背景色で描画して塗る（▲３▼の部分あるいは▲３▼と▲３▼’の部分を背景色で塗る）。この結果、前景色で描画して塗って残った部分は、中心が全て同一で幅が全て同一の曲線状の破線などとなる。
【００４０】
以上によって、扇形の中心座標（ｘ０，ｙ０）と始点座標（ｘ１，ｙ１）と終点座標（ｘ２、ｙ２）と線幅ｎと線種をもとに空白部分を含めた図６の（ａ）の扇形▲１▼を前景色で描画して塗り、次に、図６の（ｂ）の▲２▼の部分を背景色で描画して塗り、更に、破線の空白部分となる部分▲３▼について誤差を含むように拡大して背景色で描画して塗ることにより、曲線の破線などを奇麗に描画することが可能となる。
【００４１】
図６は、本発明の説明図（曲線の破線の描画）を示す。
図６の（ａ）は、扇形の中心座標（ｘ０，ｙ０）を中心に、始点座標（ｘ１，ｙ１）から終点座標（ｘ２、ｙ２）までを扇形に前景色で描画して塗った状態を示す。
【００４２】
図６の（ｂ）は、扇形の中心座標（ｘ０，ｙ０）を中心に、始点座標（ｘ１，ｙ１）から終点座標（ｘ２、ｙ２）まで、線幅ｎ分だけ半径を小さくして背景色で▲２▼の部分を描画して塗った状態を示す。
【００４３】
図６の（ｃ）は、最初の空白部分▲３▼を背景色で描画して塗った状態を示す。これは、扇形の中心座標（ｘ０，ｙ０）を中心に、線種から空白部分となる始点座標と終点座標を求め、誤差分だけ拡張した座標（例えば外周より内側の場合はその誤差以上の外周の座標）を求め、背景色で描画し塗り、▲３▼の部分あるいは▲３▼と▲３▼’の部分を背景色（空白）とする。
【００４４】
図６の（ｄ）は、次の空白部分▲３▼あるいは▲３▼と▲３▼’を背景色で描画して塗った状態を示す。
以上の図６の（ａ）から（ｄ）の順番で、扇形の中心座標（ｘ０，ｙ０）と始点座標（ｘ１，ｙ１）と終点座標（ｘ２、ｙ２）と線幅ｎと線種をもとに▲１▼の部分を前景色、▲２▼の部分を背景色、▲３▼の部分あるいは▲３▼と▲３▼’の部分を背景色で描画して塗ることにより、結果として残った前景色の部分は全て同一の中心座標（ｘ０，ｙ０）であり、かつ同一の半径と線幅ｎとなり、奇麗に描画することが可能となる。
【００４５】
【発明の効果】
以上説明したように、本発明によれば、指定された線種の空白部分なども含めた全体を第１の色で描画した後に、その上から空白部分などを第２の色で描画する構成を採用しているため、線種の要素間のずれをなくして奇麗な線種を描画できる。これにより、直線状の破線、点線などを構成す各要素間で傾いたりなどすることがなく、奇麗に描画することが可能となる。また、曲線状の破線、点線などを構成する各要素間で傾いたり、更に、各要素間の中心座標や線幅が完全に同一となってバラバラとなることがなく、奇麗に描画することが可能となる。
【図面の簡単な説明】
【図１】本発明のシステム構成図である。
【図２】本発明の動作説明フローチャートである。
【図３】本発明の説明図（描画）である。
【図４】本発明の説明図（空白部分の描画）である。
【図５】本発明の他の動作説明フローチャートである。
【図６】本発明の説明図（曲線（破線）の描画）である。
【図７】従来技術の説明図である。
【符号の説明】
１：処理装置
２：ＣＰＵ
３：メモリ
４：描画手段
５：ＨＤＤ（ハードディスク装置）
６：表示装置
７：入力装置
８：周辺機器
【図１】
0003648090.tif 000002
【図２】
0003648090.tif 000003
【図３】
0003648090.tif 000004
【図４】
0003648090.tif 000005
【図５】
0003648090.tif 000006
【図６】
0003648090.tif 000007
【図７】
0003648090.tif 000008