JPH04217077A - 図形作成装置及びそれによる太線作成方法 - Google Patents
図形作成装置及びそれによる太線作成方法Info
- Publication number
- JPH04217077A JPH04217077A JP41129790A JP41129790A JPH04217077A JP H04217077 A JPH04217077 A JP H04217077A JP 41129790 A JP41129790 A JP 41129790A JP 41129790 A JP41129790 A JP 41129790A JP H04217077 A JPH04217077 A JP H04217077A
- Authority
- JP
- Japan
- Prior art keywords
- straight line
- point
- sequence data
- point sequence
- thick line
- 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
Links
- 238000000034 method Methods 0.000 title claims description 15
- 230000006870 function Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 2
Landscapes
- Image Generation (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】この発明は、ドットマトリックス
の表示装置や直線近似のアドレスデータを記録する装置
等に任意の太さの直線や図形を作成して送出する図形作
成装置及びそれによる太線作成方法に関する。
の表示装置や直線近似のアドレスデータを記録する装置
等に任意の太さの直線や図形を作成して送出する図形作
成装置及びそれによる太線作成方法に関する。
【0002】
【従来の技術】従来、このような図形作成装置によって
任意の太さの直線を発生させる際には、フレームメモリ
に基準とする太さ1ドットの直線(点列データ)を描画
して、その直線の始点及び終点をX方向あるいはY方向
のいずれか一方に順次ずらした直線を描画していって所
望の太さの直線(倍線)を発生させていた(例えば特開
昭51−113542号公報参照)。
任意の太さの直線を発生させる際には、フレームメモリ
に基準とする太さ1ドットの直線(点列データ)を描画
して、その直線の始点及び終点をX方向あるいはY方向
のいずれか一方に順次ずらした直線を描画していって所
望の太さの直線(倍線)を発生させていた(例えば特開
昭51−113542号公報参照)。
【0003】
【発明が解決しようとする課題】しかしながら、上述の
ように任意の太さの直線を発生させる時に、基準となる
点列データの始点及び終点をX方向あるいはY方向のい
ずれか一方にずらして順次描画していくのでは、太線の
描画方向が水平又は垂直方向の場合には差し支えないが
、描画方向が斜め方向の場合、例えば図6に示すように
描画後の各点列データの始点P1〜P4がX方向に並ん
で、太線5の円で囲んで示す端部の形状が尖ってしまっ
て不自然になるという問題があった。特に、太線にパタ
ーンが有る時には、そのパターンの切れ目毎に尖りが生
じてしまって不自然さが顕著になる。
ように任意の太さの直線を発生させる時に、基準となる
点列データの始点及び終点をX方向あるいはY方向のい
ずれか一方にずらして順次描画していくのでは、太線の
描画方向が水平又は垂直方向の場合には差し支えないが
、描画方向が斜め方向の場合、例えば図6に示すように
描画後の各点列データの始点P1〜P4がX方向に並ん
で、太線5の円で囲んで示す端部の形状が尖ってしまっ
て不自然になるという問題があった。特に、太線にパタ
ーンが有る時には、そのパターンの切れ目毎に尖りが生
じてしまって不自然さが顕著になる。
【0004】この発明は上記の点に鑑みてなされたもの
であり、端部の形状が自然な任意の太さの直線を容易に
描画できるようにすることを目的とする。
であり、端部の形状が自然な任意の太さの直線を容易に
描画できるようにすることを目的とする。
【0005】
【課題を解決するための手段】この発明は上記の目的を
達成するために、発行されるコマンドにより直線発生回
路がフレームメモリに点列データによる任意の太さの直
線を発生させる機能を有する図形作成装置において、点
列データの描画方向を算出する手段と、その算出された
描画方向に対応する補正データによって点列データの始
点及び終点をX方向又はY方向に移動させるコマンドを
順次発行して直線発生回路へ送る手段を設けたものであ
る。
達成するために、発行されるコマンドにより直線発生回
路がフレームメモリに点列データによる任意の太さの直
線を発生させる機能を有する図形作成装置において、点
列データの描画方向を算出する手段と、その算出された
描画方向に対応する補正データによって点列データの始
点及び終点をX方向又はY方向に移動させるコマンドを
順次発行して直線発生回路へ送る手段を設けたものであ
る。
【0006】また、このような手段を設けた図形作成装
置によって、点列データの描画方向を算出し、その描画
方向に対応する補正データによって点列データの始点及
び終点をX方向又はY方向に移動させるコマンドを順次
発行して直線発生回路へ送ることにより、任意の太さの
太線を作成する。
置によって、点列データの描画方向を算出し、その描画
方向に対応する補正データによって点列データの始点及
び終点をX方向又はY方向に移動させるコマンドを順次
発行して直線発生回路へ送ることにより、任意の太さの
太線を作成する。
【0007】
【作用】この発明による図形作成装置及び太線作成方法
は、任意の太さの直線を発生させる時、その直線の描画
方向に対応する補正データによって点列データの始点及
び終点をX方向又はY方向に移動して順次描画するので
、その際の演算処理が比較的簡単に済み、太線の描画方
向が斜めであっても、上記補正データによってその描画
後の端部が尖らない自然な形状になるようにすることが
できる。
は、任意の太さの直線を発生させる時、その直線の描画
方向に対応する補正データによって点列データの始点及
び終点をX方向又はY方向に移動して順次描画するので
、その際の演算処理が比較的簡単に済み、太線の描画方
向が斜めであっても、上記補正データによってその描画
後の端部が尖らない自然な形状になるようにすることが
できる。
【0008】
【実施例】以下、この発明の実施例を図面に基づいて具
体的に説明する。図1はこの発明の一実施例である図形
作成装置の太線作成に係わる部分の概略構成を示すブロ
ック図であり、CPU,ROM,及びRAM等を備えて
任意の太線を発生させる際の処理及びその他の図形作成
に係わる各種の処理を行なうマイクロプロセッサ1と、
そのマイクロプロセッサ1の指示によって直線及び太線
の点列データを発生させる直線発生回路2と、直線及び
太線を構成する点列データを格納するためのドットマト
リクス形式のメモリであるフレームメモリ3からなる。
体的に説明する。図1はこの発明の一実施例である図形
作成装置の太線作成に係わる部分の概略構成を示すブロ
ック図であり、CPU,ROM,及びRAM等を備えて
任意の太線を発生させる際の処理及びその他の図形作成
に係わる各種の処理を行なうマイクロプロセッサ1と、
そのマイクロプロセッサ1の指示によって直線及び太線
の点列データを発生させる直線発生回路2と、直線及び
太線を構成する点列データを格納するためのドットマト
リクス形式のメモリであるフレームメモリ3からなる。
【0009】マイクロプロセッサ1は、任意の太さの直
線を描画する際にその基となる直線の点列データの描画
方向を算出して、その描画方向に対応する補正データに
よって上記点列データの始点及び終点をX方向又はY方
向に移動させるコマンドを発行し、直線発生回路2は、
そのコマンドを解析して始点と終点間を直線近似する点
列データの各アドレスをフレームメモリ3へ送って書き
込む。このコマンドの形式は、点列データの始点及び終
点座標をそれぞれ(XS,YS),(XE,YE)とす
ると、例えばLINE(XS,YS,XE,YE)のよ
うに表わすことができる。
線を描画する際にその基となる直線の点列データの描画
方向を算出して、その描画方向に対応する補正データに
よって上記点列データの始点及び終点をX方向又はY方
向に移動させるコマンドを発行し、直線発生回路2は、
そのコマンドを解析して始点と終点間を直線近似する点
列データの各アドレスをフレームメモリ3へ送って書き
込む。このコマンドの形式は、点列データの始点及び終
点座標をそれぞれ(XS,YS),(XE,YE)とす
ると、例えばLINE(XS,YS,XE,YE)のよ
うに表わすことができる。
【0010】次に、図2乃至図4によって太線作成の処
理について、始点(XS,YS),終点(XE,YE)
,太さnドットの太線を作成する場合について説明する
。図3はその処理を示すフローチャートであり、初期設
定としてK=0をセットして太線の作成(n>1)であ
るか否かを判断し、太線の作成ならその太線の描画方向
(「描画ベクタ」とも称する)を算出する処理を行なう
。
理について、始点(XS,YS),終点(XE,YE)
,太さnドットの太線を作成する場合について説明する
。図3はその処理を示すフローチャートであり、初期設
定としてK=0をセットして太線の作成(n>1)であ
るか否かを判断し、太線の作成ならその太線の描画方向
(「描画ベクタ」とも称する)を算出する処理を行なう
。
【0011】この描画方向算出の処理は、まず始点(X
S,YS)及び終点(XE,YE)のXEからXSを引
いたΔXとYEからYSを引いたΔYの正,負,0を判
断し、次式によって太線の傾きを算出する。 太線の傾き(描画ベクタ)=ΔY/ΔX=(YE−
YS)/(XE−XS)
S,YS)及び終点(XE,YE)のXEからXSを引
いたΔXとYEからYSを引いたΔYの正,負,0を判
断し、次式によって太線の傾きを算出する。 太線の傾き(描画ベクタ)=ΔY/ΔX=(YE−
YS)/(XE−XS)
【0012】そして、図2に示
すようなX−Y座標系の中心点を始点として、算出した
傾きの直線が周囲の16のエリアのいずれに位置するか
をそれぞれ判断していき、それがタイプ1(エリア1)
なら予め用意されている補正データ1をセットし、タイ
プ2なら補正データ2をセットする。このようにして描
画方向が該当するエリアを判断していってそのエリアに
対応する補正データをセットする。
すようなX−Y座標系の中心点を始点として、算出した
傾きの直線が周囲の16のエリアのいずれに位置するか
をそれぞれ判断していき、それがタイプ1(エリア1)
なら予め用意されている補正データ1をセットし、タイ
プ2なら補正データ2をセットする。このようにして描
画方向が該当するエリアを判断していってそのエリアに
対応する補正データをセットする。
【0013】この補正データは、予めマイクロプロセッ
サ1に格納してあり、例えば図4に示すような16のエ
リア毎に任意の太さの直線を構成する点列データの始点
及び終点をX方向又はY方向へ移動させる補正値が設定
されている。例えば、太さ2ドットの直線であってその
描画方向がエリア4に該当する場合、1ドット目の点列
データのX方向及びY方向の補正値AXk及びAYkは
共に“0”、2ドット目の点列データのX方向及びY方
向の補正値はそれぞれ“−1”及び“0”である。
サ1に格納してあり、例えば図4に示すような16のエ
リア毎に任意の太さの直線を構成する点列データの始点
及び終点をX方向又はY方向へ移動させる補正値が設定
されている。例えば、太さ2ドットの直線であってその
描画方向がエリア4に該当する場合、1ドット目の点列
データのX方向及びY方向の補正値AXk及びAYkは
共に“0”、2ドット目の点列データのX方向及びY方
向の補正値はそれぞれ“−1”及び“0”である。
【0014】図3に戻って、補正データをセットしたら
K=1とし、点列データを発生させるコマンドのパラメ
ータとして、始点(XS,YS)及び終点(XE,YE
)の各X座標にAXkを、各Y座標にAYkをそれぞれ
加算して、新たなXS,YS,XE,YEを求めてその
コマンドを発行し、直線描画の処理を行なう。すなわち
図1の直線発生回路2がそのコマンドによって点列デー
タのアドレスをフレームメモリ3に書き込んで直線を描
画する。このコマンドの形式は例えば、LINE((X
S+AXk),(YS+AYk),(XE+AXk),
(YE+AYk))である。
K=1とし、点列データを発生させるコマンドのパラメ
ータとして、始点(XS,YS)及び終点(XE,YE
)の各X座標にAXkを、各Y座標にAYkをそれぞれ
加算して、新たなXS,YS,XE,YEを求めてその
コマンドを発行し、直線描画の処理を行なう。すなわち
図1の直線発生回路2がそのコマンドによって点列デー
タのアドレスをフレームメモリ3に書き込んで直線を描
画する。このコマンドの形式は例えば、LINE((X
S+AXk),(YS+AYk),(XE+AXk),
(YE+AYk))である。
【0015】1ドット目の点列データを発生させるとK
に1を加算して2とし、2ドット目のコマンドを発行し
て点列データを発生させる。このように、nドットの点
列データを発生させるまで補正データによる点列データ
の始点及び終点をX方向又はY方向に移動させるコマン
ドの順次発行と、そのコマンドによる点列データの発生
の処理を繰り返し、Kが“n+1”になったら太線作成
の処理を終了する。また、単なる直線(n=1)の作成
ならK=0のままなので、直線描画の処理を1回実行し
て処理を終了する。
に1を加算して2とし、2ドット目のコマンドを発行し
て点列データを発生させる。このように、nドットの点
列データを発生させるまで補正データによる点列データ
の始点及び終点をX方向又はY方向に移動させるコマン
ドの順次発行と、そのコマンドによる点列データの発生
の処理を繰り返し、Kが“n+1”になったら太線作成
の処理を終了する。また、単なる直線(n=1)の作成
ならK=0のままなので、直線描画の処理を1回実行し
て処理を終了する。
【0016】例えば、始点(0,0),終点(−10,
10),太さ4ドットの太線を作成する場合(Y軸は下
向きが正とする)、その描画方向は上述したような処理
によって図2に示したエリア11に該当するので、図4
に示した補正データのエリア11に対応するX方向及び
Y方向の補正値を4ドット(K=4)までをセットし、
マイクロプロセッサ1は各補正値から求めたパタメータ
によって、LINE(0,0,−10,10),LIN
E(0,1,−10,11),LINE(1,1,−9
,11),LINE(1,2,−9,12)の各コマン
ドを順次発行し、1〜4ドットの点列データを発生させ
る。
10),太さ4ドットの太線を作成する場合(Y軸は下
向きが正とする)、その描画方向は上述したような処理
によって図2に示したエリア11に該当するので、図4
に示した補正データのエリア11に対応するX方向及び
Y方向の補正値を4ドット(K=4)までをセットし、
マイクロプロセッサ1は各補正値から求めたパタメータ
によって、LINE(0,0,−10,10),LIN
E(0,1,−10,11),LINE(1,1,−9
,11),LINE(1,2,−9,12)の各コマン
ドを順次発行し、1〜4ドットの点列データを発生させ
る。
【0017】その結果、図5に示すように、各点列デー
タの発生位置が、1ドット目の点列データの始点P1か
らY方向の下側に1ドットずれた位置が2ドット目の点
列データの始点P2になり、その始点P2からX方向の
右側に1ドットずれた位置が3ドット目の点列データの
始点P3になり、さらにその始点P3からY方向の下側
に1ドットずれた位置が4ドット目の点列データの始点
P4になって、描画された太線6の円で囲んで示す端部
の形状が太線の描画方向に対して略直角になる。
タの発生位置が、1ドット目の点列データの始点P1か
らY方向の下側に1ドットずれた位置が2ドット目の点
列データの始点P2になり、その始点P2からX方向の
右側に1ドットずれた位置が3ドット目の点列データの
始点P3になり、さらにその始点P3からY方向の下側
に1ドットずれた位置が4ドット目の点列データの始点
P4になって、描画された太線6の円で囲んで示す端部
の形状が太線の描画方向に対して略直角になる。
【0018】このようにして、マイクロプロセッサ1の
比較的簡単な演算処理によって作成される太線は、端部
が尖ることがなく自然な形状で描画される。
比較的簡単な演算処理によって作成される太線は、端部
が尖ることがなく自然な形状で描画される。
【0019】なお、上述の例では線を太らせる方向を点
列データの発生方向に対して左側にしているが、右側に
太らせるようにしてもよい。また、描画方向を求める際
のベクタを16分割するようにしたが、さらに精度をよ
くしたい場合には分割数を増やせばよい。
列データの発生方向に対して左側にしているが、右側に
太らせるようにしてもよい。また、描画方向を求める際
のベクタを16分割するようにしたが、さらに精度をよ
くしたい場合には分割数を増やせばよい。
【0020】
【発明の効果】この発明の図形作成装置及びそれによる
太線作成方法によれば、任意の太さの直線を発生させる
際に、その直線の描画方向に対応する補正データによっ
て太線の各点列データの始点及び終点をX方向又はY方
向に順に移動させて描画するので、その太線の端部が尖
らずに自然な形状になるように描画することができる。
太線作成方法によれば、任意の太さの直線を発生させる
際に、その直線の描画方向に対応する補正データによっ
て太線の各点列データの始点及び終点をX方向又はY方
向に順に移動させて描画するので、その太線の端部が尖
らずに自然な形状になるように描画することができる。
【図1】この発明の一実施例である図形作成装置の太線
作成に係わる部分の概略構成を示すブロック図である。
作成に係わる部分の概略構成を示すブロック図である。
【図2】太線の描画方向を求める際のベクタを16分割
した座標系におけるエリアを示す説明図である。
した座標系におけるエリアを示す説明図である。
【図3】太線作成の処理を示すフローチャートである。
【図4】補正データの格納フォーマットの一例を示す説
明図である。
明図である。
【図5】この発明によって太線を作成した場合にその太
線を構成する点列データの並びかた及び端部の形状を示
す説明図である。
線を構成する点列データの並びかた及び端部の形状を示
す説明図である。
【図6】従来の図形作成装置によって太線を作成した場
合にその太線を構成する点列データの並びかた及び端部
の形状を示す説明図である。
合にその太線を構成する点列データの並びかた及び端部
の形状を示す説明図である。
1 マイクロプロセッサ
2 直線発生回路
2 直線発生回路
Claims (2)
- 【請求項1】 発行されるコマンドにより直線発生回
路がフレームメモリに点列データによる任意の太さの直
線を発生させる機能を有する図形作成装置において、前
記点列データの描画方向を算出する手段と、該手段によ
って算出された描画方向に対応する補正データによって
前記点列データの始点及び終点をX方向又はY方向に移
動させるコマンドを順次発行して前記直線発生回路へ送
る手段とを設けたことを特徴とする図形作成装置。 - 【請求項2】 発行されるコマンドにより直線発生回
路がフレームメモリに点列データによる任意の太さの直
線を発生させる機能を有する図形作成装置において、前
記点列データの描画方向を算出し、その描画方向に対応
する補正データによって前記点列データの始点及び終点
をX方向又はY方向に移動させるコマンドを順次発行し
て前記直線発生回路へ送ることを特徴とする太線作成方
法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP41129790A JPH04217077A (ja) | 1990-12-18 | 1990-12-18 | 図形作成装置及びそれによる太線作成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP41129790A JPH04217077A (ja) | 1990-12-18 | 1990-12-18 | 図形作成装置及びそれによる太線作成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04217077A true JPH04217077A (ja) | 1992-08-07 |
Family
ID=18520315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP41129790A Pending JPH04217077A (ja) | 1990-12-18 | 1990-12-18 | 図形作成装置及びそれによる太線作成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04217077A (ja) |
-
1990
- 1990-12-18 JP JP41129790A patent/JPH04217077A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100216614B1 (ko) | 문자 패턴 발생 장치 | |
JPS59119438A (ja) | ロケ−タの現在位置を表示する方法 | |
JPH04217077A (ja) | 図形作成装置及びそれによる太線作成方法 | |
JP3731221B2 (ja) | 太線描画装置および太線描画方法 | |
JPH0493992A (ja) | 文字・図形描画装置 | |
JP2751114B2 (ja) | 文字処理方法 | |
JP2802646B2 (ja) | ベクトルフオントによる文字パターンの変倍処理方法 | |
JP2904994B2 (ja) | 座標間接続表示方法 | |
KR100273334B1 (ko) | 캐드 시스템의 벡터 폰트 구현방법 | |
JP2935189B2 (ja) | アウトラインフォント処理装置 | |
JP2897721B2 (ja) | 多角形二重化装置 | |
JPS6175428A (ja) | 図形作描方法 | |
JPH0350686A (ja) | 図形処理方式 | |
JPH02130689A (ja) | 図形処理装置 | |
JP3407310B2 (ja) | 罫線出力方法及び罫線出力装置 | |
JPH05205070A (ja) | 図形描画方法 | |
JPH0689346A (ja) | 画像発生装置 | |
JPH06110442A (ja) | 文字図形処理装置、及び文字または図形の変形処理方法 | |
JPH10143676A (ja) | 画像処理装置、画像処理方法、および記録媒体 | |
JPH07225845A (ja) | ドットパターンからのベクトル座標発生方法及び装置 | |
JPH02202680A (ja) | 図形発生装置 | |
JPH0423179A (ja) | 太線描画方法及びその装置 | |
JPH0812547B2 (ja) | パターン縮小/拡大処理装置 | |
JPS61249091A (ja) | 表示装置 | |
JPH0424689A (ja) | 画像処理装置 |