JP3485055B2 - 台形描画方法および台形描画装置 - Google Patents

台形描画方法および台形描画装置

Info

Publication number
JP3485055B2
JP3485055B2 JP2000000242A JP2000000242A JP3485055B2 JP 3485055 B2 JP3485055 B2 JP 3485055B2 JP 2000000242 A JP2000000242 A JP 2000000242A JP 2000000242 A JP2000000242 A JP 2000000242A JP 3485055 B2 JP3485055 B2 JP 3485055B2
Authority
JP
Japan
Prior art keywords
trapezoid
line segment
drawn
parameters
trapezoidal
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
Application number
JP2000000242A
Other languages
English (en)
Other versions
JP2001188912A (ja
Inventor
友彰 小崎
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2000000242A priority Critical patent/JP3485055B2/ja
Publication of JP2001188912A publication Critical patent/JP2001188912A/ja
Application granted granted Critical
Publication of JP3485055B2 publication Critical patent/JP3485055B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、台形描画を行う方
法および装置に関する。
【0002】
【従来の技術】近年、コンピュータグラフィックは非常
に多くの分野で応用されるようになってきており、複雑
な図形を表現したいという要求や、さらにそれらを高速
に描画したいという要求も高まってきている。そこで、
コンピュータグラフィックにおいて、単純な図形の集合
によって複雑な図形を表現するという手法がよく利用さ
れている。例えば、カーナビゲーションシステムにおけ
る地図描画や、コンピュータゲームにおいてもこの手法
が用いられている。この手法は、複雑な図形を、複雑な
装置などを使わず描画でき、さらに、回転や拡大縮小な
どの処理を行っても画質が劣化しないというメリットが
ある。また、コンピュータが高速に処理できる図形に分
割すれば、複雑な図形が高速に描画できることになる。
【0003】図形を分割して描画する例として、多角形
を平行な線分で複数の台形に分けて描画する方法があ
る。ただし、ここでは、三角形も上底または下底の長さ
が0である台形として扱うことにする。四角形、八角形
の場合の分割例を図6に示す。四角形の例では3つの台
形に、八角形の例では6つの台形に分割されている。こ
のように、任意の多角形は台形に分割できる。
【0004】台形を描画するには、さらに複数の平行な
線分に分割して描画する。上底、下底が水平方向の台形
を描画する方法として次のようなものがある。水平方向
をx軸、垂直方向をy軸とし、上底、下底のうちy座標の
小さいほうを上底とする。また、描画は画素ごとになる
ので、線分を描画する際x, y座標は整数値に丸める。 (1) 上底部分に相当するy座標の値を用いてx軸に平
行な線分を描画する。開始点、終了点のx座標はそれぞ
れ台形の上底の左および右側頂点のx座標とする。 (2) y座標を1増やしx軸に平行な線分を描画する。
このとき、開始点、終了点のx座標は、現在のy座標の値
でx軸に平行な直線を引いたときに台形の左辺、右辺と
交差する点のx座標とする。 (3)下底に相当する線分を描画したら終了、そうでな
ければ(2)に戻る。
【0005】描画例を図7に示す。太線であらわされる
ような台形を描画したとき、図で色をつけた画素が塗り
つぶされる。
【0006】前記(2)の段階で、実際には交点のx座
標を毎回計算する必要はなく、線分の開始点、終了点
は、直前に描画した線分の開始点、終了点のx座標から
それぞれ左右の辺の傾きに応じた定数分だけ移動させた
ものを用いれば良い。また、ここでは上底、下底がx座
標に平行な場合について説明したがy座標に平行な場合
でも同じ手法が使える。
【0007】本手法により、非常に単純な処理の組み合
わせで台形、さらには任意の多角形を描画できる。ま
た、水平線分、垂直線分を高速に描画できる処理系の場
合、本手法を用いれば、上底、下底が水平あるいは垂直
方向の台形が高速に描画できる。したがって、図形を台
形に分割する際に、上底、下底が水平または垂直になる
ようにすれば、複雑な多角形でも非常に単純かつ高速に
描画することができる。
【0008】
【発明が解決しようとする課題】前述の手法にしたがっ
て台形を描画する場合、図8の太線で示したような、上
底、下底の長さが短く、左右の辺と上底、下底とのなす
角が0度および180度に近い角度になる台形の場合、
描画結果の図形に途切れが生じることがある。図8で色
をつけた画素が前述の手法で描画される画素であるが、
この例の場合4ヶ所に途切れが生じている。元々1つで
ある図形の描画結果が複数の領域に分かれて見えるのは
自然な描画とは言えない。
【0009】本発明は、前記課題を鑑み、描画量の増大
および描画のための座標計算などの計算量の増大を抑え
つつ、途切れのない台形を描画する方法の提供を目的と
する。
【0010】前記課題を解決するため本発明の台形描画
方法は、多角形が台形分割され4頂点の座標値のパラメ
ータで与えられる台形の描画を行う方法であって、前記
パラメータから左右の辺の傾きを算出する傾き演算工程
と、前記左辺を左方向に前記左辺の傾き値の半分だけシ
フトする演算と前記右辺を右方向に前記右辺の傾き値の
半分だけシフトする演算とを行う補正演算工程と、前記
左辺上の点と右辺上の点との間を塗りつぶす動作を、垂
直方向の位置を変えながら繰り返し行う線分描画工程を
備えるものである。
【0011】
【発明の実施の形態】以下、本発明の一実施の形態とし
て、台形描画方法について説明する。ここでは、本発明
に関係のある水平垂直線分、台形の2命令について説明
を行う。 1.水平垂直線分描画命令 図3は水平線分描画の手順を示したフローチャートであ
る。ここでは、このフローチャートを参照しながら線分
描画処理についての説明を行う。
【0012】コンピュータグラフィックでは図4のよう
に座標系をとるのが一般的であり、ここでもこのように
とる。すなわち、画面左上を原点とし、右方向をx軸の
正方向、下方向をy軸の正方向とする。W, Hはそれぞれ
画面の幅、高さである。水平線分描画処理は、線分の両
端点の座標 (X1,Y1), (X2,Y2) および色Cが引数として
与えられる。ただし、Y1=Y2であるのであわせて1つの
引数Yとする。ステップS21では、変数Xの初期値を左
側の端点のx座標値に決定している。ステップS22に
おいてカウンタhが選択される。ステップS23では、
座標に対応するメモリ領域に色Cに対応した値を書き込
むことにより点の描画が行われる。ステップS24で各
変数の更新が行われ、ステップS25によりステップS
23、S24はh回繰り返される。
【0013】ここに示したアルゴリズムは、増分アルゴ
リズムなどと呼ばれる手法であるが、特にこれに限定す
るわけではなく別の手法を用いても良い。垂直線分描画
についても同様の方法で描画できる。 2.台形描画命令 台形の上底、下底がx軸に平行な場合の例を用いて説明
するが、y軸に平行な場合でも同様の方法で描画でき
る。図1は台形描画の手順を示したフローチャートであ
る。ここで、台形の各座標は図2のようになっていると
する。
【0014】 ステップS1は傾き演算工程、ステップ
S2は補正量演算工程である。また、ステップS3以降
は繰り返し線分を描画する線分描画工程である。ステッ
プS1で左右の辺の傾きDL, DRを計算し、ステップS2
で線分描画時における両端点の補正のための値AL, ARを
計算する。DL/2, DR/2をそれぞれ補正量としている
のは、ある線分と、その線分の次に描かれる線分とで半
分ずつすき間を埋めようとしているからである。ステッ
プS3では変数XL, XR, Yの初期値を設定する。このと
き、傾きDL, DRおよび補正量AL, ARの値により、XL, XR
を補正している。但し、見た目が不自然とならないよう
に、上底の始点が鋭角(DL>O)のときは上底の補正を行
わず、鈍角(その他)のときだけ上底の補正を行ってい
る。ステップS4では上底の両端点の座標を(XL, Y),
(XR, Y)、描画の色情報をCとした線分描画を行う。次に
ステップS5において、2本目の線分のためのXL,X
R,Yを設定するが、ここでは左側の点XLは左方向(分
割台形の外側)に左辺の傾きの半分、右側の点XRは右
方向(分割台形の外側)に右辺の傾きの半分シフトする
ことによりXL,XRを補正している。本発明はすき間を
検出し埋めるというものではなく、すき間の有無に関わ
らず補正を行っている。ステップS7ではS4と同じく
2本目以降の線分について両端点の座標を(XL, Y),(XR,
Y)、色情報Cとした線分描画を行う。ステップS8で各
変数の更新が行われ、ステップS6によってステップS
7、S8はYが下底の1本前に達するまで繰り返され
る。S9〜S13は下底の処理を行うもので、ステップ
S10、S12では、それぞれステップS9、S11で
傾きDL, DRの値を調べて条件を満たした場合に下底のX
L, XRを補正する。これは上底について見た目が不自然
とならないようにするS3と同様のものである。最後
に、ステップS13でS4と同じく下底の両端点の座標
を(XL, Y), (XR, Y) 、色情報Cとした線分描画を行う。
【0015】本手法を用いて台形を描画した例を図5に
示す。従来の手法では薄い色の部分のみが描画されてい
たものが、本手法によって濃い色の部分も描画されるよ
うになる。従来から途切れが発生しないような場合で
も、本手法は補正を行うことがあるが(図5(A))、
不自然な描画になることはない。また、従来の手法で図
形が途切れるのは、傾きDL(またはDR)が大きいため
に、直前の線分の右側(左側)の端点よりも次の線分の
左側(右側)の端点が右(左)になるという逆転状態が
発生するためである(図5(B))。本手法を用いれ
ば、前述の逆転状態が起こらないように、線分の端点の
位置を傾きの大きさに応じて補正するため、前後の線分
と連結した線分が描画でき、図形に途切れは発生しな
い。
【0016】また、多角形を複数の台形に分割して描画
する場合、上の台形の下底と下の台形の上底が重なるよ
うに分割すれば、上の台形の下底を描画する必要がなく
なる。このとき、ステップS6でYが下底に達した段階
で台形描画を終了することができ、下底を描画する際の
線分の端点を補正する必要はない。
【0017】
【発明の効果】以上のように本発明によれば、前処理、
後処理の段階に補正演算工程を設けることにより、繰り
返し部分のアルゴリズムは変更せずに途切れのない台形
を描画できる。特に、多角形を複数の台形に分割して描
画する場合は、下底を描画する際の線分の端点の補正も
必要なく、前処理の段階での補正だけで良い。速度低下
は、描画画素数の増加によるものを除けば、図形の大き
さや形状に依存しない補正演算によるものだけで済む。
【図面の簡単な説明】
【図1】本発明の台形描画処理の手順を示したフローチ
ャート
【図2】台形描画処理のためのパラメータである4頂点
の座標を示した図
【図3】水平線分描画処理の手順を示したフローチャー
【図4】コンピュータグラフィックで扱う座標系を示し
た図
【図5】本発明の台形描画法による台形の描画例を示し
た図
【図6】多角形の台形分割の例を示した図
【図7】従来の台形描画手法を用いて描画した例を示し
た図
【図8】従来の台形描画手法で途切れが発生する例を示
した図
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06T 11/20 G06T 11/40

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 多角形が台形分割され4頂点の座標値の
    パラメータで与えられる台形の描画を行う方法であっ
    て、 前記パラメータから左右の辺の傾きを算出する傾き演算
    工程と、前記左辺を左方向に前記左辺の傾き値の半分だけシフト
    する演算と前記右辺を右方向に前記右辺の傾き値の半分
    だけシフトする演算とを行う補正 演算工程と、前記左辺上の点と右辺上の点との間を塗りつぶす動作
    を、垂直方向 の位置を変えながら繰り返し行う線分描画
    工程を備えることを特徴とする台形描画方法。
  2. 【請求項2】 請求項1記載の台形描画方法を実現した
    プログラムを格納したコンピュータ読み取り可能な記録
    媒体。
  3. 【請求項3】 多角形が台形分割され4頂点の座標値の
    パラメータで与えられる台形の描画を行う装置であっ
    て、 前記パラメータから左右の辺の傾きを算出する傾き演算
    手段と、前記左辺を左方向に前記左辺の傾き値の半分だけシフト
    する演算と前記右辺を右方向に前記右辺の傾き値の半分
    だけシフトする演算とを行う補正 演算手段と、前記左辺上の点と右辺上の点との間を塗りつぶす動作
    を、垂直方向 の位置を変えながら繰り返し行う線分描画
    手段を備えることを特徴とする台形描画装置。
JP2000000242A 2000-01-05 2000-01-05 台形描画方法および台形描画装置 Expired - Fee Related JP3485055B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000000242A JP3485055B2 (ja) 2000-01-05 2000-01-05 台形描画方法および台形描画装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000000242A JP3485055B2 (ja) 2000-01-05 2000-01-05 台形描画方法および台形描画装置

Publications (2)

Publication Number Publication Date
JP2001188912A JP2001188912A (ja) 2001-07-10
JP3485055B2 true JP3485055B2 (ja) 2004-01-13

Family

ID=18529620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000000242A Expired - Fee Related JP3485055B2 (ja) 2000-01-05 2000-01-05 台形描画方法および台形描画装置

Country Status (1)

Country Link
JP (1) JP3485055B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4664169B2 (ja) * 2005-09-26 2011-04-06 三菱電機株式会社 図形描画装置及び図形描画プログラム
CN104268855B (zh) * 2014-09-15 2017-07-07 江苏影速光电技术有限公司 一种在fpga中实现梯形图切割的方法

Also Published As

Publication number Publication date
JP2001188912A (ja) 2001-07-10

Similar Documents

Publication Publication Date Title
KR100723421B1 (ko) 포인트 보간에 의한 렌더링 방법, 포인트 보간에 의한 렌더링 장치 및 기록매체
JP3485055B2 (ja) 台形描画方法および台形描画装置
KR100466901B1 (ko) 묘사방법,묘사장치,컴퓨터그래픽시스템
JP3060761B2 (ja) 描画装置
JPH01276380A (ja) 画像処理装置
JP2019121061A (ja) 画像拡大装置
GB2257878A (en) Method for tracing a line image processor
CN112419445A (zh) 基于图层切换的图元状态切换方法、装置和存储介质
JP3872056B2 (ja) 描画方法
JP3433763B2 (ja) 領域内外判定方法及びそれを用いたコンピュータゲーム機
JPH09245181A (ja) アンチエイリアシング処理方法
JP2634906B2 (ja) 画像処理方法
JP2611007B2 (ja) 画像処理装置
JPH0554151B2 (ja)
JP3139805B2 (ja) 画像処理方法及びその装置
JPH01200481A (ja) 三次元図形のピック方法
JP4320604B2 (ja) 画像処理方法および画像処理装置
JP3154343B2 (ja) 多角図形の塗り潰し表示方法
JPS62285188A (ja) 線分の表示方法
JPH02306383A (ja) 描画装置
CN115049564A (zh) 一种图片锐化处理方法及处理终端
JP2004086479A (ja) 図形を表示させるための情報処理装置、情報処理方法、その情報処理方法を実現するためのプログラム、およびそのプログラムを記録した記録媒体
JPH06318257A (ja) 線分描画方法およびその装置
JPH09134121A (ja) 鳥瞰図表示ナビゲーションシステム
JPH1186012A (ja) 多角形描画方法及び装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071024

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081024

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091024

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091024

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101024

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees