(57)【特許請求の範囲】
【請求項１】
プログラムを実行する演算手段と、前記プログラムを格納する記憶手段と、ユーザの入力を受ける入力手段と、前記プログラムの処理結果を出力する出力手段とを備える装置が実行する、曲線または直線からなる線部の先端に特徴図形が配置された指示線の描画方法であって、前記特徴図形は、前記線部の先端に対応付けられる開始点と特徴図形の外接部上で前記線部が交差する点に対応付けられる終了点とを有しており、
前記装置が、
前記出力手段に表示された画像上に、前記入力手段からの入力に基づいて複数の任意の制御点を入力するステップと、
前記複数の制御点の間に複数の中割点を決定するステップと、
前記制御点と中割点とを最初から最終までの一連の処理点として、前記記憶手段に作成されたテーブルに格納するとともに前記制御点のうち最終位置のものを最終位置の処理点とするステップと、
前記最終位置の処理点に特徴図形の開始点を配置するステップと、
前記処理点のうち最終位置の処理点からの距離が前記配置された特徴図形の開始点から終了点までの距離に最も近い、そのような処理点を選択し、前記特徴図形の終了点がその選択された処理点と一致するように前記特徴図形を配置し、配置された特徴図形の外接部を前記選択された処理点に一致させるステップと、
前記で決定された最初の処理点から前記特徴図形の終了点まで線部を描画するステップとを実行する指示線描画方法。
【請求項２】
前記最終処理点から前記線部の幅までを半径とする円を描画し、当該円内を塗り潰すステップをさらに付加した請求項１記載の指示線描画方法。
【請求項３】
前記特徴図形は三角形であり、その底辺の中点が前記選択された処理点と一致させたものであることを特徴とする請求項１記載の指示線描画方法。
【請求項４】
曲線または直線からなる線部の先端に特徴図形が配置された指示線の描画装置であって、前記特徴図形は、前記線部の先端に対応付けられる開始点と特徴図形の外接部上で前記線部が交差する点に対応付けられる終了点とを有しており、
画像上に複数の任意の制御点を入力する入力手段と、
前記複数の制御点の間に複数の中割点を決定する演算手段と、
前記制御点と中割点とを最初から最終までの一連の処理点として格納するとともに前記制御点のうち最終位置のものを最終位置の処理点とするテーブルを記憶する記憶手段と、
前記処理点のうち最終位置の処理点からの距離が前記配置された特徴図形の開始点から終了点までの距離に最も近い、そのような処理点を選択し、前記特徴図形の終了点がその選択された処理点と一致するように前記特徴図形を配置して、配置された特徴図形の外接部を前記選択された処理点に一致させ、前記で決定された最初の処理点から前記特徴図形の終了点まで線部を描画する出力手段とからなる指示線描画装置。
【請求項５】
演算手段を有する装置に、曲線または直線からなる線部の先端に特徴図形が配置された指示線の描画方法を実行させるプログラムを記憶した記憶媒体であって、前記特徴図形は、前記線部の先端に対応付けられる開始点と特徴図形の外接部上で前記線部が交差する点に対応付けられる終了点とを有しており、
画像上に複数の任意の制御点を入力するステップと、
前記複数の制御点の間に複数の中割点を決定するステップと、
前記制御点と中割点とを最初から最終までの一連の処理点として、前記記憶手段に作成されたテーブルに格納するとともに前記制御点のうち最終位置のものを最終位置の処理点とするステップと、
前記最終位置の処理点に特徴図形の開始点を配置するステップと、
前記処理点のうち最終位置の処理点からの距離が前記配置された特徴図形の開始点から終了点までの距離に最も近い、そのような処理点を選択し、前記特徴図形の終了点がその選択された処理点と一致するように前記特徴図形を配置し、配置された特徴図形の外接部を前記選択された処理点に一致させるステップと、
前記で決定された最初の処理点から前記特徴図形の終了点まで線部を描画するステップとを順次実行するプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、図形作成、特に矢印線等の指示線の描画に適用して有効な技術に関する。
【０００２】
【従来の技術】
購読者の理解を容易にするために、新聞写真等の写真画像上に矢印線等の作図を行うことが一般に行われている。このような作図処理では、直線、曲線、四角、多角形、円、楕円等様々な線種を用いる。この中でも、曲線を用いて作図を行うときには曲線にするためのキーとなる点（ポイント）を複数点指定して、ポイント間をあるスプライン式（たとえばベジェスプライン、三次元スプライン等）で計算して曲線化するポイントを求め、さらにこれで求められたポイントを結んで曲線にする処理が行われる。
【０００３】
このとき、曲線で結んだ開始ポイントまたは終了ポイントに矢印を付ける場合、最も単純には矢印を示す三角形を部品データとして前記ポイントに貼り付ければよいだけであるが、曲線のつなぎ目と矢印の先端の位置が作図品質に大きく影響する。
【０００４】
この点について、従来技術では、矢印等のベクトルは曲線の描画ポイントの中から一定の条件に一致したポイントをベクトルとして、矢印となる三角形は、求めたベクトル方向に沿ってオペレータが指定したサイズの三角形（特徴図形）を重ねていた。
【０００５】
このように、従来技術における作図処理は専らオペレータのマニュアル処理に依存していたため、特徴図形である三角形で構成された矢印のベクトルと、曲線の進入ベクトルとが必ずしも一致しておらず、また曲線と矢印の接合点も、隙間が空いてしまい曲線と三角形とが連続的に作図された矢印の形状となっていない場合が多かった。
【０００６】
本発明はこのような点に鑑みてなされたものであり、線の端部に違和感の無い特徴図形を正確に描画することのできる線図描画技術を提供することを技術的課題とする。
【０００７】
【課題を解決するための手段】
前記課題を解決するために本発明では以下の手段を採用した。
【０００８】
第１の手段は、曲線または直線からなる線部の先端に特徴図形が配置された指示線を描画する際に、画像上に複数の任意の制御点を入力し、この制御点の間に複数の中割点を算出した後、前記制御点と中割点とを最初から最終までの一連の処理点としてテーブルに登録する。そして前記最終処理点に特徴図形を配置し、この特徴図形の外接部を前記処理点に一致させ、最後に最初の処理点から最終処理点まで線部を描画するようにした。
【０００９】
特徴図形とは三角形や丸印、あるいはＸ印等を意味する。新聞写真等の写真画像上にこれらの指示線が描画されることによって購読者の記事の理解が容易になるような線部と特徴図形ならばどのようなものでもよい。この発明を用いることによって、オペレータは制御点の入力と特徴図形の配置のみで線部と特徴図形による自然な指示線が完成する。
【００１０】
また、制御点間の中割点は、たとえば公知の３次スプライン処理により算出可能である。
【００１１】
第２の手段は、前記第１の手段において、最終処理点から線部の幅までを半径とする円を描画し、当該円内を塗り潰す処理を付加したものである。
【００１２】
これにより、たとえば急激な曲線の先端に三角形を配置した矢印線のような描画の場合にも線部の端面と特徴図形の外接部（たとえば三角形の底辺）との間に隙間が生じることなく自然な指示線（たとえば矢印）を描画することができる。
【００１３】
第３の手段は、前記第１の手段において、前記特徴図形を三角形として、その底辺の中点が前記最終処理点と一致させたものである。
【００１４】
これにより、矢印を違和感なく自然に表現することができる。
【００１５】
第４の手段は、曲線または直線からなる線部の先端に特徴図形が配置された指示線の描画装置について、画像上に複数の任意の制御点を入力する入力手段と、前記複数の制御点の間に複数の中割点を決定する演算手段と、前記制御点と中割点とを最初から最終までの一連の処理点として格納するテーブルと、前記最終処理点に特徴図形を配置し、配置された特徴図形の外接部を前記処理点に一致させ、前記で決定された最初の処理点から最終処理点まで線部を描画する出力手段とで構成したものである。
【００１６】
入力手段は、キーボード等の数値を直接入力可能なものの他、マウスやデジタイザのような座標指示入力装置（ポインティングデバイス）を用いることができる。また演算手段は汎用コンピューターの中央演算処理装置の他、描画専用プロセッサ等を用いることができる。さらにテーブルはメモリまたはハードディスク装置等に設定することができる。出力手段はＣＲＴ等のディスプレイ装置、プリンタ等が用いられる。
【００１７】
第５の手段は、曲線または直線からなる線部の先端に特徴図形が配置された指示線の描画方法について、画像上に複数の任意の制御点を入力するステップと、前記複数の制御点の間に複数の中割点を決定するステップと、前記制御点と中割点とを最初から最終までの一連の処理点としてテーブルに格納するステップと、前記最終処理点に特徴図形を配置するステップと、配置された特徴図形の外接部を前記処理点に一致させるステップと、前記で決定された最初の処理点から最終処理点まで線部を描画するステップとを順次実行するプログラムを記憶した記憶媒体である。
【００１８】
記憶媒体としては、フロッピーディスク、光ディスク、光磁気ディスク、磁気テープ、ＲＯＭカートリッジ等のあらゆる記憶媒体を用いることができる。これらの記憶媒体にプログラムを実行形式で格納することにより、パーソナルコンピュータまたは汎用コンピューター上で本発明の指示線描画プログラムが実行される。
【００１９】
【本発明の実施の形態】
以下、図面に基づいて、本発明の実施の形態を説明する。
【００２０】
図１は、本発明の一実施例である矢印描画方法について説明した図である。
【００２１】
本実施例を実施するためのハードウエア構成は図１０に示す通りである。本装置は、ＣＰＵ７０２を中心に、バス７０１を介して接続されたメモリ７０３を有しており、メモリ７０３上に読み出されたプログラムに基づいてＣＰＵ７０２による処理が実行される。
【００２２】
バス７０１には入力手段としてのキーボード７０４およびマウス等のポインティングデバイス７０５が接続されている。キーボード７０４は座標値等の数値を直接入力するために用いられ、マウス等のポインティングデバイス７０５は画面上で座標点を直接指示する場合に用いられる。
【００２３】
なお、補助記憶装置７０６はハードディスク装置等の大容量記憶装置で構成されており、描画後の画像データ等が蓄積される。
【００２４】
ＣＲＴ７０７は、ディスプレイ装置等であり、座標値や描画データを視覚的に出力する。なお、同図では図示されていないが、入力装置としてプロッタ、出力装置としてプリンタ等が接続されていてもよい。
【００２５】
本実施例では、まず、画像上の任意の３点（Ａ１，Ａ２，Ａ３）をポインティングデバイス７０５で指示する。またこの３点の指示はキーボード７０４から座標値として直接入力してもよい。ここでは、この３点（Ａ１，Ａ２，Ａ３）を通る曲線を描画した後、最後の点（Ａ３）で三角形Ｄの矢印の先端が一致するような描画処理を行う。なお、以後の説明では当該３点（Ａ１，Ａ２，Ａ３）を制御点という。
【００２６】
図１に示すように、３点（Ａ１，Ａ２，Ａ３）を指示してこの３点を通る曲線は３次スプライン処理によって求めることができる。この３次スプライン処理で曲線を作図するため、本来的には画像処理で曲線を描画することはできないので、制御点の間をさらに短い直線で描画して短い直線を連結して曲線を表すことになる。したがって、制御点間のさらに短い直線を指定するための指定点（ａ１〜ａ５，ａ６〜ａ１０）が必要になる。これらの指定点を中割点ということにする。
中割点の数を増やすと曲線の品質は向上するが、処理速度は低下する。一方、中割点の数を減らすと曲線の品質は低下するが、処理速度は向上する。したがって、中割点の数はシステムの能力、描画品質の要求度合に応じて決定しなければならない。ここでは、図１に示したように中割点の数は「５」とする。すなわち、Ａ１〜Ａ２間で５点（ａ１〜ａ５）、Ａ２〜Ａ３間で５点（ａ６〜ａ１０）となっている。
【００２７】
図９は、本実施例の処理手順を示すフロー図である。以下、この図の処理手順に沿って説明する。
【００２８】
まず、キーボード７０４またはポインティングデバイス７０５により図１に示した制御点Ａ１〜Ａ３を指示する（ステップ１および２）。
【００２９】
次に、３次スプライン処理によりＡ１とＡ２間の中割点ａ１〜ａ５を決定し、さらにＡ２とＡ３間の中割点ａ６〜ａ１０を決定する（ステップ３）。
【００３０】
このようにして決められた中割点（ａ１〜ａ５，ａ６〜ａ１０）および制御点（Ａ１，Ａ２，Ａ３）をそれぞれ順番に処理テーブルに８０１に格納する（ステップ４）。この処理テーブル８０１は補助記憶装置７０６内に設けられており、当該処理テーブル８０１に格納された中割点と制御点とを、以後処理点と呼ぶ。
【００３１】
次に、プログラム中に用意された変数Ｎに初期値である「１」を代入する（ステップ５）。この変数Ｎは三角形Ｄの高さを決定するためのパラメータとなる。次に、この例で処理テーブルの最後の処理点［１３］が付与された点（Ａ３）を処理テーブル８０１から読み出す。すなわち、テーブルの最終位置である点が三角形Ｄの頂点となり、三角形Ｄの底辺の中心から頂点までが三角形Ｄの高さになるため、底辺の中心になる処理点を求めることにより三角形Ｄの高さを決定する。
【００３２】
そのために、まず、最終位置の処理点［１３］が付与された点（Ａ３）からこの隣に位置する処理点（ａ１０）の距離ｈを求める（ステップ６）。そして、この距離ｈが三角形Ｄの高さよりも大きい場合（ステップ７でＹの分岐枝）、Ｎの値が「１」であるか否かを吟味する。ここで、Ｎ＝１の場合、当該点（ここではａ１０）を三角形Ｄの底辺中点として決定する（ステップ８，９）。
【００３３】
一方、ステップ７において、三角形Ｄの高さが距離ｈよりも大きい場合にはＮに１を加算する（ステップ１３）。ここでステップ８ではＮは２以上となるため、ステップ８は否定枝に分岐し、処理点を結ぶ線が三角形Ｄの底辺線と交差する点が最も近い処理点を算出する（ステップ１０〜１２）。図３および４はこのような三角形Ｄの高さを決定する過程を示している。図３は三角形Ｄの底辺の中点が処理点ａ８とａ９の間にある場合で、図４は前記ステップ１０〜１２を実行した結果、最も近い処理点ａ９に三角形Ｄの底辺が設定されたことを示している。
【００３４】
次に、処理点［１］から三角形Ｄの底辺点（図４ではａ９）まで連続した一定幅の直線Ｌを描画する（ステップ１４）。
【００３５】
次に、三角形の底辺から処理点［１３］までを高さｈとする三角形を塗り潰す。（ステップ１５）ここで、処理点［１］から描画される直線Ｌは、最終位置の処理点［１３］まで塗り潰すことも考えられるが、この場合図５に示すように直線Ｌの先端が三角形Ｄの斜辺からはみ出してしまうことになる。
【００３６】
一方、直線Ｌの端部を三角形Ｄの底辺点とした場合、図１〜図４に示したような緩やかな曲線の先端で矢印表示が行われる場合には問題ないが、図６に示すように中割点ａ９の近辺で急激な曲線となっている場合には隙間Ｓができてしまい、矢印として認識されにくくなってしまう。
【００３７】
そこで、本実施例では、図７に示すように底辺点ａ９を中心として、描画直線Ｌの幅までの距離ｒを半径とする円を描画してこの円を塗り潰す処理を行うようにした（ステップ１６）。
【００３８】
以上の実施例では、描画線Ｌの先端に付けられる特徴図形を三角形Ｄとして矢印表示を実現する場合で説明したが、三角形に限定されるものではなく、図２に示すようなＸ印であってもよい。さらに●のような塗り潰し点であってもよい。これらの場合にステップ６〜１３で説明した三角形の高さｈの決定手順は枝線の長さ、塗り潰し円の半径の決定にもそのまま適用できる。
【００３９】
【発明の効果】
本発明によれば、曲線の端部に三角形等の特徴図形を配置して矢印を表現する場合等に、線の端部に違和感の無い特徴図形を正確に描画することができる。
【図面の簡単な説明】
【図１】本発明の一実施例である矢印描画方法を説明する図
【図２】本発明の他の実施例である特徴図形（×）と線部との組み合わせを示す図
【図３】実施例において三角形の高さを決定する過程を示す図
【図４】実施例において矢印を完成させる過程を示す図
【図５】従来技術において矢印の描画を行った場合を示す図
【図６】線部と三角形との間に隙間が生じた例を示す図
【図７】本実施例において線部と三角形との間に塗り潰し円を配置した状態を示す図
【図８】実施例の処理テーブルを示す図
【図９】実施例の処理フロー図
【図１０】実施例の指示線描画装置の構成を示すブロック図
【符号の説明】
Ｄ  三角形
Ｌ  線部
Ｓ  隙間
ｒ  半径
ｈ  三角形底辺から頂点までの高さ
Ａ１，Ａ２，Ａ３  制御点
ａ１〜ａ５，ａ６〜ａ１０  中割点
７０１  バス
７０２  ＣＰＵ
７０３  メモリ
７０４  キーボード
７０５  ポインティングデバイス
７０６  補助記憶装置
７０７  ＣＲＴ
８０１  処理テーブル
【図１】
0003591625.tif 000002
【図２】
0003591625.tif 000003
【図３】
0003591625.tif 000004
【図４】
0003591625.tif 000005
【図５】
0003591625.tif 000006
【図６】
0003591625.tif 000007
【図７】
0003591625.tif 000008
【図８】
0003591625.tif 000009
【図９】
0003591625.tif 000010
【図１０】
0003591625.tif 000011