JP4376371B2 - 円の展開処理方法 - Google Patents
円の展開処理方法 Download PDFInfo
- Publication number
- JP4376371B2 JP4376371B2 JP27749499A JP27749499A JP4376371B2 JP 4376371 B2 JP4376371 B2 JP 4376371B2 JP 27749499 A JP27749499 A JP 27749499A JP 27749499 A JP27749499 A JP 27749499A JP 4376371 B2 JP4376371 B2 JP 4376371B2
- Authority
- JP
- Japan
- Prior art keywords
- axis direction
- circle
- vector data
- accuracy
- processing
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Generation (AREA)
Description
【発明の属する技術分野】
この発明は、ベクタデータを点列(ラスタ)データへ展開する画像展開処理方法に関し、特にDDA(Digital Differential Analyzer)アルゴリズムを使用して垂直倍精度又は水平倍精度の直交座標系上に円を展開する円の展開処理方法に関する。
【0002】
【従来の技術】
ベクタデータで表現された直線、円等をラスタデータへ展開するためのDDAアルゴリズムを用いた画像展開処理方法は、プリンタ及びディスプレイ装置等に広く使用されている。一般的なDDAアルゴリズムとしては、実数型のデータ演算を伴わず乗除算が不要な Bresenham のDDAアルゴリズムが良く知られている。このアルゴリズムは、直線の描画を例にとると、両端点P1,P2の座標値(x1,y1),(x2,y2)が与えられたとき、両端点P1,P2間のX軸方向の距離と、Y軸方向の距離とを比較して、その絶対値が大きい方の軸の座標値を1つずつ増加させながら、小さい方の軸の座標に短軸長さを余りとして累積加算していき、その余りが長軸長さを超えたらキャリーを出力して短軸方向のドット形成位置を1つ変化させるという処理を逐次実行するものである。
【0003】
出力画像の解像度を上げるためには、ビットマップ展開密度を高めればよいが、解像度を単純に通常の2倍とすると、ビットマップメモリの容量を通常の4倍にしなければならず、しかも描画時間が通常の4倍になってしまう。また、インクジェット方式の出力装置においては、ドット密度が高くなった分だけ、塗り潰し等の部分で、インクの過多による流れ、すれ、乾きの遅れ、及び用紙のふやけ等の問題が生じる。そこで、水平又は垂直方向のみを倍精度にしてメモリ容量及び描画時間共に2倍に抑えるようにした水平倍精度又は垂直倍精度DDA方式も提案されている。
【0004】
【発明が解決しようとする課題】
水平又は垂直倍精度での直線DDA処理は、始終点座標を変更するだけでそのまま従来のDDA処理を利用することができるが、円を形成する場合には、そのまま水平又は垂直倍精度での円DDA処理を実行すると、形成される円は楕円になってしまう。
【0005】
この発明はこのような問題点に鑑みなされたもので、水平又は垂直倍精度の直交座標系においても支障無く円を描画することができる円の展開処理方法を提供することを目的とする。
【0006】
【課題を解決するための手段】
本願に係る円の展開処理方法は、CPU及びバンドメモリを有するシステムにベクトルデータを入力し、前記CPUにてこのベクトルデータによって特定される直交座標系の第1軸方向の各座標値に対し、前記ベクトルデータの傾き相当値を蓄積し、その蓄積量が所定値を超えた時点で前記直交座標系の第2軸方向の座標値を1つ変化させると共に前記蓄積量から所定値を減算することにより前記ベクトルデータに沿ってドットを形成し、前記バンドメモリの座標領域上に前記ドットにより構成されるラスタデータの画像を展開していくDDA処理による円の展開処理方法において、前記CPUが、前記第1軸方向の精度と前記第2軸方向の精度とが異なる直交座標系で前記円のDDA処理を実行する際に、前記第1軸方向の精度と前記第2軸方向の精度の比に対応した縦横直径比を有する楕円を前記円を表すベクトルデータとしてDDA処理を実行し、前記DDA処理は、前記CPUが、前記縦横直径比に基づいて、前記第1軸方向が1増加したときの第2軸方向の増分と、前記第2軸方向が1増加したときの第1軸方向の増分と、基準変更点とを求め、前記第1軸方向を1増加させて第2軸方向の増分を蓄積させる処理と、前記第2軸方向を1増加させて第1軸方向の増分を蓄積させる処理とを、前記基準変更点を境にして切り替えることで実行されることを特徴とする。
【0007】
本発明によれば、第1軸方向の精度と第2軸方向の精度とが異なる直交座標系で円を描画する場合でも、第1軸方向の精度と第2軸方向の精度の比に対応した縦横直径比を有する楕円を円を表すベクトルデータとして与えてDDA処理するようにしているので、最終的なプロット結果を正しい円とすることができる。
【0008】
【発明の実施の形態】
以下、図面を参照して、この発明の実施例を説明する。
図1は、本発明の一実施例に係る画像展開処理方法を実現するインクジェットプリントシステムの構成を示すブロック図である。
このシステムは、ホストコンピュータ1とインクジェットプリンタ2とにより構成されている。インクジェットプリンタ2は、ホストコンピュータ1とのインタフェース11と、CPU12と、バンドメモリ13と、インクジェットヘッド14とを備えている。ホストコンピュータ1から与えられるベクトルデータは、インタフェース11を介してCPU12に与えられ、ここでDDA処理されてラスタデータに変換されバンドメモリ13に展開される。バンドメモリ13に展開されたラスタデータは、インクジェットヘッド14に送られて印字処理に供される。
【0009】
次に、このシステムを使用した円の展開処理方法について説明する。
いま、水平倍精度の場合を例にとると、真円を生成するためには縦直径:横直径=1:2の楕円を円のベクトルデータとして与えれば良い。いま、水平方向(X方向)の半径をrxとすると、このような楕円の方程式は、下記数1のように表される。
【0010】
【数1】
x2+(2y)2=rx2
【0011】
これを微分すると、次の数2が得られる。
【0012】
【数2】
【0013】
この式から、yが1増加したときのxの増分とxが1増加したときのyの増分とを知ることができるので、DDA処理が可能となる。
【0014】
ところで、水平垂直方向の密度が等しい場合には、1/8の円を発生させれば、後はx,yの入れ替えや上下左右の対称処理によって全ての円のドットを形成することができる。この場合、基準軸変更点が45゜に設定され、例えば90゜〜45゜までの円のドットが求められる。45゜〜0゜までの円は、90゜〜45゜までの円のx,y座標を入れ替えることによって求められる。
【0015】
しかしながら、本実施例のように水平方向と垂直方向の密度が異なっている場合には、1/4の円を生成しないと全ての円の形状は求まらない。1/4の円は、Xが長軸である部分と、Y軸が長軸である部分とで異なる処理により生成される。この実施例の場合xと4yとが一致する点が基準軸変更点となる。従って、基準軸変更点は、水平に対して約14゜{=tan-1(1/4)}の方向で、この点の楕円接線が45゜に傾くことになる。実際にプロットすると、水平倍密度なので図5に示すように、基準軸変更点は、16.6゜{=tan-1(2/4)}の方向になる。
【0016】
図2及び図3は、この実施例に係る円発生DDA処理を示すフローチャートであり、図2はx≦4yであるX長軸部分の処理、図3はx≧4yであるY長軸部分の処理をそれぞれ示している。
図2に示すように、X長軸部分では、まず、座標値x,y,余りrの初期値として、x=0,y=ry,r=−4yをそれぞれ代入する(S1)。ここで、ryは、楕円のY軸方向(短軸方向)の半径である。ry=16とすると、最初の座標値(x,y)=(0,16)、余りr=−64となる。次に、x,yにドットを形成したのち(S2)、xが4yを超えるまで(S3)、xのインクリメントと2x+1を余りrへ累積する処理とを実行する(S4)。もし、余りrが0以上になったら(S5)、余りrから4(2y−1)を減算し、yを1つ減算するキャリー処理を実行したのち(S6)、x,yを出力する(S2)。
【0017】
xと4yとが一致するようになったら(S3)、図3の処理に切り換える。図3の処理では、まず、座標値x,y,余りrの初期値として、x=2ry,y=0,r=−xをそれぞれ代入する(S11)。ry=16とすると、最初の座標値(x,y)=(32,0)、余りr=−32となる。次に、x,yにドットを形成したのち(S12)、4yがxを超えるまで(S13)、yのインクリメントと4*(2y+1)を余りrへ累積する処理とを実行する(S14)。もし、余りrが0以上にになったら(S15)、余りrから(2x−1)を減算し、xを1つ減算するキャリー処理を実行したのち(S16)、x,yを出力する(S12)。
【0018】
図4に以上の処理結果を示す。同図(a)はX長軸部分の処理結果、同図(b)はY軸方向部分の結果である。図5には、その処理結果をプロットした結果が示されている。このように、単軸方向倍精度の直交座標系であっても、楕円のDDA処理を実行することにより、真円に沿ったドットを形成することができる。
【0019】
【発明の効果】
以上述べたようにこの発明によれば、第1軸方向の精度と第2軸方向の精度とが異なる直交座標系で円を描画する場合でも、第1軸方向の精度と第2軸方向の精度の比に対応した縦横直径比を有する楕円を円を表すベクトルデータとして与えてDDA処理するようにしているので、最終的なプロット結果を正しい円とすることができるという効果を奏する。
【図面の簡単な説明】
【図1】 この発明の一実施例に係るインクジェットプリントシステムのブロック図である。
【図2】 同システムを使用した本発明の一実施例に係る円生成DDAアルゴリズムのX長軸部分の処理を示すフローチャートである。
【図3】 同システムを使用した本発明の一実施例に係る円生成DDAアルゴリズムのY長軸部分の処理わ示すフローチャートである。
【図4】 同処理に基づくドット形成処理結果を示す図である。
【図5】 同ドット形成処理によってプロットした円を示す図である。
【符号の説明】
1…ホストコンピュータ、2…インクジェットプリンタ、11…インタフェース、12…CPU、13…バンドメモリ、14…インクジェットヘッド。
Claims (1)
- CPU及びバンドメモリを有するシステムにベクトルデータを入力し、前記CPUにてこのベクトルデータによって特定される直交座標系の第1軸方向の各座標値に対し、前記ベクトルデータの傾き相当値を蓄積し、その蓄積量が所定値を超えた時点で前記直交座標系の第2軸方向の座標値を1つ変化させると共に前記蓄積量から所定値を減算することにより前記ベクトルデータに沿ってドットを形成し、前記バンドメモリの座標領域上に前記ドットにより構成されるラスタデータの画像を展開していくDDA処理による円の展開処理方法において、
前記CPUが、前記第1軸方向の精度と前記第2軸方向の精度とが異なる直交座標系で前記円のDDA処理を実行する際に、前記第1軸方向の精度と前記第2軸方向の精度の比に対応した縦横直径比を有する楕円を前記円を表すベクトルデータとしてDDA処理を実行し、
前記DDA処理は、前記CPUが、前記縦横直径比に基づいて、前記第1軸方向が1増加したときの第2軸方向の増分と、前記第2軸方向が1増加したときの第1軸方向の増分と、基準軸変更点とを求め、前記第1軸方向を1増加させて第2軸方向の増分を蓄積させる処理と、前記第2軸方向を1増加させて第1軸方向の増分を蓄積させる処理とを、前記基準軸変更点を境にして切り替えることで実行される
ことを特徴とする円の展開処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27749499A JP4376371B2 (ja) | 1999-09-29 | 1999-09-29 | 円の展開処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27749499A JP4376371B2 (ja) | 1999-09-29 | 1999-09-29 | 円の展開処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001101432A JP2001101432A (ja) | 2001-04-13 |
JP4376371B2 true JP4376371B2 (ja) | 2009-12-02 |
Family
ID=17584392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27749499A Expired - Fee Related JP4376371B2 (ja) | 1999-09-29 | 1999-09-29 | 円の展開処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4376371B2 (ja) |
-
1999
- 1999-09-29 JP JP27749499A patent/JP4376371B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001101432A (ja) | 2001-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0167618B1 (ko) | 문자 발생 장치 및 방법 | |
US6753862B1 (en) | Outline smoothing method and system | |
JP3037854B2 (ja) | 文字生成方法及びその装置 | |
JP4376371B2 (ja) | 円の展開処理方法 | |
US6504543B1 (en) | Polygon drawing method and polygon drawing apparatus | |
Lejun et al. | A new contour fill algorithm for outlined character image generation | |
JP3029135B2 (ja) | 文字処理装置及び方法 | |
JP4376372B2 (ja) | 画像展開処理方法 | |
JP3243293B2 (ja) | 輪郭線補正方法 | |
JPH07334695A (ja) | 作図装置および線幅決定方法 | |
KR940001106B1 (ko) | 선폭보정방법 및 그 장치 | |
JP3057959B2 (ja) | データ変換装置 | |
JP2002244643A (ja) | 画像処理装置 | |
JP2630843B2 (ja) | 直線描画方法及び装置 | |
JP3039214B2 (ja) | データ変換装置 | |
JPH10188011A (ja) | 描画処理装置 | |
JP3055306B2 (ja) | データ出力装置 | |
JP3060569B2 (ja) | 印刷装置 | |
JP2782752B2 (ja) | 文字パターン出力装置 | |
JP2856136B2 (ja) | 印刷装置 | |
JP3211591B2 (ja) | イメージ処理装置 | |
JPH0934435A (ja) | 文字出力装置 | |
JPH04250496A (ja) | データ変換装置 | |
JPH03280095A (ja) | 画像処理方法 | |
JPH0511736A (ja) | 文字パターン出力装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060602 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20070820 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090522 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090602 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090731 |
|
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: 20090901 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090909 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4376371 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120918 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120918 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120918 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130918 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |