(57)【要約】      （修正有）【課題】幅のある曲線及び曲線部分を含む線分及び幅の細い線分の接続処理において、新たな座標点の計算を行わずに修飾する計算方式を選択することで線分の修飾に掛かる時間を軽減して描画する手段を提供する。【解決手段】幅の有る線分を描画する際、処理する線分の幅や長さを判断し、幅の細い線分や、幅が太くても長さが微小であった場合はその接続部分の修飾方法を尖状接続や円形接続から斜角状接続に変更して接続処理を行うことにより、計算量の少ない修飾方法を選択し処理の高速化を図る。【選択図】図１
2005031951.tif 000002
【特許請求の範囲】
【請求項１】
入力線分の描画の幅と端点の修飾形状と接続点の修飾形状と破線情報が指定される線分修飾情報に基き、前記線分幅付け部で幅をつけられた線分の端点を修飾する線分端点処理部と、入力線分及び前記線分修飾情報に従い、前記線分幅付け部で幅をつけられた線分の接続点を修飾する線分接続点処理部を有する図形処理装置において、
線分修飾情報の線分の幅が所定値以内の場合、既存の接続点情報を用いた線分の接続点の修飾処理を行うことを特徴とする図形処理装置。
【請求項２】
請求項１記載の図形処理装置において、入力線分データに該線分が曲線であるか線分あるかの情報が付与し、該情報の線分の幅により、線分の接続点の修飾方法を変更し接続処理を行うことを特徴とする図形処理装置。
【請求項３】
請求項２記載の図形処理装置において、入力される線分に曲線か線分かの情報が付していない場合は、線分修飾情報の線分の幅又は線分間の長さにより、線分の接続点の修飾方法を変更して接続処理を行うことを特徴とする図形処理装置。
【発明の詳細な説明】
【０００１】
【従来の技術】
従来、文字や図形、または直線や曲線を描画する際、幅の有る線分を描画することは多く、幅の有る線分の接続点にはさまざまな修飾を施すことができる。図２から図６、主な接続点の修飾点の修飾方法を説明する。図２は全く修飾しないで描画する方法（無修飾）で接続する方法である。なお図中、四角形Ｐ１Ｐ２Ｐ３Ｐ４及び四角形Ｐ５Ｐ６Ｐ７Ｐ８は各々接続する線分の外辺を示している。Ｐ９は２つの四角形の外辺の交差する点を示している。（以下、同様に図示する）図３は斜角に接続し描画する方法（斜角状接続）である。この接続法では交差点Ｐ９を挟むＰ１とＰ６を直接結ぶ直線を設定し、三角形Ｐ１Ｐ９Ｐ６を接続線分の一部とする接続法である。
【０００２】
図４は尖って接続し描画する方法（尖状接続）を示す。この方法では２つの接続線分の接続していない外辺部Ｐ１Ｐ４及びＰ６Ｐ７を夫々接続方向に向かって延長し、２本の延長線が交わる点をＰ１０とし、四角形Ｐ１Ｐ９Ｐ６Ｐ１０を接続線分の一部として接続する方法である。図５は三角形に接続し描画する方法（三角形接続）であり、交差点Ｐ９を一端として三角形Ｐ１Ｐ９Ｐ１０、及びＰ６Ｐ９Ｐ１０がＰ１０対して対象で、Ｐ９Ｐ１０がＰ１Ｐ９、Ｐ６Ｐ９と等しい長さとなる点Ｐ１０を設定し、四角形Ｐ１Ｐ９Ｐ６Ｐ１０を接続線分の一部とする接続法である。図６は円形に接続し描画する方法（円形接続）であり、交差点Ｐ９を中心とし、Ｐ１Ｐ９、Ｐ６Ｐ９を半径とする扇形Ｐ１Ｐ９Ｐ６を描画し接続線分の一部として接続する方法である。
【０００３】
扇形の部分は多角形近似により座標を計算するか、また円形部分をビットマップ形式で作成することで修飾する。尚、曲線を描画する際は、曲線を線分近似して線分描画と同様の方法にて描画を行うのが一般的な手法となっている。
【０００４】
【特許文献１】
特開２０００−１３７４７５号公報
【０００５】
【発明が解決しようとする課題】
通常、尖状接続、三角形接続、円形接続のときは線分の座標の他に接続部分を形成する図形の座標を算出しなければならず、座標算出のための計算処理が必要である。特に幅のある曲線及び曲線部が多い線分を描画する場合、曲線部分の座標点を計算により求めるため、接続点が多くなると接続処理が多発し必然的に描画のために処理時間が掛かるという問題点があった。
【０００６】
具体的には接続の為に必要となる座標は尖状接続では図４の点Ｐ１０、三角形接続では図５の点Ｐ１０、円形接続では図６の扇形Ｐ１Ｐ９Ｐ６の円弧部分Ｐ１Ｐ６を算出する場合に計算量が増加する。しかしながら、実際の接続する線分は幅の太いものから細いものまで多様である。特に細い線分の描画になると、前記の３通りの接続処理を行っても目視では接続部分の形状が認識づらいことがあり、多大な計算処理を行って接続点の処理を行っても効果が目に見えて分からないという欠点があった。
【０００７】
また、幅が太い線分を描画する場合であっても曲線を線分で近似して描画する場合、一般に線分近似を十分細かいレベルまで行う為、接続される線分同士の相対的な角度は浅く（図２のＰ１とＰ６が極めて近い）、目視で接続部分の形状の変化が分かりにくく、時間のかかる処理計算を行って描画しても、効果が得られないことがある。
【０００８】
【課題を解決するための手段】
上記課題を解決するために本発明は、入力された線分より抽出した線分情報と線分修飾情報により、線分を修飾する際に幅のある曲線及び曲線部分を含む線分及び幅の細い線分の接続処理において新たな座標点の計算を行わずに修飾する計算方式を選択することで線分の修飾に掛かる時間を軽減して描画する手段を有することを特徴とするものである。
【０００９】
【発明の実施の形態】
【第１の実施の形態】
図１は本発明の実施の形態を示すブロック図である。入力線分を、該入力線分から抽出した線分情報と線分修飾情報に従い修飾する線分修飾部１と線分修飾部１において修飾された線分を出力する線分出力部２からなり、線分修飾部１は入力線分から抽出された線分情報３を基に線分修飾情報７に従い各線分に幅をつける線幅つけ部４と、線分修飾情報７に従い、線分幅つけ部に４おいて幅をつけられた線分の端点の処理を行う線分端点処理部５、さらに続いて端点処理後の線分の接続点の形状を整形する線分接続点処理部６を有する。尚、線分情報には図７のように曲線として扱うか線分として扱うかの情報が付加されているものとする。また、線分修飾情報７には線分描画に必要な線分の幅、線分の端点修飾の形状、線分の接続点修飾の形状、線分の破線情報などが含まれる。
【００１０】
次に実際の線分修飾に関し、図１及び図１０に従い図８を用いて説明する。図１０は図１における線分修飾部の第１の実施の形態のフローチャートを示す図である。
【００１１】
先ずＳ１００１において、線分の頂点Ａ１、Ａ２、Ａ３の座標値が図９の形式で入力される。次に線分修飾部のＳ１００２では、入力線分の種類が線分か曲線かを判断し、曲線の場合はＳ１００３で接続方法を内部的に斜角接続の設定に変更する。これにより、座標計算に時間のかかる尖状接続、三角形接続、円形接続の処理を選択せず、時間の掛からない斜角接続を選択するようにする。
【００１２】
入力線分の種類が線分と判定された場合は何も変更せず、尖状接続、三角形接続、円形接続のいずれかの処理を行う。ここでは図９のように曲線として入力された場合を例に取る為、接続方法を斜角接続に変更する。そしてＳ１００４では一本目の線分として図８のＡ１Ａ２を取り出す。次にＳ１００５の線分幅つけ処理にてＡ１Ａ２の線分に、指定された線分の幅をＷとした時、幅Ｗとなるように両側にＷ／２づつ幅をつける。（図８のＢ１Ｂ２Ｂ３Ｂ４）。
【００１３】
次に点Ａ１部分が端点か接続点かを判断し、接続点の場合は線分接続点処理を端点の場合は線分端点処理を行う。点Ａ１は端点であるため線分端点処理を行う。次に線分の処理が終了したかどうかを判断するがいまはまだ終了でないため次の線分として図８のＡ２Ａ３を取り出す。Ａ２Ａ３の線分に線分幅つけ処理（Ｓ１００５）にて幅をつけ（図８のＢ５Ｂ６Ｂ７Ｂ８）、次に点Ａ２部分が端点か接続点かを判断し（Ｓ１００６）、接続点であるため幅つけ後の線分に対して接続する辺を決定して（Ｓ１００７）から線分接続点処理（Ｓ１００８）を行う。接続部分を修飾する図形は図８において辺Ｂ１Ｂ４と辺Ｂ５Ｂ８を接続するように必要となるが、ここで、この接続部分を修飾する図形が必要となる辺の決定の一例を説明する。
【００１４】
先ず、四角形Ｂ１Ｂ２Ｂ３Ｂ４について、接続部分の辺のベクトルＢ４Ｂ３と線分ベクトルＡ２Ａ３の内積を計算し、結果が正なら点Ｂ４側すなわち辺Ｂ１Ｂ４が、結果が負なら点Ｂ３側すなわち辺Ｂ２Ｂ３が接続する側となる。尚この内積の結果が０（ゼロ）になる場合は線分Ａ１Ａ２と線分Ａ２Ａ３が一直線上にあるということになり、接続点の修飾は不要である。ここでは内積は正になり点Ｂ４が先ず決定する。四角形Ｂ５Ｂ６Ｂ７Ｂ８についてはベクトルＢ５Ｂ６と線分ベクトルＢ５Ｂ６と線分ベクトルＡ２Ａ１の内積により、結果が正なら点Ｂ５すなわち辺Ｂ５Ｂ８が、結果が負なら点Ｂ６側すなわち辺Ｂ６Ｂ７が接続する側となる。ここでは内積は正になり点Ｂ５が決定する。尚、接続部分を修飾する図形が必要となる辺は辺の外積を計算しても決定できる。
【００１５】
接続部分を修飾する図形が必要となる辺を決定後、線分接続点処理にて接続部分を修飾する図形を算出するが、ここでは線分情報が「曲線」として入力されて接続方法が内部的に斜角状接続の設定となっているため、接続部分を修飾する図形は三角形Ｂ４Ｂ５Ａ２となり新たな頂点等を算出しなくても接続部分を修飾する図形が容易に決定する。尚、ここで線分情報が「線分」として入力された場合、線分修飾情報が尖状接続または三角形接続のときは、接続部分を修飾する図形を形成するための新たな頂点を１点算出しなければならない。
【００１６】
また、線分修飾情報が円形接続の時は接続部分を修飾する図形を形成するための新たな円形情報を算出しなければならない。
【００１７】
次にＳ１０１０で線分の処理が終了したかどうかを判断するが、ここで線分が終了するため、Ｓ１０１０では点Ａ３部分が端点か接続点かの判断をし、端点であるためＳ１０１４で線分端点処理を行い線分修飾部の処理を終了する。
【００１８】
Ｓ１０１２で入力された線分が閉図形をなしているときなどは、最初の線分と最後の線分とで接続部分を決定して、Ｓ１０１３では線分接続点処理を行い線分修飾部の処理を終了する。
【００１９】
尚、ここでは入力される線分情報が図７のように１回毎に線分か曲線か示される例をあげたが、１度に複数の線分に対して、図１１のように線分ごとに線分か曲線かの情報を付しても同様に処理を行うことができる。
【００２０】
以上説明したように、本発明の図形処理装置によれば幅のある曲線及び曲線部分が多い線分を描画する際、処理する線分に曲線部分か線分部分かの情報を付加し、曲線部分であった場合はその接続部分の修飾方法を斜角状接続に変更して接続処理を行うことにより、接続部分の修飾方法が尖状接続や三角形接続または円形接続であったときに、接続部分の修飾時間を大幅に軽減させるものである。接続部分の修飾方法を変更しても、幅の細い線描画や幅が太くても曲線を線分近似して描画する場合、線分近似の仕方が細かい場合は目視ではその形状の違いも認識できないため、品質的にも全く問題なく接続部分の修飾処理の高速化が図れる。
【００２１】
【第２の実施の形態】
本発明の第２の実施例の基本的な構成は第１の実施例の構成と同じであるが、詳細内容で第１の実施例と異なる部分がある。
第２の実施の形態について詳細に説明する。尚、図中同じ記号を付してあるところは同一のものを示すものとする。実際の線分修飾に関し、図１２、図１３、に従い図１４をもちいて説明する。図１２は図１における線分修飾部の第２の実施例のフローチャートを示す図である。また、図１３は図１２のＳ１２０２の「線分の長さ判定」の処理のフローチャートを示す図である。
【００２２】
まず、Ｓ１２０１で頂点Ｃ１、Ｃ２、Ｃ３、Ｃ４からなる線分が例えば図１５のような形式で入力される。Ｓ１２０２で線分修飾部ではまず入力された線分の長さ判定を行う。
【００２３】
線分の長さ判定の方法については図１３に従い説明する。
【００２４】
まずＳ１３０１で最初の１線分Ｃ１Ｃ２を取り出し、Ｓ１３０２では線分の長さを算出して予め設定しておいた長さより短いかどうかかを判断する。線分の長さは例えば次式で算出できる。Ｃ１（Ｃ１Ｘ，Ｃ１Ｙ），Ｃ２（Ｃ２Ｘ，Ｃ２Ｙ）の線分の長さの場合、
長さ＝（（Ｃ２Ｘ−Ｃ１Ｘ）の２乗＋  （Ｃ２Ｙ−Ｃ１Ｙ）の２乗）の２乗根  ・・（１）
長さの判定に使う境界値は予め設定しておくが、その時の座標単位などにより極微小な値（１や２など）にする。Ｓ１３０２の判定により、予め設定しておいた長さより短かった場合は次のＳ１３０３で線分情報を曲線に変更し、それ以外の時は何もせず次のＳ１３０４で線分が終了したかどうかを判断し、ここでは終了でないためＳ１３０１の処理に移る。「線分の長さ判定」で例えば線分Ｃ２Ｃ３と線分Ｃ３Ｃ４が予め設定しておいた長さの境界値より短かった場合は図１５の入力座標は例えば図１６のようになる。
【００２５】
次にＳ１２０３で線分の種類が線分か曲線かを判断し、Ｓ１２０４で曲線の場合は接続方法を内部的に斜角状接続に変更しておき、線分の場合は何も変更はせず、以降従来通りの処理を行う。これ以降のＳ１２０３〜Ｓ１２１５の処理は第１の実施の形態の処理のＳ１００２〜Ｓ１０１４と同様である。
【００２６】
尚、ここでは入力される線分情報が図１５のように１回毎に線分か曲線か示される例をあげたが、１度に複数の線分に対して、図１１のように線分ごとに線分か曲線かの情報を付しても同様に処理を行うことが出来る。また、例え曲線情報がなくても、本実施例は実施可能である。また本実施例では曲線、線分は実線の場合を想定して説明しているが、曲線や線分の種類に付いては関係なく、実線でも破線でも同様に効果が得られることは言うまでもない。
【００２７】
【発明の効果】
以上説明したように、本発明の図形処理装置によれば幅の有る線分を描画する際、処理する線分の長さを判断し、長さが非常に微小であった場合はその接続部分の修飾方法を斜角状接続に変更して接続処理を行うことにより、接続部分の修飾方法が尖状接続や三角形接続または円形接続であったときに、接続部分の修飾方法を変更しても幅の細い線描画や幅が太くても長さが非常に微妙な線分を描画する場合は目視ではその形状の違いも認識できないため、
品質にも全く問題なく接続部分の修飾処理の高速化が図れる。
【図面の簡単な説明】
【図１】本発明の実施の形態のブロック図である。
【図２】無修飾接続の概念図である。
【図３】斜角状接続の概念図である。
【図４】尖状接続の概念図である。
【図５】三角形接続の概念図である。
【図６】円形接続の概念図である。
【図７】入力線分データに付加される曲線または線分情報の形式である。
【図８】第１の実施の形態の線分修飾の概念図である。
【図９】線分情報が曲線として入力された場合のデータ形式である。
【図１０】第１の実施の形態のフローチャートである。
【図１１】複数の線分情報を設定する場合のデータ形式である。
【図１２】第２の実施の形態のフローチャートである。
【図１３】線分の長さ判定のフローチャートである。
【図１４】第２の実施の形態の線分修飾の概念図である。
【図１５】第２の実施の形態の線分情報の形式である。
【図１６】線分長が境界値より短い場合の線分情報のデータ形式である。
【符号の説明】
【図１】
2005031951.tif 000003
【図２】
2005031951.tif 000004
【図３】
2005031951.tif 000005
【図４】
2005031951.tif 000006
【図５】
2005031951.tif 000007
【図６】
2005031951.tif 000008
【図７】
2005031951.tif 000009
【図８】
2005031951.tif 000010
【図９】
2005031951.tif 000011
【図１０】
2005031951.tif 000012
【図１１】
2005031951.tif 000013
【図１２】
2005031951.tif 000014
【図１３】
2005031951.tif 000015
【図１４】
2005031951.tif 000016
【図１５】
2005031951.tif 000017
【図１６】
2005031951.tif 000018