JPH02254576A - 直線描画方法 - Google Patents
直線描画方法Info
- Publication number
- JPH02254576A JPH02254576A JP7754089A JP7754089A JPH02254576A JP H02254576 A JPH02254576 A JP H02254576A JP 7754089 A JP7754089 A JP 7754089A JP 7754089 A JP7754089 A JP 7754089A JP H02254576 A JPH02254576 A JP H02254576A
- Authority
- JP
- Japan
- Prior art keywords
- line segment
- straight line
- line
- shorter
- linear
- 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
Landscapes
- Image Generation (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野コ
この発明は、CRT表示器等に直線を描画する方法に関
する。
する。
[従来の技術]
描画する線分の始点A(x、y)と終点B(X、Y)と
が与えられたとき、従来はまず、dx= X −X、
dyy−yの差分を計算し、次に線分ABの傾きm=d
y/dxを計算するか、あるいはdx−dy又はdy
−dxを計算していき、yの値がynからyn÷、に変
化したとき、Xの値がいくら変化するかを求めてA、
82点間をドツトで埋めている。
が与えられたとき、従来はまず、dx= X −X、
dyy−yの差分を計算し、次に線分ABの傾きm=d
y/dxを計算するか、あるいはdx−dy又はdy
−dxを計算していき、yの値がynからyn÷、に変
化したとき、Xの値がいくら変化するかを求めてA、
82点間をドツトで埋めている。
[発明が解決しようとする課題]
ところが、上述した従来の描画方法であれば、差分ct
yにおける各y座標毎にX座標を演算する必要があるた
め描画速度が劣る。
yにおける各y座標毎にX座標を演算する必要があるた
め描画速度が劣る。
そこで直線描画回路をハードウェア化しようとすれば、
dy/dx等の演算を行なうための複雑な割り算器を必
要とし、又、これらの演算の際に生じる演算誤差を補正
する必要があるといった欠点があった。
dy/dx等の演算を行なうための複雑な割り算器を必
要とし、又、これらの演算の際に生じる演算誤差を補正
する必要があるといった欠点があった。
この発明は上述した問題点をなくすためになされたもの
であり、複雑な演算や補正なしで高速の直線描画を可能
にする直線描画方法を提供することを目的とする。
であり、複雑な演算や補正なしで高速の直線描画を可能
にする直線描画方法を提供することを目的とする。
[課題を解決するための手段]
この発明の直線描画方法は、所定長Lsより短かい任意
の線分を直線描画するために、該線分の両端点間を埋め
るべき描画パターンをテーブルとして記憶しておき、描
画する直線A1Anが与えられたとき、該直線A1An
を所定長Lsより短かくなるように線分A1Axに分割
し、該線分A1Axに対応する描画パターンをテーブル
より読み出して線分A1Axの直線描画を行ない、 以上の分割線分の描画を繰り返すことにより、直線A1
Anの直線描画を行なうことを特徴とする。
の線分を直線描画するために、該線分の両端点間を埋め
るべき描画パターンをテーブルとして記憶しておき、描
画する直線A1Anが与えられたとき、該直線A1An
を所定長Lsより短かくなるように線分A1Axに分割
し、該線分A1Axに対応する描画パターンをテーブル
より読み出して線分A1Axの直線描画を行ない、 以上の分割線分の描画を繰り返すことにより、直線A1
Anの直線描画を行なうことを特徴とする。
[実施例]
この発明の直線描画方法に基づく直線描画の一実施例を
第1図に示すフローチャートに基づき説明する。
第1図に示すフローチャートに基づき説明する。
ある設定長さLsより短かい任意の向きの線分の端点が
与えられた時、上述したような演算を行なうことなく、
与えられた線分を描画するために、その線分の両端点間
の画素をどのように埋め込めたらよいかというデータを
予めテーブルROM等にテーブルとして用意しておく。
与えられた時、上述したような演算を行なうことなく、
与えられた線分を描画するために、その線分の両端点間
の画素をどのように埋め込めたらよいかというデータを
予めテーブルROM等にテーブルとして用意しておく。
例えば第2図において、PQ<Lsなる点P、Qの座標
が与えられた時、図中の画素のパターンでもって線分の
埋め込みが行われる。このときどのようなパターンで埋
め込むかはX、Y座標の差分dx、dyを算出すること
により決定される。
が与えられた時、図中の画素のパターンでもって線分の
埋め込みが行われる。このときどのようなパターンで埋
め込むかはX、Y座標の差分dx、dyを算出すること
により決定される。
さて、第3図に示す任意の点A0 Bo間の直線描画を
行うとき、ステップSt及びステップS2にて、始点A
0及び終点B。h< A 、 Bに取り込まれ、ステッ
プS3にて線分長L=ABが算出され、そして、ステッ
プS4で線分長しが前記設定長さLs以下であるか否か
が判定される。L=AB<Lsのときは、ステップS5
において、テーブルROMから所定の画素パターンが読
み出され、この読み出された画素パターンでもって上記
A、−B。間が直線描画される。
行うとき、ステップSt及びステップS2にて、始点A
0及び終点B。h< A 、 Bに取り込まれ、ステッ
プS3にて線分長L=ABが算出され、そして、ステッ
プS4で線分長しが前記設定長さLs以下であるか否か
が判定される。L=AB<Lsのときは、ステップS5
において、テーブルROMから所定の画素パターンが読
み出され、この読み出された画素パターンでもって上記
A、−B。間が直線描画される。
一方、L>LSのときは、ステップS4からステップS
6へと進み、線分長ABの分割点M1例えば第3図図示
のごとく中点となるM、の座標が算出される。そして、
ステップS7でこの分割点M1がBに取り込まれ、ステ
ップS8で分割された線分長L=AB、つまり、λM、
−が算出され、ステップS9にて前記線分長しがLs以
下であるか否かが判定される。L>Lsのときは、ステ
ップS6に戻り、AB(=AMl)の分割点、例えばM
、が算出される。ステップS7でこの分割点M。
6へと進み、線分長ABの分割点M1例えば第3図図示
のごとく中点となるM、の座標が算出される。そして、
ステップS7でこの分割点M1がBに取り込まれ、ステ
ップS8で分割された線分長L=AB、つまり、λM、
−が算出され、ステップS9にて前記線分長しがLs以
下であるか否かが判定される。L>Lsのときは、ステ
ップS6に戻り、AB(=AMl)の分割点、例えばM
、が算出される。ステップS7でこの分割点M。
がBに取り込まれ、ステップS8で分割された線分長し
=、xia(=xut)が算出され、ステップS9にて
同様な判定がなされる。このとき、しく=λ17)≦L
sであれば、ステップ810へ進み、テーブルROMか
ら、この線分AM、に対応する所定の画素パターンが読
み出されて直線描画される。次のステップSllでは、
B(=MりがAに取り込まれ、そしてステップS2にて
、終点B。
=、xia(=xut)が算出され、ステップS9にて
同様な判定がなされる。このとき、しく=λ17)≦L
sであれば、ステップ810へ進み、テーブルROMか
ら、この線分AM、に対応する所定の画素パターンが読
み出されて直線描画される。次のステップSllでは、
B(=MりがAに取り込まれ、そしてステップS2にて
、終点B。
がBに取り込まれた後、ステップS3にて線分長L=A
B、つまり、MtBが算出され、以下同様な分割及びテ
ーブルROM読み出しによる直線描画が行なわれ、線分
ABの直線描画が行われる。
B、つまり、MtBが算出され、以下同様な分割及びテ
ーブルROM読み出しによる直線描画が行なわれ、線分
ABの直線描画が行われる。
上述の各ステップにおける処理はマイクロコンピュータ
などのデータ処理装置で行う。
などのデータ処理装置で行う。
尚、線分ABの分割点Mを上述のごと<A、B2点間の
中点とすれば、この分割点Mの座標算出は、加算器と!
ビットシフトとで構成される演算器で実現でき、回路構
成が簡略化される。
中点とすれば、この分割点Mの座標算出は、加算器と!
ビットシフトとで構成される演算器で実現でき、回路構
成が簡略化される。
[発明の効果]
以上説明したように、この発明は、所定長より短かい任
意の線分に対する直線描画のための描画パターンを予め
記憶しておき、描画する線分が与えられたとき、この線
分を所定長以下に分割し、その分割した線分を記憶して
あった描画パターンに基づいて描画するようにしたので
、従来のように、1画素づつの座標計算は不要となり直
線描画速度が向上する。
意の線分に対する直線描画のための描画パターンを予め
記憶しておき、描画する線分が与えられたとき、この線
分を所定長以下に分割し、その分割した線分を記憶して
あった描画パターンに基づいて描画するようにしたので
、従来のように、1画素づつの座標計算は不要となり直
線描画速度が向上する。
第1図は、この発明の直線描画方法による描画の一実施
例を示すフローチャート、第2図は、テーブルより読み
出された描画パターンの一例を示す図、第3図は、線分
の分割を説明するために用いた図である。 第 図 第 図 第 図
例を示すフローチャート、第2図は、テーブルより読み
出された描画パターンの一例を示す図、第3図は、線分
の分割を説明するために用いた図である。 第 図 第 図 第 図
Claims (1)
- (1)所定長Lsより短かい任意の線分を直線描画する
ために、該線分の両端点間を埋めるべき描画パターンを
テーブルとして記憶しておき、描画する直線@A_1A
_n@が与えられたとき、該直線@A_1A_n@を所
定長Lsより短かくなるように線分@A_1A_x@に
分割し、該線分@A_1A_x@に対応する描画パター
ンをテーブルより読み出して線分@A_1A_x@の直
線描画を行ない、 以上の分割線分の描画を繰り返すことにより、直線@A
_1A_n@の直線描画を行なうことを特徴とする直線
描画方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7754089A JPH02254576A (ja) | 1989-03-29 | 1989-03-29 | 直線描画方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7754089A JPH02254576A (ja) | 1989-03-29 | 1989-03-29 | 直線描画方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02254576A true JPH02254576A (ja) | 1990-10-15 |
Family
ID=13636832
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7754089A Pending JPH02254576A (ja) | 1989-03-29 | 1989-03-29 | 直線描画方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02254576A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011081663A (ja) * | 2009-10-08 | 2011-04-21 | Canon Inc | 画像描画装置、画像描画方法、及びコンピュータプログラム |
-
1989
- 1989-03-29 JP JP7754089A patent/JPH02254576A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011081663A (ja) * | 2009-10-08 | 2011-04-21 | Canon Inc | 画像描画装置、画像描画方法、及びコンピュータプログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5570463A (en) | Bresenham/DDA line draw circuitry | |
| US4459676A (en) | Picture image producing apparatus | |
| JPS63271290A (ja) | 文字パタ−ン生成方式 | |
| US5867172A (en) | Thickened and thinned character generating device including elements for removing undesirably formed outline portions | |
| JPH02254576A (ja) | 直線描画方法 | |
| JP2634851B2 (ja) | 画像処理装置 | |
| US6373494B1 (en) | Signal processing apparatus and image processing apparatus | |
| US6005988A (en) | Method and apparatus for rapid digital image resizing | |
| US5293233A (en) | Digital video effects with image mapping on to curved surface | |
| JPH03144782A (ja) | 三次元図形処理装置 | |
| JPH07118024B2 (ja) | パターンデータ生成方式 | |
| EP0458571A2 (en) | Image processing method and apparatus | |
| US5377316A (en) | Line image generating apparatus | |
| JP2724712B2 (ja) | 太線描画方法 | |
| JPS59834B2 (ja) | 直線発生回路 | |
| JP2582444B2 (ja) | ×2▲上n▼演算回路 | |
| JP2781050B2 (ja) | 回転パターン・データの作成方法 | |
| JP2647073B2 (ja) | 図形表示装置 | |
| US5592570A (en) | Image processing method | |
| KR930008176B1 (ko) | 화상의 부호화 처리 장치 | |
| JPS59188761A (ja) | 画像メモリの書き込み方式 | |
| JPS60173583A (ja) | テクスチユアパタ−ン発生装置 | |
| JPS61158394A (ja) | 高速円,円弧発生方法 | |
| JPS62166473A (ja) | 陰影図形発生装置 | |
| JPS61256483A (ja) | 扇形図形のぬりつぶし回路 |