JPH0738228B2 - 凸多角形と直線の表示方式 - Google Patents

凸多角形と直線の表示方式

Info

Publication number
JPH0738228B2
JPH0738228B2 JP20433786A JP20433786A JPH0738228B2 JP H0738228 B2 JPH0738228 B2 JP H0738228B2 JP 20433786 A JP20433786 A JP 20433786A JP 20433786 A JP20433786 A JP 20433786A JP H0738228 B2 JPH0738228 B2 JP H0738228B2
Authority
JP
Japan
Prior art keywords
point
coordinate
points
vertex
sequence
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 - Lifetime
Application number
JP20433786A
Other languages
English (en)
Other versions
JPS6359684A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP20433786A priority Critical patent/JPH0738228B2/ja
Publication of JPS6359684A publication Critical patent/JPS6359684A/ja
Publication of JPH0738228B2 publication Critical patent/JPH0738228B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Description

【発明の詳細な説明】 [概要] 従来凸多角形を表示する場合、面塗りの場合と直線の表
示の場合とでは補間に際して座標値を変化させる方向の
違いからxy座標が同一でも図形等の奥行方向の座標値で
あるz値が異なる場合を生じそのため凸多角形の外部線
に沿って頂点間を結んだ直線が歯抜け状態となるという
問題点があった。本発明はこのような従来の問題点を解
決するため、凸多角形の面塗りを、外郭線の部分は直線
のDDAを用いて補間し、内部は従来の面塗り方法で補間
することにより、多角形の外部線に沿って頂点間を結ん
だ直線をいわゆる“歯抜け”を起こすことなく連続した
直線として表示することのできる技術について開示して
いる。
[産業上の利用分野] 本発明は画像の表示方式に関するものであって、特に凸
多角形の外部線に沿って頂点間を結んだ直線の表示と該
多角形の面塗り方式に係る。画像の表示装置、例えばグ
ラフィックディスプレイ装置に於いては、表示単位は、
物体の面情報を示す多角形と、稜線の情報を示す直線に
大別される。一方、これらの物体に対して、作成・形状
の変更・削除等の処理を行なおうとする時、操作性の点
から、物体が表示されている管面上で適当な入力装置
(タブレット等)を用いて目的の物体を指示し、前述の
処理を施すことが一般に行われている。
これらの操作の種類によっては、物体の特定の稜線を指
示する必要が生じてくる。例えば、物体の稜線のうちの
1つが管面上で水平になるように物体を回転させる時な
どである。
この指示を確実に行うため、表示装置には、稜線が歯抜
けることなく完全に表示されることが望ましい。
[従来の技術] 多角形には頂点角が全て180°未満の角である凸多角形
と180°を超える角を含む凹多角形があるが、ここで
は、対象を凸多角形に限定した場合の技術について説明
する。
第4図は従来の凸多角形の面塗り装置の構成を示すブロ
ック図である。第4図において、51は最大・最小頂点検
出手段、52は頂点列分離手段、53はy方向頂点補間手段
1、54はy方向頂点補間手段2、55はx方向ディジタル
微分解析器(以下、ディジタル微分解析器のことをDDA
ともいう。なお、以下では、DDAはx、y座標に加えて
z座標をも補間するものとする。)である。
次に、本従来技術の作用を第4図と第5図を用いて説明
する。
最大・最小頂点の検出と頂点分離を説明する図であっ
て、(a)は対象となる凸多角形の例を示しており、図
中のP1〜P7はN個の頂点を持つ多角形の各頂点P1、P2、
…Pnを示す。各点は座標値としてx、y、zの3つの情
報を持つとする。また、ここではP1とP2、P5とP6はそれ
ぞれy座標の値が等しいと仮定する。第4図における最
大・最小頂点検出手段51では頂点列P1〜Pnの中からy座
標の値が最大となる頂点PAと、最小となる頂点PIを検出
する。但し最大点、最小点が複数存在する時は番号の若
い方を採用する。第5図(a)の例では、最大点=P1、
最小点=P5となる。頂点列分離手段52では入力の頂点列
を最大・最小頂点検出手段51より得られる最大点・最小
点によって2つの点列U1〜UlとV1〜Vmに分離する。但し
水平な辺(P1→P2とP5→P6)は何れの点列にも含まれな
いよう除外する。その結果U1とV1及びUlとVmはy座標の
値が等しくなる。第5図(b)は得られた2つの点列を
示す図で、U1〜U4は頂点P2〜P5に、V1〜V3は頂点P1、
P7、P6にそれぞれ相当する。[y方向頂点補間手段1]
53では点列U1〜Ulをy座標の値を1画素分ずつ変化させ
てDDA補間し、点ul〜unを出力する。[y方向頂点補間
手段2]54では点列V1〜Vmをy座標の値を1画素分ずつ
変化させてDDA補間し、点v1〜vnを出力する。始点と終
点のy座標が等しい点列をy軸に沿って補間したため、
任意のkについてukとvkとのy座標の値は常に等しい。
そこでx方向DDA5でukとvkとの間をx軸に沿ったDDA補
間をkを変えながら繰り返すことによって多角形内部の
各画素の座標値が求まり、面塗りが完了する。
一方、直線の補間方法としてはBreesenhamのDDAによ
り、始点から終点に向けて画素を補間する方法が一般に
用いられている。この場合、xとyで差分の大きい方を
1画素分ずつ変化させてとして補間が行われる。
[発明が解決しようとする問題点] 図形等の表示においては該図形を構成する各画素にx、
yの座標値の他にその奥行方向の位置に係る座標値とし
てz値が与えられる。これは異なる図形等を重ねて表示
するとき、その重なり部分についていずれを表示するか
を判断するために用いられる。
前述した従来の面塗り技術では、まずy座標の値を1画
素分ずつ変化させて補間を行う。すなわち、例れば、第
5図のU1〜U4について、y座標の値を変えて、x,zの値
を求める。そして、次にx座標の値を1画素分ずつ変化
させて補間を行うという方法で多角形内部のz値を決定
していた。一方、直線の補間に対してはxとyで差分の
大きい方を1画素分ずつ変化させて、始点から終点の方
向に補間して、x,y,zの値を求めていた。この方式にお
いては多角形上にのった直線、例えば、頂点間を結んだ
直線を引いたとき、補間時のディジタル誤差が、x座標
の値を1画素分ずつ変化させて補間を行うか、y座標の
値を1画素分ずつ変化させて補間を行うかの違いにより
異なるため、x,yの座標値が同じでもz値が異なるとい
う現象が起こる。このため、直線の一部は多角形の裏側
に隠れたものとして表示されず、結果として、直線の歯
抜け状態が発生するという問題点があった。
本発明はこのような従来の問題点に鑑みて凸多角形の外
部線に沿って頂点間を結んだ直線が歯抜け状態を生ずる
ことのない表示方式を提供することを目的としている。
[問題点を解決するための手段] 本発明によれば上述の目的は前記特許請求の範囲に記載
した手段により達成される。以下、本発明の構成につい
て原理ブロック図を用いて説明する。
第1図は本発明の凸多角形面塗り方式の原理ブロック図
である。図中、上段は凸多角形面塗り手段のブロック図
を、下段は直線補間手段のブロック図を示している。
上段の凸多角形面塗り手段において、最大・最小頂点検
出手段1は、多角形の頂点列P1〜Pnの中からスキャンラ
インと直交する方向(y軸方向)の座標の値が最大とな
る頂点PAと、最小となる頂点PIを検出する。頂点分離手
段2は、入力の頂点列を最大・最小頂点検出手段1より
得られる最大点・最小点によって2つの点列U1〜UlとV1
〜Vmとに分離する。点列左右判定手段3は、2つの点列
のスキャンライン方向(x軸方向)に関する大小関係を
求める。直線のDDA4,5は、2つの点列U1〜Ul,V1〜Vmそ
れぞれについて、x座標の値とy座標の値とで頂点間の
差分の大きい方を1画素分ずつ変化させてX,Y及びZ座
標の補間を行う。補間出力選択手段6,7は、それぞれDDA
4,5より出力された点のうち、y座標の等しい点が複数
存在した場合には、点列左右判定手段3の判定結果に基
づいて、最も多角形の内部側にある点のみを残し、残り
は削除する。直線のDDA8は、補間出力選択手段6,7によ
り出力された、点列U1〜Ulを補間した点列と、点列V1〜
Vmを補間した点列について、同一スキャンラインとなる
2点間を直線補間してX,Y,Zの座標値を求める。
第1図下段の直線補間手段において、線分方向判定手段
9は、直線の方向を判定する。端点交換手段10は、直線
の始点→終点の向きが画像のスキャン方向と一致するよ
う線分方向判定手段9の結果より必要に応じて端点の座
標値を交換する。DDA11は、始点から終点へ向けてx座
標とy座標の値とで端点間の差分の大きい方を1画素分
ずつ変化させて直線間を補間してX,Y及びZ座標を求め
る。
[作用] 上述した原理ブロック図において、最大・最小頂点検出
手段1と頂点分離手段2の作用は従来技術に述べた通り
である。
点列の左右判定手段3では2つの点列U1〜UlとV1〜Vmを
比較し、どちらの点列がより左側(x軸の負の側)に位
置するか調べる。そして負の側に位置する点列はDDA4
に、他方はDDA5に送られる。各DDAではxとyで頂点間
の差分の大きい方を1画素分ずつ変化させて補間を行な
い、x,y,zの値を求める。補間出力選択手段6、7で
は、それぞれDDA4、5より出力された点のうち、y座標
が等しい点が複数存在した場合には、補間出力選択手段
6は最も右側、補間出力選択手段7は最も左側の点のみ
を残し、残りは削除する。DDA8は補間出力選択手段6か
ら出力される点より、補間出力選択手段7から出力され
る点へ向けて、順番にx軸に沿ってDDA補間する。
また、直線の端点の座標値は線分方向判定手段9に送ら
れ、線の方向が判定される。その方向が画像のスキャン
方向と一致しない場合には、端点交換手段10で端点が交
換され、一致する場合にはそのまま送られる。DDA11で
は端点交換手段10の出力を始点から終点に向けて直線補
間し、x,y,zの値を求める。
この結果、多角形の境界線上は、直線のDDA4、5で求め
た座標となる。ここで例えば、頂点間を結んだ直線はDD
A11で求めた座標となる。両者は多角形のある2頂点を
結ぶ線に着目すれば共に同じ2点間を、xとyで差分の
大きい方を1画素分ずつ変化させて補間するという同じ
方法で描画しているので、線上を補間した全ての点で同
じx,y,z値となる。
[実施例] 第2図は本発明の1実施例を示すブロック図である。第
2図おいて、11はセグメントバッファで、ここに多角形
の頂点や、直線の端点の座標値が保持される。
このうち凸多角形の直線座標値は12〜20に示す各部で構
成される面塗り部に送られる。このうち最大・最小頂点
検出部12と頂点列分離部13の動作は従来の技術の項で説
明したとおりである。点列左右判定部14では点列U1〜Ul
がV1〜Vmの左側位置するとき真を、逆のとき偽を出力す
る。その判定は、 点U1とV1のx座標を比較し、等しくない場合は、小さ
い方が左側の点列とする。
そして、x座標が等しい場合には、直線U1→U2とV1→V2
の傾きの比較により左右を決定する。ここで始点を原点
に置いた場合の終点の位置を第3図のようにi〜viiiの
8つの領域に分類する。直線のx方向の差分をΔx,y方
向の差分をΔyとしたときにそれぞれの領域は、 i:Δx≧0、Δy≧0、|Δx|≧|Δy| ii:Δx≧0、Δy≧0、|Δx|<|Δy| iii:Δx<0、Δy≧0、|Δx|<|Δy| iv:Δx<0、Δy≧0、|Δx|≧|Δy| v:Δx<0、Δy<0、|Δx|≧|Δy| vi:Δx<0、Δy<0、|Δx|<|Δy| vii:Δx≧0、Δy<0、|Δx|<|Δy| viii:Δx≧0、Δy<0、|Δx|≧|Δy| と表される。Δyは常に負なので終点の属する領域はv
からviiiの間に限られる。このとき Δxの符号が両者で異なる場合、即ち、一方がvかvi
に属し他方がviiかviiiに属する場合は、Δxの符号が
負の方が左側とする。
両者でΔxの符号が等しく、|Δx|≧|Δy|の判定が
異なる場合、即ち、一方がvに属し他方がviに属する場
合、もしくは、一方がviiに属し他方がviiiに属する場
合は、Δx≧0の判定と、|Δx|≧|Δy|の判定が等し
い方が左側とする。
〜の判定に掛からない場合、両者は同じ領域に属す
る。そこで以下では直線のDDA補間を行って左右の判定
を行う。DDAの補間を並行して1ステップずつ両者のプ
ロット点が異なるまで繰り返す。両者のプロット点の違
いは、x座標の値を1画素分ずつ変化させて補間するこ
とになる領域v、viiiの場合には上下のずれ、y座標の
値を1画素分ずつ変化させて補間することになる領域v
i、viiの場合には左右のずれとして現れる。判定は、領
域v、viiiでは下にずれた方が左側、領域vi、viiでは
左にずれた方が左側とする。
以上で、点列U1〜UlとV1〜Vmの左右の判定が終了する。
点列左右交換部15では点列左右判定部14の判定をもとに
左側の点列がDDA16に、右側の点列がDDA17に送られるよ
うに必要に応じて交換を行う。
DDA16と17はBreesenhamのアルゴリズムを用いて点列間
の補間を行ない、x,y,zの値を求める。
18と19の補間出力選択部で、それぞれDDA16、17より出
力された点のうち、y座標が等しい点が複数存在した場
合には、補間出力選択部18は最も右側、補間出力選択部
19は最も左側の点のみを残し、残りは削除する。残す点
は、18の左側エッジに対する選択部では、 Δx≧0(右下がり)ならy座標変化の直前の点 Δx<0(左下がり)ならy座標変化の直後の点とし、
19の右側エッジに対する補間出力選択部では、 Δx≧0(右下がり)ならy座標変化の直後の点 Δx<0(左下がり)ならy座標変化の直前の点とす
る。
DDA20では、補間出力選択部18と19から出力された点の
間を線形補間する。
一方、直線の端点の座標は21〜23に示す各部で構成され
る直線表示部に送られる。
線分方向判定部21では、直線のx方向、y方向の差分Δ
x、Δyを検出する。
端点交換部22では直線の始点→終点の方向が画像のスキ
ャン方向(左から右、上から下)と一致するよう、必要
に応じて端点の交換を行う。
交換の条件としては、 Δy>0の場合 Δy=0かつΔx<0の場合 である。
23はDDAで始点から終点へ向けて直線の補間を行ない、
x,y,zの値を求める。
24はZバッファで隠面消去を行い、25はフレームバッフ
ァで結果のイメージを保持する。26はCRTで25のフレー
ムバッファの内容を読み出して管面に表示する。
[発明の効果] 以上説明したように本発明によれば、凸多角形の外郭線
に沿って頂点間を結んだ直線を歯抜け現象を起こすこと
なく連続した線として表示することができる利点があ
る。
【図面の簡単な説明】
第1図は本発明の原理を説明するブロック図、第2図は
本発明の1実施例を示すブロック図、第3図は直線の方
向の判定について説明する図、第4図は従来の凸多角形
の面塗り装置の構成を示すブロック図、第5図は最大・
最小頂点の検出と頂点分離を説明する図である。 1……最大・最小頂点検出手段、2……頂点分離手段、
3……点列左右判定手段、4、5、8、11、16、17、2
0、23……DDA、6、7……補間出力選択手段、9……線
分方向判定手段、10……端点交換手段、11……セグメン
トバッファ、12……最大・最小頂点検出部、13……頂点
列分離部、14……点列左右判定部、15……点列左右交換
部、18、19……補間出力選択部、21……線分方向判定
部、22……端点交換部、24……Zバッファ、25……フレ
ームバッファ、26……CRT

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】〔イ〕直線の方向を判定する線分方向判定
    手段と、 直線の始点→終点の向きが画像のスキャン方向と一致す
    るよう線分方向判定手段の結果より必要に応じて端点の
    座標値を交換する端点交換手段と、 始点から終点へ向けてx座標とy座標の値とで端点間の
    差分の大きい方を1画素分ずつ変化させて直線間を補間
    してX,Y及びZ座標を求める第1のディジタル微分解析
    器とを有する直線補間手段と、 〔ロ〕入力となる凸多角形の頂点列P1〜Pnの中からスキ
    ャンラインと直交する方向の座標の値が最大となる頂点
    PAと、最小となる頂点PIを検出する最大・最小頂点検出
    手段と、 入力の頂点列を最大・最小頂点検出手段より得られる最
    大点・最小点によって2つの点列U1〜UlとV1〜Vmとに分
    離する頂点分離手段と、 2つの点列のスキャンライン方向に関する大小関係を求
    める点列左右判定手段と、 上記2つの点列それぞれについてx座標の値とy座標の
    値とで頂点間の差分の大きい方を1画素分ずつ変化させ
    てX,Y及びZ座標の補間を行う第2の直線のディジタル
    微分解析器と、 第2のディジタル微分解析器より出力された点のうち、
    同一スキャンライン上の点が複数存在した場合には、点
    列左右判定手段の判定結果に基づいて、最も多角形の内
    部側にある点のみを残し、残りは削除する補間出力選択
    手段と、 補間出力選択手段により出力された、点列U1〜Ulを補間
    した点列と、点列V1〜Vmを補間した点列について、同一
    スキャンラインとなる2点間を直線補間してX,Y,Zの座
    標値を求める第3のディジタル微分解析器とを有する凸
    多角形面塗り手段とを具備することを特徴とする表示装
    置。
JP20433786A 1986-08-29 1986-08-29 凸多角形と直線の表示方式 Expired - Lifetime JPH0738228B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20433786A JPH0738228B2 (ja) 1986-08-29 1986-08-29 凸多角形と直線の表示方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20433786A JPH0738228B2 (ja) 1986-08-29 1986-08-29 凸多角形と直線の表示方式

Publications (2)

Publication Number Publication Date
JPS6359684A JPS6359684A (ja) 1988-03-15
JPH0738228B2 true JPH0738228B2 (ja) 1995-04-26

Family

ID=16488829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20433786A Expired - Lifetime JPH0738228B2 (ja) 1986-08-29 1986-08-29 凸多角形と直線の表示方式

Country Status (1)

Country Link
JP (1) JPH0738228B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0452881A (ja) * 1990-06-15 1992-02-20 Mitsubishi Electric Corp 線分描画パラメータ・セツトアツプ回路

Also Published As

Publication number Publication date
JPS6359684A (ja) 1988-03-15

Similar Documents

Publication Publication Date Title
CA2309378C (en) Image filling method, apparatus and computer readable medium for reducing filling process in producing animation
JP3240447B2 (ja) 画像処理装置
JP2612260B2 (ja) テクスチヤマツピング装置
JPH07182537A (ja) 図形描画装置および図形描画方法
US20020060693A1 (en) Image processor
KR20020064897A (ko) 디지털 이미지들의 세그멘테이션
EP0127249B1 (en) Pattern data processing apparatus
US4393453A (en) Region information processing system
JPS6359684A (ja) 表示装置
JPH10320557A (ja) テロップ文字表示フレーム検出方法及び装置
JP2000228723A (ja) 画素数変換装置と画素数変換方法
JPS62170287A (ja) 刺繍機縫目デ−タ作成装置
JP2000090286A (ja) 描画処理装置および記録媒体
JP3286366B2 (ja) 等高線データの検査装置及びこれを含む図面自動入力システム
JP4433525B2 (ja) 画像処理装置
JP2716570B2 (ja) 画像生成装置
JP3255549B2 (ja) 図形処理方法
US6377279B1 (en) Image generation apparatus and image generation method
EP0439714B1 (en) Anti-aliasing method for graphic display
JP2773127B2 (ja) 画像編集方法
JP2026079416A (ja) 表示制御装置およびその制御方法
JPH11203470A (ja) 表面状況設定方法及び画像認識方法
JPH0223479A (ja) 画像表示方法
JPH04172573A (ja) 画像処理方法
JPH03291770A (ja) 画像輪郭検出方法