JPH11175740A - 太線描画方法および装置 - Google Patents

太線描画方法および装置

Info

Publication number
JPH11175740A
JPH11175740A JP9335699A JP33569997A JPH11175740A JP H11175740 A JPH11175740 A JP H11175740A JP 9335699 A JP9335699 A JP 9335699A JP 33569997 A JP33569997 A JP 33569997A JP H11175740 A JPH11175740 A JP H11175740A
Authority
JP
Japan
Prior art keywords
line
pixel
point
drawn
curve
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9335699A
Other languages
English (en)
Inventor
Kazutoshi Suzuki
和敏 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP9335699A priority Critical patent/JPH11175740A/ja
Publication of JPH11175740A publication Critical patent/JPH11175740A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】太線直線を描画するための構成方法と大差のな
い簡便な構成で、正確な太線曲線を描画することのでき
る太線描画方法および装置を提供する。 【解決手段】基準線走査手段(3)で描画しようとする
曲線の形状に基づく基準線上を走査し、各走査点におい
て方向計算手段(4)が基準線の進行方向に直交する方
向を算出し、法線ベクトル発生手段(5)が基準線の進
行方向に直交し、かつ、描画しようとする曲線の線幅に
等しい長さの法線ベクトルを発生させ、描画手段(6)
が線幅を有する太線の曲線を法線ベクトルの集合として
ページバッファ(7)に描画する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、プリンタ装置や
プロッタ装置等を用いて太線描画したり、CADシステ
ムやコンピュータグラフィクス等において太線を描画す
る太線描画方法および装置に関し、特に、曲線を描画す
る際にも容易に正確な太線を描画することのできる太線
描画方法および装置に関する。
【0002】
【従来技術】従来、太線描画装置としては、入力された
(描画しようとする太線の)始点および終点、線幅に基
づいて図14に示すような方法で太線を描画するものが
知られている。例えば、図14(a)に示す第1の方法
では、入力された太線の線幅を直径とする円形の画素パ
ターンを入力された太線の始点から終点まで重ね合わせ
ることによって所望の太線を描画する。
【0003】図14(b)に示す第2の方法では、1画
素分の線幅を有する直線を入力された太線の始点から終
点まで生成し、この生成した直線を複数本描画すること
で入力された線幅を有する太線を描画する。このような
太線描画装置としては特開平5−242259号公報に
提案された装置などがある。
【0004】図14(c)に示す第3の方法では、入力
された始点および終点、線幅から描画しようとする太線
の輪郭線を描画し、その輪郭線の内側を塗り潰すことに
より所望の太線を描画している。
【0005】また、図14(d)に示す第4の方法で
は、入力された始点から終点の方向(描画しようとする
太線の方向)に直交し長さが描画しようとする太線の線
幅に等しい直線を複数本生成し、これを始点から終点ま
で描画することで太線を描画している。このような太線
描画装置としては、特開平8−279038号公報に提
案された装置などがある。
【0006】ところで、太線曲線を描画する方法として
は、描画しようとする太線曲線を複数の直線区間に分割
し、分割して得られた個々の直線区間を上述の太線描画
方法により描画する方法が知られている。この方法で
は、描画された太線曲線は、図15に示すように曲線1
010を太線で描画しようとする場合には、この描画し
ようとする太線曲線を複数の太線直線1001乃至10
03で構成することになる。
【0007】
【発明が解決しようとする課題】ところが、描画しよう
とする曲線を複数の直線に分割して描画する場合、分割
の細かさを決定するための手段が必要となり、処理が複
雑となってしまう。
【0008】また、従来の第1の方法で太線を描画する
太線描画装置では、曲線の端点形状が円形に限定されて
しまい、従来の第2乃至4に示した方法で太線を描画す
る太線描画装置では、描画しようとする曲線を適切な細
かさで分割しなければ、曲線の形状や曲線の端点形状が
描画しようとする曲線とは異なってしまうことになる。
【0009】そこで、この発明は、太線直線を描画する
ための構成方法と大差のない簡便な構成で、正確な太線
曲線を描画することのできる太線描画方法および装置を
提供することを目的とする。
【0010】
【課題を解決するための手段】上述した目的を達成する
ため、請求項1の発明では、所望の線幅を有する曲線を
描画する太線描画方法において、描画しようとする曲線
に沿った始点と終点とを結ぶ基準線を生成するととも
に、前記基準線上の各座標点で前記基準線の進行方向に
直交し、かつ、前記線幅と等しい長さの画素列を順次描
画し、前記画素列の集合で前記所望の線幅を有する曲線
を描画することを特徴とする。
【0011】また、請求項2の発明では、請求項1の発
明において、前記基準線上の第1の座標点に基づき描画
された第1の画素列の少なくとも一方の端点と次に前記
基準線上の第2の座標点に基づき描画される第2の画素
列の対応する端点とが隣接していない場合は、前記第1
の座標点と前記第2の座標点と前記第1の画素列の隣接
していない第1の端点と前記第2の画素列の隣接してい
ない第2の端点との4点で囲まれる領域内の全ての画素
を描画することを特徴とする。
【0012】また、請求項3の発明では、請求項1また
は2の発明において、前記描画しようとする曲線が破線
の場合には、前記座標点の前記始点からの移動距離を算
出し、該移動距離に基づき前記座標点が破線の実線部で
あるか否かを判定し、該座標点が破線の実線部であった
場合にのみ前記画素列の描画を行うことを特徴とする。
【0013】また、請求項4の発明では、所望の線幅を
有する曲線を描画する太線描画方法において、描画しよ
うとする曲線に沿った始点と終点とを結ぶ基準線を生成
するとともに、前記基準線上の各座標点で前記基準線の
進行方向に直交し、かつ、前記線幅と等しい長さの画素
列の端点を記憶し、連続する2つの画素列の端点からな
る4点で囲まれる領域内の全ての画素を描画し、これを
全画素列に対して行うことを特徴とする。
【0014】また、請求項5の発明では、請求項4の発
明において、前記描画しようとする曲線が破線の場合に
は、前記座標点の前記始点からの移動距離を算出し、該
移動距離に基づき前記座標点が破線の実線部であるか否
かを判定し、該座標点が破線の実線部であった場合にの
み前記画素の描画を行うことを特徴とする。
【0015】また、請求項6の発明では、所望の線幅を
有する曲線を描画する太線描画装置において、描画しよ
うとする曲線に沿った始点と終点とを結ぶ基準線を生成
する基準線生成手段と、該基準線生成手段により生成さ
れた基準線上の各座標点で前記基準線の進行方向に直交
し、かつ、前記線幅と等しい長さの画素列を生成する画
素列生成手段と、該画素列生成手段により生成された画
素列を描画する画素列描画手段とを具備することを特徴
とする。
【0016】また、請求項7の発明では、請求項6の発
明において、前記画素列描画手段により前記基準線上の
第1の座標点に基づき描画された第1の画素列の少なく
とも一方の端点と次に前記基準線上の第2の座標点に基
づき描画される第2の画素列の対応する端点とを比較す
る比較手段と、該比較手段の比較結果に基づき前記第1
の座標点と前記第2の座標点と前記第1の画素列の隣接
していない第1の端点と前記第2の画素列の隣接してい
ない第2の端点との4点で囲まれる領域内の全ての画素
を描画する画素描画手段とを具備することを特徴とす
る。
【0017】また、請求項8の発明では、請求項6また
は7の発明において、前記座標点の前記始点からの移動
距離を算出する移動距離算出手段と、該移動距離算出手
段が算出する移動距離に基づき前記座標点が破線の実線
部であるか否かを判定する破線部判定手段とをさらに具
備し、前記破線部判定手段の判定結果に基づき前記画素
列描画手段を動作させることを特徴とする。
【0018】また、請求項9の発明では、所望の線幅を
有する曲線を描画する太線描画装置において、描画しよ
うとする曲線に沿った始点と終点とを結ぶ基準線を生成
する基準線生成手段と、該基準線生成手段により生成さ
れた基準線上の各座標点で前記基準線の進行方向に直交
し、かつ、前記線幅と等しい長さの画素列を生成する画
素列生成手段と、該画素列生成手段により生成された画
素列の端点を記憶する端点記憶手段と、該端点記憶手段
により記憶された連続する2つの画素列の端点からなる
4点で囲まれる領域内の全ての画素を描画する画素描画
手段とを具備することを特徴とする。
【0019】また、請求項10の発明では、請求項9の
発明において、前記座標点の前記始点からの移動距離を
算出する移動距離算出手段と、該移動距離算出手段が算
出する移動距離に基づき前記座標点が破線の実線部であ
るか否かを判定する破線部判定手段とをさらに具備し、
前記破線部判定手段の判定結果に基づき前記画素描画手
段を動作させることを特徴とする。
【0020】
【発明の実施の形態】以下、この発明に係わる太線描画
方法および装置の一実施例を添付図面を参照して詳細に
説明する。
【0021】図1は、太線描画装置の概略構成を示すブ
ロック図である。図1において、太線描画装置1は、初
期値認識手段2、基準線走査手段3、方向計算手段4、
法線ベクトル発生手段5、描画手段6、ページバッファ
7を具備して構成され、例えばコンピュータによって実
現される。
【0022】初期値認識手段2は、描画しようとする曲
線の始点、終点、線幅、曲線形状を認識する手段であ
る。これは、例えばキーボードやマウス等の入力装置か
ら構成され、ユーザが入力した(描画しようとしてい
る)曲線の始点座標、終点座標、線幅、曲線形状に基づ
いて、その曲線を複数の点の集合として認識する。ま
た、座標変換機能を設け、曲線を特定するための他の特
徴を入力するようにすることもできる。
【0023】基準線走査手段3、方向計算手段4、法線
ベクトル発生手段5、描画手段6は、初期値認識手段2
が認識した曲線の曲線上の各点において、曲線の線幅に
等しい長さを持った法線を生成し、この法線を対応した
曲線上の点を基準として描画することで所望の太線の曲
線を得るものであり、例えば、CPU等の演算装置によ
って構成される。
【0024】ページバッファ7は、描画手段6によって
発生された太線曲線を構成する画素を格納し、例えばR
AM等の半導体メモリやハードディスク等の外部記憶装
置によって構成される。
【0025】次に、基準線走査手段3、方向計算手段
4、法線ベクトル発生手段5、描画手段6について詳細
に説明する。図2は、太線描画装置1の詳細構成を示す
ブロック図である。
【0026】基準線走査手段3は、走査座標格納手段3
1と走査点移動手段32を具備している。基準線走査手
段3は初期値認識手段2が認識した曲線上の各点を順次
走査するが、走査座標格納手段31は現在処理を行って
いる走査点を保持するための手段であり、走査点移動手
段32は始点から終点に向かって曲線上の走査点を隣接
した座標に移動する、すなわち、次の走査点を求めるた
めの手段である。走査点の移動は、例えば図3に示すよ
うに、まず、本来描画すべき曲線である基準線101と
1/2ドットだけ平行移動した曲線102を考える。平
行移動する方向は、変化量の小さい側の座標軸(図3の
例ではx軸)について、座標変化する方向と逆の方向
(図3の例では座標変化する−方向と逆の+方向)であ
る。走査点移動手段32は、この曲線102を横切らな
いように走査点を移動させることで次の走査点を求める
ことができる。なお、図3の例では走査点をP1からP
8まで順次移動させている。
【0027】方向計算手段4は、接線計算手段41と9
0度回転手段42を具備しており、接線計算手段41は
走査点上における曲線の接線方向を、例えば、予め与え
られた曲線の微分方程式から算出し、90度回転手段4
2は接線計算手段41が算出した接線方向を90度回転
させて法線方向を求める。
【0028】法線ベクトル発生手段5は、走査点移動手
段32が求めた走査点と90度回転手段42が求めたそ
の走査点上の法線方向に基づいて、描画しようとしてい
る太線の線幅を長さとする描画点列(法線ベクトル)を
生成する。
【0029】描画手段6は、法線ベクトル描画手段61
と画素抜け防止手段62、終了条件判定手段63を具備
しており、法線ベクトル描画手段61は、法線ベクトル
発生手段5が生成した描画点列をページバッファ7上に
描画する。また、画素抜け防止手段62は、法線ベクト
ル描画手段61が描画した描画点列の隙間によって発生
する画素抜けを防止するために、その隙間を塗り潰す。
画素抜けの防止は、例えば、法線ベクトル発生手段5が
生成した描画点列の端点と前回の走査点における描画点
列の端点を比較し、両者が隣接していない場合には、各
走査点とそれぞれの端点を結ぶ領域を塗り潰すことで行
う。終了条件判定手段63は、走査点座標が終点座標に
達したか否かを判定し、終点座標に達した場合には曲線
描画を終了し、終点座標に達しない場合には走査点移動
手段32に次の走査点を求めるように指示する手段であ
る。
【0030】ここで、図4を参照して太線描画装置1の
動作を説明する。図4は、太線描画装置1の動作の流れ
を示すフローチャートである。
【0031】太線描画装置1は、ユーザが初期値認識手
段2へ描画する曲線の始点や終点、線幅、曲線の形状を
入力すると動作を開始し(ステップ201)、まず、初
期値認識手段2が初期座標を走査を開始する座標として
設定する(ステップ202)。
【0032】初期値認識手段2が設定した座標は、走査
座標格納手段31に格納され、接線計算手段41で走査
座標における接線方向が求められ(ステップ203)、
次いで90度回転手段42で走査座標における法線方向
が求められ、法線ベクトル発生手段5で法線ベクトルを
生成してこの法線ベクトルが法線ベクトル描画手段61
によりページバッファ7上に描画される(ステップ20
4)。
【0033】このとき、画素抜け防止手段62は、法線
ベクトル描画手段61が描画した法線ベクトルの両端の
座標を求め記憶しておく(ステップ205)。
【0034】次ぎに、終了条件判定手段63が走査座標
が終点座標に達したか否かを判定し(ステップ20
6)、走査座標が終点座標に達していなければ(ステッ
プ206でNO)、走査点移動手段32が走査座標を更
新し(ステップ207)、更新した走査座標に対して同
様に接線方向が求められ(ステップ208)、次いで9
0度回転手段42で走査座標における法線方向が求めら
れ、法線ベクトル発生手段5で法線ベクトルを生成して
この法線ベクトルが法線ベクトル描画手段61によりペ
ージバッファ7上に描画される(ステップ209)。
【0035】また、画素抜け防止手段62は、法線ベク
トル描画手段61が描画した法線ベクトルの両端の座標
を求めて記憶し(ステップ210)、前回の走査座標で
描画した法線ベクトルの両端と今回の走査座標で描画し
た法線ベクトルの両端とが隣接しているか否かを判定し
(ステップ211)、隣接していなければ(ステップ2
11でNO)、画素抜け防止処理を行い(ステップ21
2)、隣接していれば(ステップ211でYES)、そ
のままでステップ206に戻り同様の処理を繰り返す。
【0036】これらの処理は、走査座標が終点座標に達
するまで繰り返され(ステップ206でNO)、走査座
標が終点座標に達したら(ステップ206でYES)、
曲線描画処理を終了する(ステップ213)。
【0037】ここで、図5に法線ベクトルの描画例を示
し、図6に画素抜け防止処理例を示す。
【0038】図5において、PN(N=1〜8)は走査
座標を示しており、pN(N=1〜8)は、走査座標P
Nにおいて描画された法線ベクトルを示している。ま
た、QN(N=3、5、7、8)は走査座標PNにおけ
る画素抜け処理で描画された画素である。
【0039】画素抜け処理は図6に示すように、例えば
Q3で示す画素を描画する場合には、走査座標P3での
法線ベクトル(p3)の描画を行った後(この段階では
P4〜P8、p4〜p8は、描画されていない)、走査
座標P2、P3、法線ベクトルp2、p3の各端点で囲
まれる領域を描画する方法で行われる。
【0040】次ぎに、この発明に係わる太線描画方法お
よび装置の第2の実施例について説明する。図7は、太
線描画装置の構成を示すブロック図である。
【0041】図7において太線描画装置1′は、初期値
認識手段2′、基準線走査手段3′、方向計算手段
4′、法線ベクトル発生手段5′、描画手段6′、ペー
ジバッファ7′を具備して構成される。また、初期値認
識手段2′は破線初期値認識手段21′と曲線初期値認
識手段22′を、基準線走査手段3′は走査座標格納手
段31′と走査点移動手段32′と走査距離演算手段3
3′を、方向計算手段4′は接線計算手段41′と90
度回転手段42′を、描画手段6′は法線ベクトル描画
手段61′と画素抜け防止手段62′と終了条件判定手
段63′と線分間隔判定手段64′を各々具備してい
る。
【0042】この太線描画装置1′は、上述の第1の実
施例で示した図2の太線描画装置1に破線初期値認識手
段21′と走査距離演算手段33′、線分間隔判定手段
64′を加えた構成であるため、図2に示した太線描画
装置1と同一の構成部分の説明は省略する。なお、曲線
初期値認識手段22′は、図2に示した初期値認識手段
2に該当する。
【0043】さて、破線初期値認識手段21′は、描画
しようとする太線の曲線が破線の場合に、その破線の実
線部の長さ、間隔部の長さ、破線オフセット値を認識す
る手段であり、例えば、キーボードやマウス等の入力装
置で構成される。また、変換機能を設け、破線を特定す
ることのできる別の特徴を入力させてもよい。
【0044】走査距離演算手段33′は、走査点移動手
段32′により移動した走査点の移動変移量を積算し、
走査始点からの移動距離を求める手段であり、例えば、
隣接する走査点への移動では1を加算し、斜めの座標へ
の移動では1.414(2の平方根)を加算する。
【0045】線分間隔判定手段64′は、破線初期値認
識手段21′により認識された破線の特徴と、走査距離
演算手段33′が演算した走査距離に基づいて、現在の
走査点が破線の実線部であるか間隔部であるかを判定
し、間隔部であった場合には法線ベクトル描画手段6
1′と画素抜け防止手段62′の動作を抑止させる手段
である。
【0046】図8は、太線描画装置1′の動作の流れを
示すフローチャートである。
【0047】太線描画装置1′は、ユーザが曲線初期値
認識手段22′へ描画する曲線の特徴を入力し、破線初
期値認識手段21′へ破線の特徴を入力すると動作を開
始し(ステップ301)、まず、曲線初期値認識手段2
2′が初期座標を走査を開始する座標として設定する
(ステップ302)。
【0048】曲線初期値認識手段22′が設定した座標
は、走査座標格納手段31′に格納され、接線計算手段
41′で走査座標における接線方向が求められ(ステッ
プ303)、次いで90度回転手段42′で走査座標に
おける法線方向が求められ、法線ベクトル発生手段5′
で法線ベクトルを生成してこの法線ベクトルが法線ベク
トル描画手段61′によりページバッファ7′上に描画
される(ステップ304)。
【0049】このとき、画素抜け防止手段62′は、法
線ベクトル描画手段61′が描画した法線ベクトルの両
端の座標を求め記憶しておく(ステップ305)。
【0050】次ぎに、終了条件判定手段63′が走査座
標が終点座標に達したか否かを判定し(ステップ30
6)、走査座標が終点座標に達していなければ(ステッ
プ306でNO)、走査点移動手段32′が走査座標を
更新し(ステップ307)、走査距離演算手段33′が
走査距離を演算する(ステップ308)。ここで、更新
した走査座標が破線の実線部か間隔部であるかを判定し
(ステップ309)、実線部であれば(ステップ309
でYES)、接線計算手段41′でその走査点での曲線
の接線方向が求められ(ステップ310)、次いで90
度回転手段42′で走査座標における法線方向が求めら
れ、法線ベクトル発生手段5′で法線ベクトルを生成し
てこの法線ベクトルが法線ベクトル描画手段61′によ
りページバッファ7′上に描画される(ステップ31
1)。
【0051】また、画素抜け防止手段62′は、法線ベ
クトル描画手段61′が描画した法線ベクトルの両端の
座標を求めて記憶し(ステップ312)、前回の走査座
標で描画した法線ベクトルの両端と今回の走査座標で描
画した法線ベクトルの両端とが隣接しているか否かを判
定し(ステップ313)、隣接していなければ(ステッ
プ313でNO)、画素抜け防止処理を行い(ステップ
314)、隣接していれば(ステップ313でYE
S)、そのままでステップ306に戻り同様の処理を繰
り返す。
【0052】また、ステップ309で、走査座標が破線
の間隔部であった場合には(ステップ309でNO)、
ステップ310乃至314の処理を行わずにステップ3
06に戻る。
【0053】これらの処理は、走査座標が終点座標に達
するまで繰り返され(ステップ306でNO)、走査座
標が終点座標に達したら(ステップ306でYES)、
曲線描画処理を終了する(ステップ315)。
【0054】図9は、太線描画装置1′による法線ベク
トルの描画例を示した図であり、走査点P1、P2、P
3、P7、P8では、破線の実線部として法線ベクトル
の描画処理を行い、走査点P4、P5、P6では破線の
間隔部として法線ベクトルの描画処理を行わなかった場
合の例を示している。
【0055】次ぎに、この発明に係わる太線描画方法お
よび装置の第3の実施例について説明する。
【0056】図10は、太線描画装置の構成を示すブロ
ック図である。
【0057】図10において太線描画装置1″は、初期
値認識手段2″、基準線走査手段3″、方向計算手段
4″、法線ベクトル端点発生手段5″、描画手段6″、
ページバッファ7″、端点記憶手段8″を具備して構成
される。また、初期値認識手段2″は破線初期値認識手
段21″と曲線初期値認識手段22″を、基準線走査手
段3″は走査座標格納手段31″と走査点移動手段3
2″と走査距離演算手段33″と終了条件判定手段3
4″を、方向計算手段4″は接線計算手段41″と90
度回転手段42″を、描画手段6″は線分間隔判定手段
64″と4頂点画素発生手段65″を各々具備してい
る。
【0058】破線初期値認識手段21″は、描画しよう
とする太線の曲線が破線の場合に、その破線の実線部の
長さ、間隔部の長さ、破線オフセット値を認識する手段
であり、曲線初期値認識手段22′は描画しようとする
曲線の始点、終点、線幅、曲線形状を認識する手段であ
る。
【0059】また、走査座標格納手段31″は現在処理
を行っている走査点を保持するための手段であり、走査
点移動手段32″は始点から終点に向かって曲線上の走
査点を隣接した座標に移動する手段、走査距離演算手段
33″は走査点移動手段32″により移動した走査点の
移動変移量を積算して走査始点からの移動距離を求める
手段、終了条件判定手段34″は走査点座標が終点座標
に達したか否かを判定し、終点座標に達した場合には曲
線描画を終了し、終点座標に達しない場合には走査点移
動手段32″に次の走査点を求めるように指示する手段
である。
【0060】接線計算手段41″は走査点上における曲
線の接線方向を算出する手段であり、90度回転手段4
2″は接線計算手段41″が算出した接線方向を90度
回転させて法線方向を求める手段である。
【0061】法線ベクトル端点発生手段5″は、走査点
移動手段32″が求めた走査点と90度回転手段42″
が求めたその走査点上の法線方向に基づいて、描画しよ
うとしている太線の線幅を長さとする法線ベクトルの端
点を生成する。
【0062】4頂点画素発生手段65″は、法線ベクト
ル端点発生手段5″が生成した端点座標と後述する端点
記憶手段8″により記憶された前回の走査点での端点を
頂点とする四角形の内部を塗り潰す画素列を発生してペ
ージバッファ7″に描画し、線分間隔判定手段64″
は、破線初期値認識手段21″により認識された破線の
特徴と、走査距離演算手段33″が演算した走査距離に
基づいて、現在の走査点が破線の実線部であるか間隔部
であるかを判定し、間隔部であった場合には4頂点画素
発生手段65″の動作を抑止させる手段である。
【0063】また、端点記憶手段8″は法線ベクトル端
点発生手段5″が発生した法線ベクトルの端点を記憶す
る手段である。
【0064】なお、この太線描画装置1″では、破線を
描画しない場合には、破線初期値認識手段21″と走査
距離演算手段33″、線分間隔判定手段64″を具備す
る必要はない。
【0065】ここで、太線描画装置1″の動作を説明す
る。図11は、太線描画装置1″の動作の流れを示すフ
ローチャートである。
【0066】太線描画装置1″は、ユーザが曲線初期値
認識手段22″へ描画する曲線の特徴を入力し、破線初
期値認識手段21″へ破線の特徴を入力すると動作を開
始し(ステップ401)、まず、曲線初期値認識手段2
2″が初期座標を走査を開始する座標として設定する
(ステップ402)。
【0067】曲線初期値認識手段22″が設定した座標
は、走査座標格納手段31″に格納され、接線計算手段
41″で走査座標における接線方向が求められ(ステッ
プ403)、次いで90度回転手段42″で走査座標に
おける法線方向が求められ、法線ベクトル端点発生手段
5″で法線ベクトルの端点を生成し(ステップ40
4)、この端点が端点記憶手段8″に記憶される(ステ
ップ405)。
【0068】次ぎに、終了条件判定手段34″が走査座
標が終点座標に達したか否かを判定し(ステップ40
6)、走査座標が終点座標に達していなければ(ステッ
プ406でNO)、走査点移動手段32″が走査座標を
更新し(ステップ407)、走査距離演算手段33″が
走査距離を演算する(ステップ408)。
【0069】次ぎに、接線計算手段41″でその走査点
での曲線の接線方向が求められ(ステップ409)、次
いで90度回転手段42″で走査座標における法線方向
が求められ法線ベクトル端点発生手段5″で法線ベクト
ルの端点が生成され(ステップ410)、この端点が端
点記憶手段8″に記憶される(ステップ411)。
【0070】ここで、走査距離演算手段33″が演算し
た走査距離に基づいて走査座標が破線の実線部か間隔部
であるかを判定し(ステップ412)、実線部であれば
(ステップ412でYES)、4頂点画素発生手段6
5″が端点記憶手段8″に記憶された現在の走査座標で
の端点と前回の走査座標での端点を頂点とした四角形の
内部を塗り潰す画素列を発生してページバッファ7″に
描画し(ステップ413)、ステップ406に戻る。
【0071】また、走査座標が破線の間隔部であった場
合には(ステップ412でNO)、ステップ413の処
理を行わずにステップ306に戻る。
【0072】これらの処理は、走査座標が終点座標に達
するまで繰り返され(ステップ406でNO)、走査座
標が終点座標に達したら(ステップ406でYES)、
曲線描画処理を終了する(ステップ414)。
【0073】なお、この太線描画装置1″が、破線を描
画しない構成で破線初期値認識手段21″と走査距離演
算手段33″、線分間隔判定手段64″を具備しない場
合にはステップ408および412の処理は行わない。
【0074】図12は、太線描画装置1″での曲線の描
画例を示した図であり、PN(N=1〜8)は走査座標
を示しており、pN(N=1〜8)は走査座標PNにお
ける法線ベクトルの端点を示している。なお、この太線
描画装置1″ではその描画方法のため、画素抜けは生じ
ない。
【0075】図13は、上述の第1の実施例乃至第3の
実施例で説明した太線描画装置1(1′、1″)での描
画結果を示す図であり、101は基準線を示し、従来技
術の説明で参照した図15と比較して正確な形状の太線
を描画することができることを示している。
【0076】また、上述の第1の実施例乃至第3の実施
例では、曲線の太線を描画する場合を説明したが、同様
の方法で直線の太線を描画することが可能であり、直線
を描画する場合には接線方向および法線方向の算出を省
略することができる。
【0077】なお、上述の各実施例における曲線の描画
方法は、線幅を持たない基準線を描画できる、つまり、
曲線上の座標をf(x,y)=0といった関数で表現で
きることと、曲線の進行方向が計算できる、つまり、曲
線上の任意の点での微分係数が座標の関数dx/dy=
f′(x,y)で表せるといった2つの条件を満たせば
適用可能であるため、適用範囲は広範囲である。
【0078】
【発明の効果】以上説明したように、この発明によれ
ば、描画しようとする曲線の形状に基づく基準線上を走
査し、各走査点において基準線の進行方向に直交し、か
つ、描画しようとする曲線の線幅に等しい長さの画素列
(法線ベクトル)を発生させ、この画素列の集合として
線幅を有する太線の曲線を描画するように構成したの
で、曲線上のあらゆる点において線幅が正確で、始点や
終点においても正確な端点形状を有する太線の曲線を描
画することができる。
【0079】また、破線を描画する際にも破線の実線部
の間隔を正確に描画することができる。
【図面の簡単な説明】
【図1】太線描画装置の概略構成を示すブロック図。
【図2】太線描画装置1の詳細構成を示すブロック図。
【図3】走査点の移動方法を説明するための図。
【図4】太線描画装置1の動作の流れを示すフローチャ
ート。
【図5】法線ベクトルの描画例を示した図。
【図6】画素抜け防止処理例を示した図。
【図7】第2の実施例における太線描画装置の構成を示
すブロック図。
【図8】太線描画装置1′の動作の流れを示すフローチ
ャート。
【図9】太線描画装置1′による法線ベクトルの描画例
を示した図。
【図10】第3の実施例における太線描画装置の構成を
示すブロック図。
【図11】太線描画装置1″の動作の流れを示すフロー
チャート。
【図12】太線描画装置1″での曲線の描画例を示した
図。
【図13】上述の第1の実施例乃至第3の実施例で説明
した太線描画装置1(1′、1″)での描画結果を示し
た図。
【図14】従来の太線描画方法を説明するための図。
【図15】従来の太線曲線描画方法を説明するための
図。
【符号の説明】
1、1′、1″ 太線描画装置 2、2′、2″ 初期値認識手段 3、3′、3″ 基準線走査手段 4、4′、4″ 方向計算手段 5、5′、5″ 法線ベクトル発生手段 6、6′、6″ 描画手段 7、7′、7″ ページバッファ 8″ 端点記憶手段 21′、21″ 破線初期値認識手段 22′、22″ 曲線初期値認識手段 31、31′、31″ 走査座標格納手段 32、32′、32″ 走査点移動手段 33′、33″ 走査距離演算手段 34″ 終了条件判定手段 41、41′、41″ 接線計算手段 42、42′、42″ 90度回転手段 61、61′ 法線ベクトル描画手段 62、62′ 画素抜け防止手段 63、63′ 終了条件判定手段 64′、64″ 線分間隔判定手段 65″ 4頂点画素発生手段 101 基準線 102 曲線

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 所望の線幅を有する曲線を描画する太線
    描画方法において、 描画しようとする曲線に沿った始点と終点とを結ぶ基準
    線を生成するとともに、前記基準線上の各座標点で前記
    基準線の進行方向に直交し、かつ、前記線幅と等しい長
    さの画素列を順次描画し、前記画素列の集合で前記所望
    の線幅を有する曲線を描画することを特徴とする太線描
    画方法。
  2. 【請求項2】 前記基準線上の第1の座標点に基づき描
    画された第1の画素列の少なくとも一方の端点と次に前
    記基準線上の第2の座標点に基づき描画される第2の画
    素列の対応する端点とが隣接していない場合は、 前記第1の座標点と前記第2の座標点と前記第1の画素
    列の隣接していない第1の端点と前記第2の画素列の隣
    接していない第2の端点との4点で囲まれる領域内の全
    ての画素を描画することを特徴とする請求項1記載の太
    線描画方法。
  3. 【請求項3】 前記描画しようとする曲線が破線の場合
    には、前記座標点の前記始点からの移動距離を算出し、
    該移動距離に基づき前記座標点が破線の実線部であるか
    否かを判定し、該座標点が破線の実線部であった場合に
    のみ前記画素列の描画を行うことを特徴とする請求項1
    または2記載の太線描画方法。
  4. 【請求項4】 所望の線幅を有する曲線を描画する太線
    描画方法において、 描画しようとする曲線に沿った始点と終点とを結ぶ基準
    線を生成するとともに、前記基準線上の各座標点で前記
    基準線の進行方向に直交し、かつ、前記線幅と等しい長
    さの画素列の端点を記憶し、連続する2つの画素列の端
    点からなる4点で囲まれる領域内の全ての画素を描画
    し、これを全画素列に対して行うことを特徴とする太線
    描画方法。
  5. 【請求項5】 前記描画しようとする曲線が破線の場合
    には、前記座標点の前記始点からの移動距離を算出し、
    該移動距離に基づき前記座標点が破線の実線部であるか
    否かを判定し、該座標点が破線の実線部であった場合に
    のみ前記画素の描画を行うことを特徴とする請求項4記
    載の太線描画方法。
  6. 【請求項6】 所望の線幅を有する曲線を描画する太線
    描画装置において、 描画しようとする曲線に沿った始点と終点とを結ぶ基準
    線を生成する基準線生成手段と、 該基準線生成手段により生成された基準線上の各座標点
    で前記基準線の進行方向に直交し、かつ、前記線幅と等
    しい長さの画素列を生成する画素列生成手段と、 該画素列生成手段により生成された画素列を描画する画
    素列描画手段とを具備することを特徴とする太線描画装
    置。
  7. 【請求項7】 前記画素列描画手段により前記基準線上
    の第1の座標点に基づき描画された第1の画素列の少な
    くとも一方の端点と次に前記基準線上の第2の座標点に
    基づき描画される第2の画素列の対応する端点とを比較
    する比較手段と、 該比較手段の比較結果に基づき前記第1の座標点と前記
    第2の座標点と前記第1の画素列の隣接していない第1
    の端点と前記第2の画素列の隣接していない第2の端点
    との4点で囲まれる領域内の全ての画素を描画する画素
    描画手段とを具備することを特徴とする請求項6記載の
    太線描画装置。
  8. 【請求項8】 前記座標点の前記始点からの移動距離を
    算出する移動距離算出手段と、 該移動距離算出手段が算出する移動距離に基づき前記座
    標点が破線の実線部であるか否かを判定する破線部判定
    手段とをさらに具備し、 前記破線部判定手段の判定結果に基づき前記画素列描画
    手段を動作させることを特徴とする請求項6または7記
    載の太線描画装置。
  9. 【請求項9】 所望の線幅を有する曲線を描画する太線
    描画装置において、 描画しようとする曲線に沿った始点と終点とを結ぶ基準
    線を生成する基準線生成手段と、 該基準線生成手段により生成された基準線上の各座標点
    で前記基準線の進行方向に直交し、かつ、前記線幅と等
    しい長さの画素列を生成する画素列生成手段と、 該画素列生成手段により生成された画素列の端点を記憶
    する端点記憶手段と、 該端点記憶手段により記憶された連続する2つの画素列
    の端点からなる4点で囲まれる領域内の全ての画素を描
    画する画素描画手段とを具備することを特徴とする太線
    描画装置。
  10. 【請求項10】 前記座標点の前記始点からの移動距離
    を算出する移動距離算出手段と、 該移動距離算出手段が算出する移動距離に基づき前記座
    標点が破線の実線部であるか否かを判定する破線部判定
    手段とをさらに具備し、 前記破線部判定手段の判定結果に基づき前記画素描画手
    段を動作させることを特徴とする請求項9記載の太線描
    画装置。
JP9335699A 1997-12-05 1997-12-05 太線描画方法および装置 Pending JPH11175740A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9335699A JPH11175740A (ja) 1997-12-05 1997-12-05 太線描画方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9335699A JPH11175740A (ja) 1997-12-05 1997-12-05 太線描画方法および装置

Publications (1)

Publication Number Publication Date
JPH11175740A true JPH11175740A (ja) 1999-07-02

Family

ID=18291501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9335699A Pending JPH11175740A (ja) 1997-12-05 1997-12-05 太線描画方法および装置

Country Status (1)

Country Link
JP (1) JPH11175740A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006132112A1 (ja) * 2005-06-06 2006-12-14 Matsushita Electric Industrial Co., Ltd. 曲線描画装置、曲線描画方法、駐車支援装置及び車両
JP2010092480A (ja) * 2008-10-06 2010-04-22 Arm Ltd グラフィックス処理システム
JP2011028756A (ja) * 2009-07-28 2011-02-10 Arm Ltd グラフィックス処理システム
US8743135B2 (en) 2008-10-06 2014-06-03 Arm Limited Graphics processing systems
US8928668B2 (en) 2008-10-06 2015-01-06 Arm Limited Method and apparatus for rendering a stroked curve for display in a graphics processing system
CN113275156A (zh) * 2021-04-30 2021-08-20 林梅琴 一种平板显示器的加工设备

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006132112A1 (ja) * 2005-06-06 2006-12-14 Matsushita Electric Industrial Co., Ltd. 曲線描画装置、曲線描画方法、駐車支援装置及び車両
JP2010092480A (ja) * 2008-10-06 2010-04-22 Arm Ltd グラフィックス処理システム
CN101714261A (zh) * 2008-10-06 2010-05-26 Arm有限公司 图形处理系统
US8743135B2 (en) 2008-10-06 2014-06-03 Arm Limited Graphics processing systems
US8928668B2 (en) 2008-10-06 2015-01-06 Arm Limited Method and apparatus for rendering a stroked curve for display in a graphics processing system
US8928667B2 (en) 2008-10-06 2015-01-06 Arm Limited Rendering stroked curves in graphics processing systems
JP2011028756A (ja) * 2009-07-28 2011-02-10 Arm Ltd グラフィックス処理システム
CN113275156A (zh) * 2021-04-30 2021-08-20 林梅琴 一种平板显示器的加工设备

Similar Documents

Publication Publication Date Title
US5611037A (en) Method and apparatus for generating image
JP6169876B2 (ja) 電子ビーム描画装置、描画用図形データ作成装置、電子ビーム描画方法、描画用図形データ作成方法、およびプログラム
JP2608571B2 (ja) 入力走査画像データのベクトル化のための装置及び方法
US5524198A (en) Character or graphic processing method and apparatus
JPH11175740A (ja) 太線描画方法および装置
JPH08504984A (ja) 平面の技術的曲線ないし等高線を形成する方法
JP5566158B2 (ja) 画像処理方法、画像処理装置、及びプログラム
JP2674287B2 (ja) グラフィックマイクロコンピュータ
JP2004139485A (ja) 要約地図生成装置、道路地図変換装置、該プログラム、及び要約地図サービスシステム
JP5629483B2 (ja) 画像処理方法、画像処理装置、及びプログラム
JP3731221B2 (ja) 太線描画装置および太線描画方法
JP2003162728A (ja) 画像処理装置及び画像出力装置
JP2003044528A (ja) 物体の表面格子生成方法
JPH08194816A (ja) 線分近似方法および線分近似方式
JP3039015B2 (ja) 文字処理装置
JP3536894B2 (ja) 図形処理装置
JPH07262385A (ja) アウトラインデータ生成装置
KR100871825B1 (ko) 아웃라인 폰트 정보에 의거한 문자 처리 방법 및 그방법을 컴퓨터 시스템에 실행시키기 위한 컴퓨터소프트 웨어 프로그램 제품
JP2965021B2 (ja) 塗り込み処理方式、塗り込み処理方法および塗り込み処理プログラムを記録した記録媒体
JP3304255B2 (ja) ベジェ曲線近似装置
JPH10154237A (ja) 図形処理装置並びに図形処理方法
JPH10240952A (ja) 図形処理方法並びにその装置
JPH0425983A (ja) 図形描画装置
JPH08115073A (ja) 文字生成方法
JPH07334695A (ja) 作図装置および線幅決定方法

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20050614