JPH07118025B2 - コンピュータ・グラフィックス処理方法及びシステム - Google Patents

コンピュータ・グラフィックス処理方法及びシステム

Info

Publication number
JPH07118025B2
JPH07118025B2 JP3133232A JP13323291A JPH07118025B2 JP H07118025 B2 JPH07118025 B2 JP H07118025B2 JP 3133232 A JP3133232 A JP 3133232A JP 13323291 A JP13323291 A JP 13323291A JP H07118025 B2 JPH07118025 B2 JP H07118025B2
Authority
JP
Japan
Prior art keywords
line
value
pixels
pixel
calculating
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
JP3133232A
Other languages
English (en)
Other versions
JPH04233088A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH04233088A publication Critical patent/JPH04233088A/ja
Publication of JPH07118025B2 publication Critical patent/JPH07118025B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Digital Computer Display Output (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータ・グラフ
ィックス処理システム、具体的には3次元機能すなわち
奥行き機能を有するコンピュータ・グラフィックス処理
システムに関する。
【0002】
【従来の技術】コンピュータ・グラフィックス処理シス
テム、特に3次元機能すなわち奥行き機能を有するコン
ピュータ・グラフィックス処理システムにおいては、線
は通常その2点のx、y、z座標によって定義される。
しかしながら、線を引いたときその線を構成する個々の
画素(ピクセル)が、実際には引かれる線に対応する座
標をもたないことがある。そこで、これらの画素の中か
ら、最もうまく引いたときに線の特徴を表す画素を選択
する方法がある。このような方法は、「ディジタル微分
解析器」(DDA)とブレーゼンハム描画アルゴリズム
を含むものである。
【0003】しかしながら、ある面と同じ奥行きの近く
または同じ平面内に線を引きたいとき、すなわちある面
上に線を引くとき、面の奥行きに対する線の奥行きに付
随する問題が生じる。また、関連する面の同じ奥行きの
近くに引きたい複数の線を表示する際にも問題が生じ
る。これは、稜を構成する線、またはある面内にまたは
ある面上に完全におさまっている線について言えること
である。2つの点のx、y、z座標によって線を定義
し、zバッファによって量子化すると、ラスタ化された
線が、隠線/隠面除去zバッファ比較(HLHSR比
較)によって可視性の点で正しく評価されない。zバッ
ファは表示する線の奥行きを量子化または決定するの
で、選択された画素に、線を引く面の平面を有効に決定
するz値(奥行き値)を割り当てなければならない。線
のz値が正しく割り当てられない場合、この線は好まし
くない特徴を示すことがあり得る。たとえば、物体また
は面を回転したとき、その上に含まれる線またはその稜
が、コンピュータ・グラフィックス・システムのユーザ
には、破線、点線、またはその他の形で歪んで見えるこ
とがある。
【0004】隠線/隠面除去の問題は、異なるいくつか
の方法で対処されてきた。この問題の既存の解決法は、
線が見る人にとって常により近くにあるように知覚され
るようにzバッファ内で線の奥行き(z値)を面に対し
てシフトする段階を含む。さらに、面の平面は、補間さ
れた値から仮定でき、z値は、線のx及びy座標値に対
するzの偏微分をとり、そのz値を、線に最も近い選択
された画素に割り当てることによって、線に沿った各点
について決定することができる。
【0005】
【発明が解決しようとする課題】これらの従来の解決法
はすべて、面の定義が仮定されたものであるために数学
的な確実性及び一貫性を欠いている。したがって、線が
多角形同士の間にある稜であるか、それとも面内に含ま
れる線であるかに関係なく、線を表すために選択された
各画素の正確なz値を決定できるシステムがあればきわ
めて有利になる。画素のz値を面に対して相対的に量子
化できるような、面の厳密な定義が必要である。
【0006】
【課題を解決するための手段】本発明のシステムは、面
への法線を決定するなどの方法によって、グラフィック
ス・インターフェースが線を含む面を完全に定義するこ
とができる。次に、線の端点のx、y、z座標を識別
し、線を表す画素をDDA、ブレーゼンハム・アルゴリ
ズムなどの方法によって選択する。次に、面のx(dz
/dx)座標値及びy(dz/dy)座標値に対する線
のz値の偏微分をとることによって、線に関連する面の
画素について計算を実行する。次に、面に関連する線が
稜(2つの面と関連する)であるか、それとも単一面の
境界線内に完全に含まれるのかを決定する。
【0007】線が稜でない場合は、線上の点の各z値
(デルタz)のx、y方向(dz/dx、dz/dy)
の変化をz値が既知の選択された画素に加えることによ
って、線を表すべく選択された画素の実際のz値を計算
する。
【0008】しかしながら、線が稜である場合、すなわ
ち線が2つの面または多角形の間にそれらに隣接して存
在する場合には、検討中の面内にある線を表す選択され
た画素だけが処理できるフィルタを利用する。すなわ
ち、他の面に関連する画素は、検討中の面が識別される
まで処理されない。その結果、関連する各面ごとに1回
ずつ、稜が2回引かれる。稜が引かれた後、選択された
画素の実際のz値を、前述のように計算する。線及び面
に使用されるz値が同じ奥行きにあると判定された場合
は、コンピュータ・グラフィックス・システムのユーザ
が、線または面のどちらを優先させて、システムのユー
ザに見えるようにするか、すなわち線または面のどちら
を隠れさせるかを決定することができる。
【0009】したがって、すべての線及び画像について
正確なz値がわかっていれば、面及び対応する線を、ユ
ーザーが表示された画像を回転させたり、その他の方法
で変更したりするときにしばしば生ずる表示品質の低下
を起こさずに、表示することができる。
【0010】
【実施例】図1には、本発明を利用できるシステムが示
されている。図1では、graPHICSなどのプログ
ラム・アプリケーション2、及びAIXなどの基本オペ
レーティング・システムが示されている(AIX及びg
raPHICSはIBMコーポレーションの商標)。図
1のシステム内には、さらに、中央演算処理装置(CP
U)5、グラフィックス・インターフェース6、グラフ
ィックス・アダプタ8、及びスクリーン22を有する表
示装置10が含まれている。表示装置10は、電子ビー
ムによって描画または発色される複数の画素を含むスク
リーンをもつ陰極線管(CRT)でよい。本発明は図1
のシステムだけに限定されるものではなく、複数の構成
上で実施できることに留意されたい。たとえば、グラフ
ィックス・アダプタ8は、物理的zバッファすなわち奥
行きバッファを含むことができ、このバッファは、各画
素の知覚された奥行き値を記憶する。別法として、シス
テム・メモリの一部分を使用して、アプリケーション2
がzバッファのソフトウェア・バージョンを作成するこ
ともできる。さらに、本発明は、仮想端末システム上で
利用することができる。したがって、本発明は特定のシ
ステムだけに限定されるものではなく、多くのタイプの
コンピュータ・グラフィックス構成にとって有用である
ことを理解されたい。
【0011】次に、本発明で利用する処理について、図
2及び図3を参照しながら説明する。段階1で、処理が
開始し、段階2でアプリケーション2が、線と関連づけ
るべき面、または線と同一平面上にある面を識別または
定義する。関連づけられた線及び面は、その面と同じ奥
行きの近くに引かれる線を含むことに留意されたい。面
の識別は、2つの稜(またはそれに含まれる線)の外積
をとって面に対する法線ベクトルを得ることを含むいく
つかの方法で実行できる。次に段階3で、面内に含まれ
る線、または稜として面と関連する線の端点を識別す
る。この線の識別は、線の端点のx、y、z(直交)座
標をとることによって実行される。表示装置10のスク
リーン22は、引きたい線に関して同じ線形上に配列さ
れていない画素を含むことがある(図4参照)ので、線
に最も近い画素だけを選択する手段を実施しなければな
らない。段階4で使用できるこのような画素選択方法の
1つは、ブレーゼンハム・アルゴリズムであり、これは
直線の方程式y=mx+bから導かれる。このアルゴリ
ズムは、引かれる実際の線に最も近い整数座標を見つけ
る。コンピュータ・グラフィックス・システムに則して
言えば、ブレーゼンハム・アルゴリズムは、どの画素が
引かれる線に最も近いかを決定する。
【0012】具体的には、まず線の勾配を考慮し、それ
が図5のスクリーン22の線20で示されるように1よ
り小さい正数である場合には、このアルゴリズムは、x
軸に沿って水平に増分ステップをとり、線の両側で、x
軸に沿った増分ステップと同じx値をもつ画素を考慮す
る。線の両側で線に隣接する2つの画素を考慮する際、
引かれる線に最も近い1つの画素が、線を表すために選
択される。この選択は、各画素と引かれる線のy切片の
距離の差を計算し比較することによって行われる。
【0013】たとえば、図5で、線20は、画素1から
画素20に向かって引かれる。線20は、1より小さい
正の勾配をもつ。ブレーゼンハム・アルゴリズムは、最
初画素2にステップし、線20の両側で2つの画素7と
2を見つける。線20から画素7までの距離は線20か
ら画素2までの距離より小さいので、線20を表すため
に画素7が選択される。次に、アルゴリズムは画素3に
進み、そして画素8と13を検討する。画素13が線2
0により近いので、画素13が選択される。最後に、ブ
レーゼンハム描画アルゴリズムは増分的に画素4にステ
ップし、画素14と19を検討する。画素14が画素1
9よりも線20により近いので、画素14が選択され
る。このようにして、ブレーゼンハム・アルゴリズムの
適用により、線20を表すために画素7、13、14が
選択された。
【0014】同様に、1より大きい正の勾配をもつ線2
1が図6に示されている。勾配が1より大きい場合は、
ブレーゼンハム・アルゴリズムはy軸上の画素に沿って
垂直にステップし、y軸に沿って増分的にステップされ
た画素と同じy値をもつ線の両側の2つの画素を検討す
る。線21の両側で線21に隣接する2つの画素からの
距離の差が比較され、引かれる線に最も近い画素が選択
される。この場合は、どの画素が線21に最も近いかを
決定するために線21のx切片を使用する。たとえば、
図6の線21を検討すると、ブレーゼンハム・アルゴリ
ズムはまず画素6にステップして、画素6、7を検討
し、画素7が線21により近いので線21を表すために
画素7を選択する。次に、アルゴリズムは画素11にス
テップして、画素12、13を検討し、画素12が線2
1により近いので画素12を選択する。このようにし
て、ブレーゼンハム・アルゴリズムの適用により、線2
1を表すために画素12と7が選択された。上述したよ
うにブレーゼンハム描画アルゴリズムは、負の勾配をも
つ線にも同様に適用でき、基本的段階は変わらないこと
に留意されたい。すなわち、このアルゴリズムは−1よ
り小さい勾配についてはx軸に沿ってステップし、−1
より大きい勾配についてはy軸に沿ってステップし、引
かれる線の両側で線に隣接する対応する2つの画素を検
討する。このアルゴリズムのステップ部分は、負の方向
でもよい。たとえば、第4象限に含まれる線を処理する
場合、このアルゴリズムはy軸に沿って負の方向に、x
軸に沿って正の方向にステップする。図5及び図6から
わかるように、1または−1に等しい勾配をもつ線につ
いては、ブレーゼンハム・アルゴリズムは必要でない。
というのは、その線を最もよく表すために使用できる画
素上に線が直接乗るからである。
【0015】さらに、ブレーゼンハム描画アルゴリズム
は、バイアス・エラー項、すなわち隣接する各画素と線
の距離の相対差を比較するパラメータを生成することが
できる。このパラメータを計算することによって、どの
画素が線に最も近いかを決定する問題が、このパラメー
タの符号が正か負かを決定する問題になる。このパラメ
ータは、線の両側で線に隣接する2つの画素の間の距離
を比較し、負の符号をもつパラメータによってより小さ
い距離、及びそれに対応して最も近い画素が示される。
さらに、第1パラメータが計算されると、すでに論じた
ように、このアルゴリズムがx軸またはy軸に沿って増
分的にステップするにつれて、増分パラメータが計算で
きる。このようにして、どの画素が線に最も近いかを決
定する問題が、引かれる線に隣接する1つの画素の符号
を調べる問題になる。たとえば、所与の画素のパラメー
タが負の値をもつ場合、その画素が線に最も近く、選択
される。しかしながら、パラメータ値が正の場合は、他
の(負の)画素が、線に最も近いものとして自動的に選
択される。したがって、ブレーゼンハム・アルゴリズム
を利用することにより、引かれる線に最も近い画素を選
択する問題が、パラメータ項が正か負かを決定する問題
に還元できる。
【0016】図2の段階5で、関連する面のx座標及び
y座標に対するz値の偏微分を計算して、その面上にあ
る画素のx座標及びy座標の増分に対するデルタz値を
求める。さらに、この計算により、面の各画素のz値が
正確に決定できる。段階7で、線が(2つの関連する面
の)稜であるか、それともある面に完全に含まれる線で
あるかが決定される。この決定は、アプリケーション2
からグラフィックス・アダプタ8に送られた描画命令を
比較することによって実行される。たとえば、線は、1
対の点として定義できるが、稜は、通常、多角形の辺と
して記述される。さらに、稜は、アプリケーションによ
って多角形の4つの項点として定義されることがある。
プログラム・アプリケーションは、引かれる線を稜とは
異なった方式で記述し、したがって本発明は線と稜を区
別することができることを理解されたい。線が稜である
場合、第1面と関連する画素だけが引かれるようにする
フィルタを呼び出す(図4及び図7)。この段階が必要
なのは、x座標及びy座標に対するzの偏微分が、関連
する面の内部にあり、したがって関連する面内に含まれ
る稜を表す画素についてだけ有効なためである。したが
って、これらの画素だけをこれらの画素が乗っている面
に関して、評価すべきである。次に、フィルタが呼び出
されて、第2の関連する面のx座標及びy座標を使っ
て、これらの画素のz値が決定され、この第2面内にあ
る画素が引かれる。このようにして、選択された画素の
z値が、実際の関連する面に関して常に計算される。
【0017】現在検討中ではない関連する面から画素を
フィルタするために、ブレーゼンハム描画アルゴリズム
の拡張形を利用することができる。ブレーゼンハム・エ
ラー項を使って、線のどちら側に画素があるかを決定す
ることができる。画素が面の内部にあるかどうかを決定
するためのテストは、ブレーゼンハム・エラー項が線の
中点と交差するかどうかのテストになる。バイアス・エ
ラー項がブレーゼンハム・エラー項とともに発生する場
合、この処理はさらに単純になる。この場合、内部/外
部テストは、単にバイアス・エラー項とブレーゼンハム
・エラー項の間の符号テスト、すなわち正または負のテ
ストになる。
【0018】図4を参照すると、立方体の像31が示さ
れている。立方体31は、面または多角形32、34を
含み、それらの間には線30がある。DDAブレーゼン
ハム法などの描画アルゴリズムを用いて以前に選択され
た画素Pn32及びPn34が示されている。画素Pn
34は面34と関連し、画素Pn32は面32と関連し
ていることを理解されたい。これらの画素のz値を正確
に決定するために、これらの画素を関連する面とともに
描かなければならない。図2の流れ図(段階7)で、線
30が稜であることを決定し、段階8で以下に説明する
本発明のフィルタ機構を呼び出す。さらに、立方体31
の面35上に含まれ、画素Pn35で表される線20が
示されている。したがって、図4は、稜及びその関連す
る2つの面(線30及び面32、34)と面の内部に完
全に含まれる線(面35及び線20)を示している。
【0019】このフィルタの機能を説明するに当たっ
て、線30の勾配が1/3であると仮定する。図7は、
勾配が1/3の図4の線30を、描画アルゴリズムによ
って選択された関連する画素と共に詳細に示す。すでに
論じたように、ブレーゼンハム・アルゴリズムを適用す
ると、画素p20、p22、p24、p30、p32、
p34、p40、p42、p44、p50が選択され
る。さらに、画素p20、p30、p40、p50は表
示される稜30上にちょうど乗っているので、そのエラ
ー項は0に等しいことに留意されたい。残りの画素につ
いては、線の片側にあり線に最も近い第1画素に関する
微分y値たとえばd1を、第1画素とは線の反対側にあ
り線に最も近い画素に関する微分y値たとえばd2から
引き算することによって、エラー項を決定しなければな
らない。この差に、x値の増分量(デルタx)を掛け算
する。すなわち、E=デルタx(d1−d2)。
【0020】たとえば、d1=1/3、d2=2/3、
デルタx=1である図7の画素p22及びp23を考え
てみる。この場合、選択された線画素22のエラー項
(E)は、以下のように求めることができる。E22=
1(1/3−2/3)=−1/3。同様に、画素p24
及びp25へステップする。この場合、d1=2/3、
d2=1/3、E24=1(2/3−1/3)=1/3
である。画素30では、微分y値は0に等しいので、エ
ラー項(E24)は0になり、画素p30がちょうど線
30上にあることを示している。さらにこの例では、選
択された線画素p32、p42は、上記のp22の場合
と計算が同じなので、エラー項は−1/3になる。さら
に、選択された線画素p34、p44では、上で検討し
たp24の場合と同様にエラー項は1/3になる。
【0021】上記の説明から、どのようにして選択され
た画素p22、p32、p42がすべて負の符号をも
ち、かつ線30の同じ側にあり、一方画素p24、p3
4、p44はそれぞれ正の符号をもち、かつ線30の別
の側にあるかが理解できよう。上記の議論を図4の多角
形31に関連づけると、画素p22、p32、p42は
面32に関連する画素であり、画素p24、p34、p
44は面34に関連する画素に対応する。このように、
ブレーゼンハム描画アルゴリズムによって作成されたエ
ラー項の符号を単に決定するだけで、実際のz値を決定
する際に特定の線を表し特定の面に関連する画素だけが
考慮されるようにするフィルタを呼び出すことができ
る。
【0022】たとえば、図4を参照すると、線30は、
面32と34の間にあり、それらの面に隣接する稜であ
る。上記のフィルタを呼び出すことによって、第1面3
4に関連する画素Pn34は、面32の内部にある線3
0を表すために選択された画素Pn32の処理中には考
慮されない。すなわち、線30の左側にあり、面34内
に含まれる画素Pn34はフィルタされ、線30の右側
にある画素Pn32は描かれる。同様に、画素Pn32
は、画素Pn34の処理中はフィルタされる。したがっ
て、本発明は、特定の面に関連する画素だけが、線を表
す画素の実際のz値を決定する処理中に考慮されること
を保証する。稜自体上にちょうど乗っている画素は、ど
ちらかの面に関連していると見なされることに留意され
たい。というのは、z値の計算では、どちらの面が関連
する面であるかは問題でないからである。
【0023】段階9で、選択された画素の実際のz値
は、xまたはy方向の画素間の各増分ステップに対する
デルタz値を、既知の選択された画素のz値に加えるこ
とによって計算できる。すなわち、図7を参照すると、
p22に関して、x方向に対するz方向の偏微分が、p
20のz値(p20は端点であり、ある線の両方の端点
のx、y、z座標は既知であるので、このz値は既知で
ある)に加えられ、画素22の実際のz値が求められ
る。同様に、画素p24の実際のz値を求めるために、
p22とp24の間のx増分に関するxに対するzの偏
微分がp22の前のz値に加えられる。p30に関して
は、p24とp30の間のx増分に関するxに対するz
の偏微分がp24に加えられ、p20(y値)からp3
0(y値)への増分に関するyに対するzの偏微分がp
24に加えられる。このようにして、p20とp30の
間のy方向のデルタz(dz/dy)、及びp20から
p30までのx方向の累積デルタz(dz/dx)を使
って、p30の実際のz値が決定される。次に、いま説
明した処理と同じ処理を、画素p32、p34、p4
0、p42、p44、p50に適用して、線を表すため
に選択された画素の正確なz値を決定する。段階9の実
施態様は、選択された画素が稜を表すか、それとも面内
に含まれる線を表すかには関係なく、利用されることに
留意されたい。さらに、段階9で利用される偏微分、す
なわちdz/dx及びdz/dyは、段階5ですでに計
算されている。したがって、段階9は、すでに計算され
た偏微分を加算する問題になる。上記の説明は、勾配が
1/3の線に関するものであり、y方向の各増分ステッ
プごとにx方向に沿って3増分ステップがとられる。し
かしながら、この方法は、特定の勾配の線に限定される
ものではなく、任意の勾配の線を表す画素に適用でき
る。
【0024】次に、段階10で線及び面が描かれる。利
用される線及び稜のz値は、すでに決定されている。段
階11で、処理しなければならない線がまだ残っている
かどうかを判定する。残っている場合には、処理は段階
3に戻り、端点をすでに説明したようにして識別する。
この処理では、2つの関連する面のそれぞれについて線
(稜)を引くために、稜は2回の処理ループを必要とす
ることに留意されたい。すなわち、段階12で、稜に隣
接する他の面を処理しなければならないと判定され、本
発明は段階2に戻る。処理しなければならない線が残っ
ていないと判定された場合には、本発明は、面が残って
いるかどうか判定し、残っている場合には段階2に戻
る。しかしながら、段階12で面が残っていない場合
は、段階13で本発明の処理は終了する。
【0025】したがって、前記の説明によれば、線を表
す各画素のz値、すなわち奥行き値の正確な計算で、面
の奥行きまたはその近くのz値をもつ対応する線または
稜を有する面に関連する隠線、隠面の問題がどのように
解決されるかが理解されよう。
【0026】
【発明の効果】以上説明したように、ある線が多角形同
士の間にある稜であるか、それとも面内に含まれる線で
あるかに関係なく、線を表すために選択された各画素の
正確なz値を決定できるシステムが提供される。
【図面の簡単な説明】
【図1】本発明を利用できる代表的なシステムの概略図
である。
【図2】本発明が、表面に関連する線を表すために選択
された画素の実際のz値を決定できる方法を示す流れ図
である。
【図3】図2と共に、z値を決定できる方法を示す流れ
図である。
【図4】特定の表面及びそれに関連する線、ならびに単
一の表面内に含まれる、それぞれが複数の画素で表され
る線を示す像の透視図である。
【図5】1より小さい正の勾配をもつ線を表すために選
択された画素を含む、図4の表面上の画素の一部分を示
す図である。
【図6】1より大きい正の勾配をもつ線を表すために選
択された画素を含む、ディスプレイ・スクリーン上に表
示された画素を示す図である。
【図7】特定の表面に関連しない画素を稜の処理中に考
慮からはずすために、選択された画素の対応するグルー
プからエラー項がどのように決定できるかを示す図であ
る。

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】コンピュータ・グラフィックス・システム
    上で少なくとも1本の線と、それに関連する少なくとも
    1つの面とを含む像を表示するためのシステムであっ
    て、 前記線に関連する面を定義する手段と、 前記線を表す画素を選択する手段と、 前記面を表す画素同士間のx及びyの増分値に基づい
    て、前記線の奥行きを示すデルタz値を計算する手段
    と、 x及びyの増分値に対応する前記デルタz値を、前記の
    選択された画素のうちの所定の1つのz値に加えて、x
    及びyの増分方向で選択された画素のz値を決定する手
    段とを含むコンピュータ・グラフィックス処理システ
    ム。
  2. 【請求項2】さらに、計算されたデルタz値を、x及び
    yの増分方向で選択された画素の決定されたz値に加え
    て、前記の選択されたすべての画素のz値を得る手段
    と、 前記の線及び面を前記コンピュータ・グラフィックス・
    システム上に表示する手段とを含む、 請求項1に記載のコンピュータ・グラフィックス処理シ
    ステム。
  3. 【請求項3】前記選択手段が、 前記線の端点を直交座標で提供する手段と、 勾配が1より小さな線について、前記線から前記線の両
    側にあり互いに隣接する各画素までのy方向の距離を比
    較することによって、前記線に最も近い画素を決定する
    手段と、 勾配が1より大きい線について、前記線から前記線の両
    側にあり互いに隣接する各画素までのx方向の距離を比
    較することによって、前記線に最も近い画素を決定する
    手段とを含む請求項2に記載のコンピュータ・グラフィ
    ックス処理システム。
  4. 【請求項4】面を定義する前記手段が、前記面と同一平
    面内の2つのベクトルの外積を計算することによって面
    の法線ベクトルを計算する手段を含む、 請求項3に記載のコンピュータ・グラフィックス処理シ
    ステム。
  5. 【請求項5】前記計算手段が、 x方向に対するz方向の偏微分を計算する手段と、 y方向に対するz方向の偏微分を計算する手段とを含
    む、 請求項4に記載のコンピュータ・グラフィックス処理シ
    ステム。
  6. 【請求項6】コンピュータ・グラフィックス・システム
    上で少なくとも1本の線と、それに関連する少なくとも
    1つの面とを含む像を表示するためのシステムであっ
    て、 前記線に関連する面を定義する手段と、 前記線を表す画素を選択する手段と、 前記面を表す画素同士間のx及びyの増分値に基づい
    て、前記線の奥行きを示すデルタz値を計算する手段
    と、 前記面に関連する前記の選択された画素だけが考慮され
    るように前記の選択された画素をフィルタする手段と、 x及びyの増分値に対応する前記デルタz値を、前記の
    選択された画素のうちの所定の1つのz値に加えて、x
    及びyの増分方向にある選択された画素のz値を決定す
    る手段とを含むコンピュータ・グラフィックス処理シス
    テム。
  7. 【請求項7】前記フィルタ手段が、 前記の選択された画素から前記線までの距離に基づい
    て、前記線の第1の側にある場合は正、前記線の別の側
    にある場合は負となる、エラー項を計算する手段と、 正のエラー項と負のエラー項のどちらか一方をもつ選択
    された画素だけを考慮する手段とを含む請求項6に記載
    のコンピュータ・グラフィックス処理システム。
  8. 【請求項8】コンピュータ・グラフィックス・システム
    上で少なくとも1本の線と、それに関連する少なくとも
    1つの面とを含む像を表示する方法であって、 前記線に関連する面を定義する段階と、 前記線を表す画素を選択する段階と、 前記面を表す画素同士間のx及びyの増分値に基づい
    て、前記線の奥行きを示すデルタz値を計算する段階
    と、 x及びyの増分値に対応する前記デルタz値を、前記の
    選択された画素のうちの所定の1つのz値に加えて、x
    及びyの増分方向で選択された画素のz値を決定する段
    階とを含むコンピュータ・グラフィックス処理方法。
  9. 【請求項9】さらに、計算されたデルタz値を、x及び
    yの増分方向で前記の選択された画素の決定されたz値
    に加え続けて、選択されたすべての画素のz値を決定す
    る段階と、 前記の線及び面を前記コンピュータ・グラフィックス・
    システム上に表示する段階とを含む、 請求項8に記載のコンピュータ・グラフィックス処理方
    法。
  10. 【請求項10】前記選択段階が、 前記線の端点を直交座標で提供する段階と、 勾配が1より小さな線について、前記線から前記線の両
    側にあり互いに隣接する各画素までのy方向の距離を比
    較することによって、前記線に最も近い画素を決定する
    段階と、 勾配が1より大きい線について、前記線から前記線の両
    側にあり互いに隣接する各画素までのx方向の距離を比
    較することによって、前記線に最も近い画素を決定する
    段階とを含む請求項9に記載のコンピュータ・グラフィ
    ックス処理方法。
  11. 【請求項11】面を定義する前記段階が、前記面と同一
    平面内の2つのベクトルの外積を計算することによって
    面の法線ベクトルを計算する段階を含む、 請求項10に記載のコンピュータ・グラフィックス処理
    方法。
  12. 【請求項12】前記計算段階が、 x方向に対するz方向の偏微分を計算する段階と、 y方向に対するz方向の偏微分を計算する段階とを含
    む、 請求項11に記載のコンピュータ・グラフィックス処理
    方法。
  13. 【請求項13】コンピュータ・グラフィックス・システ
    ム上で少なくとも1本の線と、それに関連する少なくと
    も1つの面とを含む像を表示する方法であって、 前記線に関連する面を定義する段階と、 前記線を表す画素を選択する段階と、 前記面を表す画素同志間のx及びyの増分値に基づい
    て、前記線の奥行きを示すデルタz値を計算する段階
    と、 前記面に関連する前記の選択された画素だけが考慮され
    るように前記の選択された画素をフィルタする段階と、 x及びyの増分値に対応する前記デルタz値を、前記の
    選択された画素のうちの所定の1つのz値に加えて、x
    及びyの増分方向にある選択された画素のz値を決定す
    る段階とを含むコンピュータ・グラフィックス処理方
    法。
  14. 【請求項14】前記フィルタ段階が、 前記の選択された画素から前記線までの距離に基づい
    て、前記線の第1の側にある場合は正、前記線の別の側
    にある場合は負となる、エラー項を計算する段階と、 正のエラー項と負のエラー項のどちらか一方をもつ選択
    された画素だけを考慮する段階とを含む、 請求項13に記載のコンピュータ・グラフィックス処理
    方法。
JP3133232A 1990-06-29 1991-05-10 コンピュータ・グラフィックス処理方法及びシステム Expired - Lifetime JPH07118025B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US54662490A 1990-06-29 1990-06-29
US546624 1990-06-29

Publications (2)

Publication Number Publication Date
JPH04233088A JPH04233088A (ja) 1992-08-21
JPH07118025B2 true JPH07118025B2 (ja) 1995-12-18

Family

ID=24181268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3133232A Expired - Lifetime JPH07118025B2 (ja) 1990-06-29 1991-05-10 コンピュータ・グラフィックス処理方法及びシステム

Country Status (4)

Country Link
US (1) US5271094A (ja)
EP (1) EP0465036A3 (ja)
JP (1) JPH07118025B2 (ja)
CA (1) CA2043176C (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999184A (en) 1990-10-30 1999-12-07 3D Systems, Inc. Simultaneous multiple layer curing in stereolithography
US5379370A (en) * 1992-07-17 1995-01-03 International Business Machines Corporation Method and apparatus for drawing lines, curves, and points coincident with a surface
US5621866A (en) * 1992-07-24 1997-04-15 Fujitsu Limited Image processing apparatus having improved frame buffer with Z buffer and SAM port
US5515484A (en) * 1993-10-06 1996-05-07 Silicon Graphics, Inc. Method and apparatus for rendering volumetric images
US5854631A (en) * 1995-11-22 1998-12-29 Silicon Graphics, Inc. System and method for merging pixel fragments based on depth range values
US5933156A (en) * 1997-12-03 1999-08-03 Margolin; Jed Z-Buffer for row addressable graphics memory with flash fill
US6226003B1 (en) * 1998-08-11 2001-05-01 Silicon Graphics, Inc. Method for rendering silhouette and true edges of 3-D line drawings with occlusion
US6674894B1 (en) 1999-04-20 2004-01-06 University Of Utah Research Foundation Method and apparatus for enhancing an image using data optimization and segmentation
JP4390574B2 (ja) * 2003-03-31 2009-12-24 富士通株式会社 複数のポリゴンから構成される3次元モデルを2次元平面に投影する際の陰線を消去する陰線処理方法
JP2005100176A (ja) * 2003-09-25 2005-04-14 Sony Corp 画像処理装置およびその方法
US8279222B2 (en) 2008-03-14 2012-10-02 Seiko Epson Corporation Processing graphics data for a stereoscopic display

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4730261A (en) * 1983-10-25 1988-03-08 Ramtek Corporation Solids modelling generator
US4625289A (en) * 1985-01-09 1986-11-25 Evans & Sutherland Computer Corp. Computer graphics system of general surface rendering by exhaustive sampling
US4791581A (en) * 1985-07-27 1988-12-13 Sony Corporation Method and apparatus of forming curved surfaces
JPH0756678B2 (ja) * 1985-11-01 1995-06-14 株式会社日立製作所 対話形形状モデリングシステム
JPS62165279A (ja) * 1986-01-17 1987-07-21 Fanuc Ltd 図形抽出方式
US4841292A (en) * 1986-08-11 1989-06-20 Allied-Signal Inc. Third dimension pop up generation from a two-dimensional transformed image display
US4855934A (en) * 1986-10-03 1989-08-08 Evans & Sutherland Computer Corporation System for texturing computer graphics images
US4808986A (en) * 1987-02-12 1989-02-28 International Business Machines Corporation Graphics display system with memory array access
US4985855A (en) * 1987-08-24 1991-01-15 International Business Machines Corp. Method for producing installation instructions for three dimensional assemblies
US5084830A (en) * 1987-10-26 1992-01-28 Tektronix, Inc. Method and apparatus for hidden surface removal
US4855938A (en) * 1987-10-30 1989-08-08 International Business Machines Corporation Hidden line removal method with modified depth buffer
US4918626A (en) * 1987-12-09 1990-04-17 Evans & Sutherland Computer Corp. Computer graphics priority system with antialiasing
US5245700A (en) * 1989-11-21 1993-09-14 International Business Machines Corporation Adjustment of z-buffer values for lines on the surface of a polygon

Also Published As

Publication number Publication date
JPH04233088A (ja) 1992-08-21
EP0465036A3 (en) 1993-08-04
EP0465036A2 (en) 1992-01-08
CA2043176C (en) 1995-09-26
US5271094A (en) 1993-12-14
CA2043176A1 (en) 1991-12-30

Similar Documents

Publication Publication Date Title
US7277096B2 (en) Method and apparatus for surface approximation without cracks
US5905500A (en) Method and apparatus for adaptive nonlinear projective rendering
US5245700A (en) Adjustment of z-buffer values for lines on the surface of a polygon
US5734806A (en) Method and apparatus for determining graphical object visibility
EP0817126B1 (en) Method and apparatus implementing high resolution rendition of Z-buffered primitives
US6144387A (en) Guard region and hither plane vertex modification for graphics rendering
US7612784B2 (en) Image processor and method, computer program, and recording medium
JPH03176784A (ja) コンピュータ・グラフィックスにおけるポリゴン分解方法及びシステム
US5029225A (en) Texture mapping apparatus
JPH07118025B2 (ja) コンピュータ・グラフィックス処理方法及びシステム
US6175368B1 (en) Method and apparatus for object rendering including bump mapping
US7616200B1 (en) System for reducing aliasing on a display device
US7834879B2 (en) Drawing apparatus for displaying image data about a plurality of objects including semitransparent object and opaque object on computer display screen
US5280569A (en) Three dimensional model describing method
US6437795B1 (en) Method and apparatus for clipping a function
US5379370A (en) Method and apparatus for drawing lines, curves, and points coincident with a surface
US5499324A (en) Graphic display apparatus with improved shading capabilities
US5706479A (en) Method and apparatus for dynamically detecting overflow of a multi-layer buffer
US6590582B1 (en) Clipping processing method
JP2001022948A (ja) 画像処理装置および画像処理方法、並びに記録媒体
EP0676724A2 (en) Texture mapping method and image processing apparatus
US6008815A (en) Method for adaptive polygon rendering with fast operation speed of interpolation
US6429866B1 (en) Three-dimensional graphics drawing apparatus calculating tone of pixel based on tones of pixels at prescribed intervals, method thereof and medium recorded with program therefor
US7064752B1 (en) Multi-function unit of a graphics system for updating a hierarchical Z buffer
US6674440B1 (en) Graphics processor for stereoscopically displaying a graphical image