JPH11232071A - 図形作成装置 - Google Patents
図形作成装置Info
- Publication number
- JPH11232071A JPH11232071A JP4448998A JP4448998A JPH11232071A JP H11232071 A JPH11232071 A JP H11232071A JP 4448998 A JP4448998 A JP 4448998A JP 4448998 A JP4448998 A JP 4448998A JP H11232071 A JPH11232071 A JP H11232071A
- Authority
- JP
- Japan
- Prior art keywords
- thick line
- coordinate
- value
- point
- relative position
- 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.)
- Granted
Links
Landscapes
- Image Generation (AREA)
Abstract
PUを用いた場合でも、作画の精度を下げることなく処
理の高速化を実現する。 【解決手段】作画すべき直線の2つの端点PS,PEの
座標を得て、与えられた直線の傾き情報と太線の幅情報
に対応して、前記直線の各端点からの前記4つの頂点座
標のうちの2つの頂点までの相対的なX,Y変位座標量
を前記2つの頂点について別個に決定し予め格納した太
線相対位置テーブルと、作画すべき直線が与えられたと
き、その直線の傾きと太線の幅とに基づいて前記太線相
対位置テーブルを参照し、前記相対的なX,Y変位座標
量を求め、当該直線の2つの端点の座標に対して前記
X,Y変位座標量を加算することにより前記4つの頂点
座標を求める手段と、該求められた4つの頂点座標に基
づいて太線を作画する手段とを備える。
Description
り、特に、プロッタ等において直線を太線に変換する際
に、高速に且つ精度よく太線を構成する各点の座標を導
きだす手段、及び太線端部の円形処理を高遠に且つ精度
よく行う手段を有する図形作成装置に関する。
ることが多い。一方、プロッタなどの作画座標点は通常
整数値である。したがって、太線を構成する各点を求め
るときはより正確な値を求めるため実数型で演算を行う
が、小数点付きの正確な各点(座標値〉が求められても
作画座標点にするときに整数値に変換されて使用されて
いる。
ト的な制約から安価なCPUが使われていることが多
く、実数型の演算に対してはそれをソフトウエア処理で
行っていることが多い。
の端部に想定された円の弦(円の弧の両端を結ぶ線)の
長さを求めて作画することが多く、弦の長さは実数演算
で求めていることが多い。1)でも記述した様に一般的
にプロッタなどの作画座標点は整数値となっていること
が多く、小数点付きの正確を各点(座標値)を求めても
整数値に変換されて使用されている。
点演算プロセッサを内蔵しているコンピュータや浮動小
数点演算専用プロセッサを持っているコンピュータで
は、CPUが実数演算処理をしているので実数演算処理
と整数値演算との処理速度はあまり変わらない。しか
し、前述のようにプロッタなどのCPUはコスト的制約
から安価なCPUが使われているため、浮動小数点演算
プロセッサ等を内蔵していないことが多く、実数を含む
実数演算処理をおこなう場合の多くはソフトウエア処理
で行っているため処理速度が著しく遅くなる。
太線作画より少ないため太線作画ほど影響はないが、
1)と同じ理由から処理速度が遅くなる。
ッサを内蔵していないCPUを用いた場合でも、作画の
精度を下げることなく処理の高速化を実現することがで
きる図形作成装置を提供することを目的とする。
置は、2つの端点座標で定まる直線を、所定の幅を有す
る、4つの頂点座標で定まる太線に変換する機能を有す
る図形作成装置であって、作画すべき直線の2つの端点
の座標を得る手段と、与えられた直線の傾き情報と太線
の幅情報に対応して、前記直線の各端点からの前記4つ
の頂点座標のうちの2つの頂点までの相対的なX,Y変
位座標量を前記2つの頂点について別個に決定し予め格
納した太線相対位置テーブルと、作画すべき直線が与え
られたとき、その直線の傾きと太線の幅とに基づいて前
記太線相対位置テーブルを参照し、前記相対的なX,Y
変位座標量を求め、当該直線の2つの端点の座標に対し
て前記X,Y変位座標量を加算することにより前記4つ
の頂点座標を求める手段と、該求められた4つの頂点座
標に基づいて太線を作画する手段とを備える。
使用することにより実数演算をおこなう回数を減らし処
理速度を向上させることができる。かつ、前記直線の各
端点からの前記4つの頂点座標のうちの2つの頂点まで
の相対的なX,Y変位座標量を前記2つの頂点について
別個に決定するので、太線の傾きや中心座標点を極力変
えないようにしながら、より正確な太線幅の太線を作画
することができる。
は、直線の傾きとして360度を8分割した45゜の範
囲内についてのみの絶対値データを格納しており、与え
られた直線の傾きの範囲がどの分割範囲内にあるかに応
じて前記絶対値データの符号を決定し、どの分割範囲内
にあるかに応じて前記X,Y変位座標量を互いに置換し
て用いる。これによって、太線相対位置テーブルのテー
ブルサイズを小さくすることができる。
したときの前記傾き情報の値をKとすると、まず、次式
で表される角度ATを求め、 AT=(PEx−PSx)/(PEy−PSy) (ここに、PSxは開始座標点のx座標値、PSyは開
始座標点のy座標値、PExは終了座標点のx座標値、
PEyは終了座標点のy座標値) 次に、このATの符号が正か負かおよびATの値が1よ
り大きいか否かの4つの場合に応じて、次の4式のいず
れかによりK値(小数は整数化)を求める。
4つの頂点座標で定まる太線の端部を当該幅と等しい直
径の円形形状とする機能を有する図形作成装置であっ
て、作画すべき円形の直径および中心点座標を得る手段
と、作図対象となる円の各直径値毎に、その円の中心線
上の各点から、その中心線に直交する弦の第1および第
2の端点までの距離を整数値として別個に決定し格納し
た円形相対位置テーブルと、端部を円形形状とすべき太
線の幅および円の中心座標に基づいて、円の中心線上に
ある円周上の1点の座標を求め、この1点から中心線上
の各点を順次辿って、当該各点からその点を通る前記弦
の第1及び第2の端点の相対位置を前記円形相対位置テ
ーブルを参照して求めることにより、円周上のすべての
点の座標を決定する円周座標決定手段とを備える。
置テーブルを用いることにより、実数演算を行うことな
く端部円形の円周座標を迅速に求めることができるよう
になる。
の好適な実際について詳細に説明する。
クジェット記録ヘッドを搭載したキャリッジの走査を伴
うインクジェット記録方式のプロッタ装置に適用したも
のである。
上位のホストコンピュータ装置11から入力画像データ
を受信するためのデータ通信部1と、このデータ通信部
1により受信した入力画像データを、一旦記憶するため
のリングバッファである入力バッファメモリ2と、本プ
ロッタ装置全体の制御を行うデータ解析部3と、本プロ
ッタ装置の操作パネルを含み、各種修飾情報等の入力を
行うための入力部5と、この入力部5からの入力情報等
を検出し、これを上記データ解析部3に供給する入力検
知部4とを有している。
ログラム、後述するテーブル、1バンド分の印字画像デ
ータを記憶するバンドバッファ、その他各種の作業デー
タ、パラメータ等が記憶される記憶部6と、プロットを
行う画像等を事前に表示してそのレイアウトの確認を行
うことができる表示部8と、この表示部8の画像表示制
御等を行う表示制御部7と、上記入力画像データに応じ
た画像をプロットする印字部(プリントエンジン)10
と、この印字部10の印字を制御する印字制御部9とを
有している。記憶部6は、例えば半導体メモリの他、光
磁気ディスク、磁気ディスク(フロッピーディスク、ハ
ードディスク等)等を含みうる。
ータ解析部3の機能および装置全体の制御の機能を、C
PU(中央演算回路)を用いた公知のハードウェア構成
(図示せず)で実現できる。
に示すように、データ通信部lが入力画像データを受信
し(S101)、これを入力バッファメモリ2に一旦記
憶する。次に、データ解析部3は、この入力バッファメ
モリ2に記憶された入力画像データを読み出し、該入力
画像データに含まれる単線分(ベクタ)の端点(始点お
よび終点)(ベクトルデータ)を求める(S102)。
トルデータをディスプレイリストと呼ばれる中間コード
に変換する(S103)。この中間コードは記憶部6に
格納される。中間コードは入力画像全体について格納し
ても、あるいは、続くベクタ・ラスタ変換処理時に必要
な容量分だけ一時的に格納するようにしてもよい。中間
コード内で使用される座標を表わす数値は、実際に印字
を行うために印字ドットによる単位系を用いる。ディス
プレイリストの作成では、中間コードに対して、直線の
修飾情報の各線分への反映を行う。すなわち、ベクトル
データの座標値に基づいて、バンド毎に実際に印字する
線分の輪郭の座標を算出する。
て求められた中間コードをラスタデータに変換して、印
字部10へ供給する(S105)。
て、バンド番号と、そのバンドに含まれる各ベクタの輪
郭(アウトライン)の水平セグメントの個数(1,2
等)と、各セグメントの頂点の座標データとにより構成
される。
なるため、各四角形の4頂点の座標がlつのデー夕単位
となる。1点の座標データは、(x座標)と(y座標)
からなるため、計8個の数値で表わされる(この8個の
数値からなるデータ単位をlDL(Display List)と呼
ぶ)。したがって、中間コードは、実用紙上のパンド番
号とバンド内に存在するDL数とDLデータとの組を用
紙上のバンド数だけ繰り返して記述したシーケンシャル
データである。
03のディスプレイリスト作成処理の前提処理として行
われる。
定義される直線を、太線を定める長方形の4頂点P1,
P2,P3,P4を有する太線に変換する場合を考え
る。
実施の形態において太線相対位置テーブルを作成する処
理フローの概要を示している。一旦、太線相対位置テー
ブルが作成された後は、この内容を記憶部6内のROM
等に予め記憶しておくことにより、以後は特にテーブル
内容を変更する場合以外、この処理を実行する必要はな
い。
ら31までの整数値を取り、傾き値Ajは45゜の範囲
に対応して0〜64の整数値を取ることにする。この整
数値は、X値64に対するY数値0〜64の傾きに相当
する。すなわち、45度範囲内の相対的な傾き角度は、
Ajが0のとき0゜、Ajが1のとき45゜である。
取得する(S1)。Wの添字のiは太線幅値の序数を表
す変数であり、その太線幅値がi番目であることを意味
する。S2において、傾き値Ajを取得する。Aの添字
のjは、傾き値の序数を表す変数であり、j番目である
ことを意味する。
な情報として外部から始点座標、傾き、高さの3情報を
受けるが、これらの代わりに始点座標および終点座標を
受けるようにしてもよい。
Ajに基づいて、直線の2端点(始点または終点)から
太線近似長方形の短辺の延長直線上の2頂点Pa,Pb
の相対位置(Δx1,Δy1)と(Δx2,Δy2)を
実数値で求める。これらの点Pa,Pbは座標点上に一
致するとは限らない。S4では、これらの点Pa,Pb
から最も近い座標点P1,P2の座標を求め、さらにこ
れらの座標から太線論理幅値W1を算出する。直線の端
点からこれらの座標点までの相対位置(整数)が、求め
る相対位置の第1の候補となる。S5では、太線幅値W
iが太線論理幅値W1と等しいかどうかを判定する。太
線論理幅値W1と等しい場合は相対位置テーブル格納S
6に処理を移す。S7では、取得した太線幅値Wiが大
線論理幅値W1より大きいかどうかを判定する。太線論
理幅値W1より大きい場合は太線幅延長方向第2候補相
対位置検索・テーブル格納S8に処理を移す。このS8
の処理の詳細については後述する。
い場合は、太線幅短縮方向第2候補相対位置検索・テー
ブル格納9に処理を移す。このS9の処理の詳細につい
ては後述する。
理を、全傾きに対して順次行うことで所定の幅の1つに
対しての太線相対位置テーブルの作成が終了する。(S
10) さらにi値を更新しながら、以上の処理を全ての幅値に
対して順次行うことで太線幅対位置テーブル作成が完了
することになる(S11)。
延長方向第2候補相対位置検索・テーブル格納処理につ
いて、すなわち、図3のS4で算出した太線論理値幅W
1と太線幅延長方向第2候補の相対位置から算出した太
線第2論理値幅W2との比較について説明する。
置の検索およびテーブル値の格納の例を説明するための
図である。ここに、「延長方向」とは、太線幅を太らせ
る方向を意味する。
検索・テーブル格納処理のフローを表している。まず、
S12では、取得した太線幅値Wiが奇数かどうかを判
定する。奇数個のドットの幅に相当する太線幅の場合、
太線4頂点で定まる長方形の短辺直線上には、あるドッ
トを中心としてその両側(左右)に同一個数のドットが
配置されるのに対し、偶数個のドット幅の場合には中心
ドットの左右のドット数が1個だけ異なる。したがっ
て、偶数ドット幅の場合と奇数ドット幅の場合で処理を
異ならせている。すなわち、中心ドットの左右が非対称
となる場合には中ドットから左右のいずれが長くなるか
を統一するようにしている。図の例では左側が長くなる
ようにしている。
側)を短辺の理想線LN上で外側(中心と逆方向)に1
ドット分移動した点Pb’の相対位置(実数値)を算出
する(S13)。点Pa’の相対位置としては相対位置
Paをそのまま使用する。
側)を上記理想線LN上で外側に1ドット分移動した点
Pa’の相対位置(実数値)を算出する(S14)。点
Pb’の相対位置としては点Pbの相対位置をそのまま
使用する。続くS15では、点Pa’とPb’の相対位
置をそれぞれの直近の座標点P1’,P2’の相対位置
(整数値)に置き換え、これらの点の座標値から太線論
理幅値W2(実数値)を算出する。S16では、太線幅
値Wiと太線論理幅値W1の差を、太線幅値Wiと太線
論理幅値W2の差と比較する。太線幅値Wiと太線論理
幅値W1の差より太線幅値Wiと太線論理幅値W2の差
の方が大きい場合は、P1’とP2’の相対位置を太線
相対位置テーブル値として格納する(S17)。太線幅
値Wiと大線論理幅値W1の差より太線幅値Wiと太線
論理幅値W2の差の方が大きいか等しい場合はP1とP
2の相対位置を太線相対位置テーブル値として格納する
(S18)。
形短辺の直線LNの傾きと太線幅値Wi=8に基づい
て、点Pa,Pbの相対位置が求まる(図4(a)。た
だし、点Pa,Pbは座標点(格子点)上に位置すると
は限らないので、直近の座標点P1,P2を求める(図
4(b))。このP1,P2間の論理幅値W1を算出す
ると、W1≒7.61となる。この値はWi=8より小
さいので、さらに、理想線LN上で1ドット増加した位
置、すなわち位置Pa’の直近の座標点P1’を求め
る。座標点P2はそのまま座標点P2’とする。点P
1’、P2’間の論理幅値W2は、W2≒8.94とな
る。W1とW2とを比べて、W1の方がWiに近いの
で、座標点P1,P2を、求める2頂点の座標とし、そ
れらの相対位置をテーブル値として採用する。
置の検索およびテーブル値の格納の例を説明するための
図である。ここに、「短縮方向」とは、太線幅を細らせ
る方向を意味する。
位置検索・テーブル格納処理について、即ち、図3のS
4で算出した論理値幅W1と太線幅短縮方向第2候補の
相対位置から算出した太線第2論理幅値W2との比較に
ついて説明する。
索・テーブル格納処理のフローを表している。まず、S
19では、取得した太線幅値Wiが奇数かどうかを判定
する。太線幅値Wiが奇数の場合は点Pa(右)を理想
線LN上で中心側に1ドット移動したPa’の相対位置
(実数値)を算出する(S20)。Pb’の相対位置と
してはPbの相対位置をそのまま使用する。太線幅値W
iが偶数の場合は、Pb(左側)を理想線LN上で中心
側に1ドット移動したPb’の相対位置(実数値)を算
出する(S21)。Pa’の相対位置としてはPaの相
対位置をそのまま使用する。続くS22では、点Pa’
とPb’を直近の座標点P1’,P2’の座標(整数
値)に置き換え、P1’、P2’から太線論理幅値W2
を算出する。S23では、太線幅値Wiと太線論理幅値
W1の差を、太線幅値Wiと太線論理幅値W2の差と比
較する。太線幅値Wiと太線論理幅値W1の差が太線幅
値Wiと太線論理幅値W2の差より小さい場合は、P
1’とP2’の相対位置を太線相対位置テーブル値とし
て格納する(S24)。そうでない場合は、P1とP2
の相対位置を太線相対位置テーブル値として格納する
(S25)。
て、論理幅値W1≒7.21となり、これはW1より大
きいので、1ドット分内側に移動した点Pa’の直近の
座標点P1’を求める。P2’はP2と同じである。そ
こで、P1’、P2’間の論理幅値W2は、W2≒6.
32と得られる。その結果、論理幅値W1の方がWiに
近いので、P1とP2の相対位置がテーブル値として採
用される。
理で作成された太線相対位置テーブルTBL1の具体的
な構成例を示している。
(かど)点、即ち太線の輪郭を構成する長方形の頂点の
4点の座標を決定する方法を説明する。
線相対位置テーブルTBL1を用いて太線頂点座標4点
を取得する処理フローの概要を示している。まずS69
において、太線の中心線上の開始座標点PSの座標値を
取得する。次にS70において、太線の中心線の傾きA
を収得する。さらにS71において、太線の中心線の高
さLを取得する、ついで、S72では、開始座標点PS
のY座標と高さLから太線の中心線上の終了座標点PE
のY座標値PEyを算出する。次にS73では、開始座
標点PSと終了座標点PEのY座標値PEyと傾きAか
ら、終了座標点PEのX座標値PExを算出する。ここ
に、PEx,PEyはそれぞれ整数値である。S74で
は、開始座標点PSの座標値と終了座標点PEの座標値
から太線相対位置テーブル用の角度ATを次式で算出す
る。ここに、傾きAが整数型の変数であるのに対して、
角度ATは実数型の変数である。
座標点のy座標値である。
て処理内容を切り替える。即ち、図9に示すように、直
線の取りうる範囲を45゜間隔で4つの領域に分割し、
角度ATがどの領域に属するかにより、処理内容を切り
替える。これは、太線相対位置テーブルTBL1の数値
を0〜45゜の範囲のみ用意したことに対応する。即
ち、テーブルTBL1の太線相対位置の数値は絶対値で
用意しておき、直線の属する角度範囲に応じてその絶対
値に付加すべき符号を決定する、また、x値とy値とを
置換して用いる。
の範囲内にある(AT<−1.0)かどうかを判定す
る。ある場合は、太線頂点座標を求める処理76に処理
を移す。
の範囲内にある(−1.0≦AT<0.0)かどうかを
判定する。ある場合は太線頂点座標を求める処理78に
処理を移す。
の範囲内にある(0.0≦AT<1.0)かどうかを判
定する。ある場合は太線頂点座標を求める処理80に処
理を移す。
の範囲内にある(1.0≦AT)かどうかを判定する。
ある場合は太線頂点座標を求める処理82に処理を移
す。図11は、図10のS76の詳細処理、即ち、傾き
角度ATが第1の範囲内(AT<−1.0)にある場合
の太線頂点座標点を求める処理フローの概要を示してい
る。
用の角度ATから太線相対位置テーブルの傾き番号K
(この例では0〜64の整数のいずれか)を算出する。
この算出の仕方は、角度ATの範囲により異なる。AT
<−1.0の範囲では、次式により角度番号Kを算出す
る。
により、整数化する。このKの値および太線の幅に基づ
いて太線相対位置テーブルTBL1を参照することによ
り、太線頂点の中心座標点からの変位であるテーブル値
TX1、TY1を求める。
線相対位置テーブル値TX1、TY1から太線頂点P1
の座標値を算出する。S85では、中心座標点PSの座
標値と太線相対位置テーブル値TX2,TY2から太線
頂点P2の座標値を算出する。S86では、中心座標点
PEの座標値と太線相対位置テーブル値TX1,TY1
から太線頂点P3の座標値を算出する。S87では、中
心座標点PEの座標値と太線相対位置テーブル値TX
2,TY2から太線頂点P4の座標値を算出する。これ
らの各中途線頂点の座標値の算出時には、中心座標点の
座標値に対してテーブル値が加算される。その加算の際
のテーブル値の符号は、角度ATの範囲により異なり、
各太線各座標点P1,P2,P3,P4の座標値は次の
ように表される。
ATが第2の範囲内(−1.0≦AT<0.O)にある
場合の太線頂点の4座標点を求める処理フローの概要を
示している。
用の角度ATから太線相対位置テーブルの角度番号Kを
算出する。この範囲では、次式により角度番号Kを算出
する。
ーブル値TX1,TY1から太線頂点P1の座標値を算
出する。S90では、中心座標点PSの座標値と太線相
対位置テーブル値TX2,TY2から太線頂点P2の座
標値を算出する。S91では、中心座標点PEの座標値
と太線相対位置テーブル値TX1、TY1から太線頂点
P3の座標値を算出する。S92では、中心座標点PE
と太線相対位置テーブル値TX2,TY2から太線頂点
P4の座標値を算出する。
P1,P2,P3,P4の座標値は次のように表され
る。この際、x値とy値とが置換され、中心座標点のx
座標値にはTY値が加算され、y座標値にはTX値が加
算されることに留意されたい。
ATが第3の範囲内(0.0≦AT<1.0)にある場
合の太線頂点座標を求める処理フローの概要を示してい
る。
用の角度ATから太線相対位置テーブルの角度番号Kを
算出する。この範囲では、次式により角度番号Kを算出
する。
ーブル値TX1,TY1から太線頂点P1の座標値を算
出する。S95では、中心座標点PSの座標値と太線相
対位置テーブル値TX2,TY2から太線頂点P2の座
標値を算出する。S96では、中心座標点PEの座標値
と太線相対位置テーブル値TX1、TY1から太線頂点
P3の座標値を算出する。S97では、中心座標点PE
の座標値と太線相対位置テーブル値TX2,TY2から
太線頂点P4の座標値を算出する。
P1,P2,P3,P4の座標値は次のように表され
る。この場合も、中心座標点のx座標値にはTY値が加
算され、y座標値にはTX値が加算される。
ATが第4の範囲内(1.0≦AT)にある場合の太線
頂点座標を求める処理フローの概要を示している。
様の角度ATから太線相対位置テーブルTBL1の角度
番号Kを算出する。この範囲では、次式により角度番号
Kを算出する。
ーブル値TX1,TY1から太線頂座標点P1の座標値
を算出する。S100では、中心座標点PSの座標値と
太線相対位置テーブル値TX2,TY2から太線頂点P
2の座標値を算出する。S101では、中心座標点PE
の座標値と太線相対位置テーブル値TX1,TY1から
太線頂点P3の座標値を算出する。S102では、中心
座標点PEの座標値と太線相対位置テーブル値TX2,
TY2から太線頂点P4の座標値を算出する。
P1,P2,P3,P4の座標値は次のように表され
る。
を(20,20)、太線中心終点PEの座標を(10
0,100)、太さWiを10ドットとしたとき、この
太線の角点P1,P2,P3,P4の各座標は、次のよ
うにして求められる。
れに対応する角度番号Kを求める。
は、式(17)から K=64/AT =64/1 =64 となる。このKの値と太さWi=10ドットとを用い
て、太線相対位置テーブルTBL1を参照すると、TX
1=3,TY1=3,TX2=3,TY2=3が得られ
る。
(21)から [P1x、P1y]=[(PSx−TX1),(PSy+TY1)] =[(20−3),(20+3)]=[17,23] [P2x、P2y]=[(PSx+TX2),(PSy−TY2)] =[(20+3),(20−3)]=[23,17] [P3x、P3y]=[(PEx−TX1),(PEy+TY1)] =[(100−3),(100+3)]=[97,103] [P4x、P4y]=[(PEx+TX2),(PEy−TY2)] =[(100+3),(100−3)]=[103,97] したがって、P1=[17,23]、P2=[23,1
7]、P3=[97,103]、P4=[103,97]と
なる。
ブルTBL1を用いて太線を作画する処理フローの概要
を示している。以下の説明する中で太線作画が垂直また
は水平なるような作画は除くこととする。なお、ここで
「作画」とは、本実施の形態では、インクジェット記録
装置等における複数のノズルを有するヘッドの1回の走
査で記録される1バンド分のバッファメモリへの画素デ
ータの書き込みのことをいうものとする。勿論、これと
は異なり、1行の「作画」が直接1行の印字を行うもの
であってもよい。
座標から左傾きALを算出する。S29では、太線頂点
P1とP3の座標から右傾きARを算出する。S30で
は、a領域内を作画中であるかどうかを判定する。a領
域内を作画中であれば太線頂点P1の座標と左傾きA
L、右傾きARを用いてa領域の作画S31の処理に移
る。S32では、b領域内を作画中であるかどうかを判
定する。b領域内を作画中であれば太線頂点P2の座標
と左傾きAL、太線頂点P1の座標と右傾きARを用い
てb領域の作画S33の処理に移る。c領域内を作画中
であれば太線頂点P2の座標と右傾きAR、太線頂点P
3の座標と左傾きALを用いて、c領域の作画S34の
処理に移る。
とで太線を作画する処理が終了することになる。
作画する処理フローの概要を示している。S36では、
傾き累計A1に左傾きALを加算する。ALの値は、X
値を1ドット分更新したときのY値の左方向への変化量
に相当する。傾き累計A1の初期値は0である。S37
では、傾き累計A2に右傾きARを加算する。ARの値
は、X値を1ドット分更新したときのY値の右方向への
変化量に相当する。傾き累計A2の初期値0である。S
38では、太線頂点P1の座標と傾き累計A1を用いて
行作画始点YSを算出する。S39では、太線頂点P1
の座標と傾き累計A2を用いて行作画終点YEを算出す
る。
目する行の作画始点YSと作画終点Yの座標値が得られ
る。
を用いて、a領域内の1ドット幅の横線を作画する。S
41では、a領域最終行の作画を行ったかどうかを判定
している。a領域最終行の作画を行っていれば、傾き累
計A1を0クリアする(S42)。S43では、b領域
がないかどうかを判定している。b領域がなければ傾き
累計A2を0クリアする。
ローの概要を示している。S45では、傾き累計A1に
左傾きALを加算する。S46では、傾き累計A2に右
傾きARを加算する。S47では、太線頂点P2の座標
と傾き累計A1を用いて行作画始点YSを算出する。S
48では、大線頂点P1の座標と傾き累計A2を用いて
行作画終点YEを算出する。S49では、作画始点YS
と作画終点YEを用いてa領域内の1ドット幅の横線を
作画する。S50では、b領域最終行の作画を行ったか
どうかを判定している。b領域最終行の作画を行ってい
れば傾き累計A2を0クリアする(S51)。
ーの概要を示している。S52では、傾き累計A1に左
傾きALを加算する。S53では、傾き累計A2に右傾
きARを加算する。S54では、太線頂点P2の座標と
傾き累計A1を用いて行作画始点YSを算出する。S5
5では、太線頂点P3の座標と傾き累計A2を用いて行
作画終点YEを算出する。S56では、作画始点YSと
作画終点YEを用いてa領域内の1ドット幅の横線を作
画する。
の終端形状が円形である場合、終端部に円形を作画す
る。本発明では、この際にも実数演算を行うことなくテ
ーブル参照で作画処理が行えるように、予め円形相対位
置テーブルを作成しておく。
構成例を示す。この円形相対位置テーブルTBL2は、
図24に示すように、予め想定された太線端部の円形の
直径Wiの各々に対して、その中心線上の異なるドット
位置ごとに中心線に直交する弦CGを想定し、その弦の
中心点から左右端までの適正な長さCL、CR(整数
値)を予め設定したものである。以下の説明中、直径値
Wiは3から31までの整数値を取ることにする。
図21では太線端部の円形相対位置テーブルTBL2を
作成する処理フローの概要を示している。
値Wiを取得する。Wの添字iは、テーブル作成処理に
おける直径値の序数を表す変数であり、その直径がi番
目の直径であることを意味する。S58では、円周上の
1点に、円形相対位置を算出するための始点CSを設定
する。S59では、始点CSと中心C1を結ぶ直線と円
周との交点(始点値CSと反対側の点〉に終点CEを設
定する。S60では、始点CSから終点CEの方向へ1
ドット移動し、このときの位置の弦の長さCGを算出す
る。S61では、算出した弦の長さCGに基づいて、中
心線上のドットから弦の左右端までの距離である左弦相
対位置CLi(整数値)と右弦相対位置CRi(整数
値)を算出する。具体的には、実数値であるCGの小数
点を四捨五入等により整数化し、その整数値Mが奇数で
あれば、(M−1)/2をそれぞれ、左右の距離をCL
iとCRiとする。整数値Mが偶数であれば、M/2と
M/2−1とをそれぞれCLiとCRiとする。弦の長
さCGを直径値Wiまで順次増加させていくことで(S
62)、当該直径の円に対するすべての円形相対位置テ
ーブル値が得られる。さらに以上の処理を、全直径値に
対して順次繰り返すことで(S63)、円形相対位置テ
ーブル作成が完了することになる。
すべてのデータを有しているが、最大直径の半分の位置
16までのデータのみをテーブルに保持して、各直径の
中心で折り返して参照するようにしてもよい。
ようにして作成した円形相対位置テーブルTBL2を用
いて太線端部を作画する処理フローの概要を示してい
る。以下の説明する中でも、直径値Wiは3から31ま
での整数値を取ることにする。
標C1を取得する。S65において、円の直径値Wを取
得する。S66では、中心座標値C1と直径値Wから、
図25に示すように、作画開始中心座標点C2の座標値
を算出する。図25の例では、中心座標C1(20,2
0)、直径値W=10ドットの場合の例を示している。
S67では、作画開始中心座標点C2の座標値と太線端
部の円形相対位置テーブルTBL2を参照して順次円周
上の点の座標を算出し、作画する。以上の処理を、全領
域に対して順次行うことで太線終端の円形を作画する処
理が終了することになる。
て説明したが、本発明の要旨を逸脱することなく、種々
の変形・変更が可能である。例えば、テーブル値の
「左」および「右」は入れ替えてもよい。また、角度番
号Kの範囲を0〜64としたが、他の数値範囲であって
もよい。
ば従来のコスト的な制約から安価なCPUが使われてい
ることが多いプロッタなどの図形作成装置において、実
数型演算を行っているアプリケーションの速度低下の問
題を解決し、作画の精度を下げることなく処理の高速化
を実現することができる。
構成を示すブロック図である。
チャートである。
作成する処理フローの概要を示すフローチャートであ
る。
である。
チャートである。
である。
チャートである。
L1の具体的な構成例を示す図である。
きの、角度ATの4つの領域を示す図である。
頂点座標4点を取得する処理フローの概要を示す図であ
る。
フローチャートである。
フローチャートである。
フローチャートである。
フローチャートである。
線を定める長方形の4頂点P1,P2,P3,P4を有
する太線に変換する場合を説明するための図である。
を作画する処理の概要を示すフローチャートである。
フローチャートである。
YSと作画終点Yの座標値を説明するための図である。
フローチャートである。
フローチャートである。
対位置テーブルの作成処理の概要を示すフローチャート
である。
成例を示す図である。
端部を作画する処理の概要を示すフローチャートであ
る。
ある。
置テーブル、1…データ通信部、2…入力バッファ、3
…データ解析部(CPU)、4…入力検知部、5…入力
部、6…記憶部、7…表示制御部、8…表示部、9…印
字制御部、10…印字部(プリントエンジン)。
Claims (4)
- 【請求項1】2つの端点座標で定まる直線を、所定の幅
を有する、4つの頂点座標で定まる太線に変換する機能
を有する図形作成装置であって、 作画すべき直線の2つの端点の座標を得る手段と、 与えられた直線の傾き情報と太線の幅情報に対応して、
前記直線の各端点からの前記4つの頂点座標のうちの2
つの頂点までの相対的なX,Y変位座標量を前記2つの
頂点について別個に決定し予め格納した太線相対位置テ
ーブルと、 作画すべき直線が与えられたとき、その直線の傾きと太
線の幅とに基づいて前記太線相対位置テーブルを参照
し、前記相対的なX,Y変位座標量を求め、当該直線の
2つの端点の座標に対して前記X,Y変位座標量を加算
することにより前記4つの頂点座標を求める手段と、 該求められた4つの頂点座標に基づいて太線を作画する
手段と、 を備えた図形作成装置。 - 【請求項2】前記太線相対位置テーブルは、直線の傾き
として360度を8分割した45゜の範囲内についての
みの絶対値データを格納しており、与えられた直線の傾
きの範囲がどの分割範囲内にあるかに応じて前記絶対値
データの符号を決定し、どの分割範囲内にあるかに応じ
て前記X,Y変位座標量を互いに置換して用いることを
特徴とする請求項1記載の図形作成装置。 - 【請求項3】前記第1の範囲をN分割したときの前記傾
き情報の値をKとすると、まず、次式で表される角度A
Tを求め、 AT=(PEx−PSx)/(PEy−PSy) (ここに、PSxは開始座標点のx座標値、PSyは開
始座標点のy座標値、PExは終了座標点のx座標値、
PEyは終了座標点のy座標値) 次に、このATの符号が正か負かおよびATの値が1よ
り大きいか否かの4つの場合に応じて、次の4式のいず
れかによりK値(小数は整数化)を求めることを特徴と
する請求項2記載の図形作成装置。 K=N*AT K=N/AT K=N/(AT*(−1)) K=N*(AT*(−1)) - 【請求項4】所定の幅を有する、4つの頂点座標で定ま
る太線の端部を当該幅と等しい直径の円形形状とする機
能を有する図形作成装置であって、 作画すべき円形の直径および中心点座標を得る手段と、 作図対象となる円の各直径値毎に、その円の中心線上の
各点から、その中心線に直交する弦の第1および第2の
端点までの距離を整数値として別個に決定し格納した円
形相対位置テーブルと、 端部を円形形状とすべき太線の幅および円の中心座標に
基づいて、円の中心線上にある円周上の1点の座標を求
め、この1点から中心線上の各点を順次辿って、当該各
点からその点を通る前記弦の第1及び第2の端点の相対
位置を前記円形相対位置テーブルを参照して求めること
により、円周上のすべての点の座標を決定する円周座標
決定手段と、 を備えたことを特徴とする図形作成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4448998A JP3988965B2 (ja) | 1998-02-09 | 1998-02-09 | プロッタおよび図形作成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4448998A JP3988965B2 (ja) | 1998-02-09 | 1998-02-09 | プロッタおよび図形作成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11232071A true JPH11232071A (ja) | 1999-08-27 |
JP3988965B2 JP3988965B2 (ja) | 2007-10-10 |
Family
ID=12692972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4448998A Expired - Lifetime JP3988965B2 (ja) | 1998-02-09 | 1998-02-09 | プロッタおよび図形作成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3988965B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005257886A (ja) * | 2004-03-10 | 2005-09-22 | Yamaha Corp | 画像処理方法および画像処理装置 |
-
1998
- 1998-02-09 JP JP4448998A patent/JP3988965B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005257886A (ja) * | 2004-03-10 | 2005-09-22 | Yamaha Corp | 画像処理方法および画像処理装置 |
Also Published As
Publication number | Publication date |
---|---|
JP3988965B2 (ja) | 2007-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4845715B2 (ja) | 画像処理方法、画像処理装置、プログラム、及び記憶媒体 | |
US7747077B2 (en) | Image processing apparatus, image processing method, and image processing program | |
JPH113430A (ja) | 入力画像を基準画像に対応付ける方法、そのための装置、及びその方法を実現するプログラムを記憶した記憶媒体 | |
JP2012203458A (ja) | 画像処理装置及びプログラム | |
US8212815B2 (en) | Drawing apparatus, drawing program, and drawing method | |
JP2000235619A (ja) | 表画像処理装置及びそのプログラム記憶媒体 | |
KR100376196B1 (ko) | 아웃라인 스무딩 처리 방법, 장치 및 기억매체 | |
JPH1173475A (ja) | 行方向判定装置、画像傾き検出装置及び画像傾き補正装置 | |
JP3988965B2 (ja) | プロッタおよび図形作成方法 | |
JP5137679B2 (ja) | 画像処理装置および画像処理方法 | |
JPH1011592A (ja) | 図形処理装置及び方法 | |
US6661535B1 (en) | Moire fringe eliminating apparatus and a method for eliminating moire fringes | |
JP3034140B2 (ja) | 文字生成方法及びその装置 | |
JP2000353233A (ja) | 地図データ印刷システムと方法およびその処理プログラムを記録した記録媒体 | |
JP2956705B2 (ja) | データ変換装置 | |
JPH0736433A (ja) | 文字データベース作成装置 | |
JP2000285237A (ja) | 画像処理装置、画像処理方法及び画像処理プログラムを記録した記録媒体 | |
JP2004295383A (ja) | 画像サイズ調整方法と装置 | |
JP2755299B2 (ja) | 画像処理方法 | |
JP3196603B2 (ja) | バーコード認識方法及びシステム | |
JP3057963B2 (ja) | データ変換装置 | |
JPH0572709A (ja) | 切り抜きパターン作成方法 | |
JPH08234717A (ja) | 輪郭線データ変換装置 | |
JP2001109826A (ja) | 帳票処理装置及び帳票処理方法及びコンピュータ読み取り可能な記憶媒体 | |
JP2002042160A (ja) | 3次元形状処理装置、3次元形状処理方法およびその方法を実施するためのプログラムを記憶した記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050207 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070427 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070621 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070713 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070713 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100727 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100727 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110727 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120727 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120727 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130727 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |