JP2579421B2 - 表面マーキングを有する表面の描画方法 - Google Patents

表面マーキングを有する表面の描画方法

Info

Publication number
JP2579421B2
JP2579421B2 JP5130801A JP13080193A JP2579421B2 JP 2579421 B2 JP2579421 B2 JP 2579421B2 JP 5130801 A JP5130801 A JP 5130801A JP 13080193 A JP13080193 A JP 13080193A JP 2579421 B2 JP2579421 B2 JP 2579421B2
Authority
JP
Japan
Prior art keywords
coordinate system
marking
moving
viewpoint coordinate
distance
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
JP5130801A
Other languages
English (en)
Other versions
JPH06295344A (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 JPH06295344A publication Critical patent/JPH06295344A/ja
Application granted granted Critical
Publication of JP2579421B2 publication Critical patent/JP2579421B2/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)
  • Processing Or Creating Images (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータ・グラフ
ィックス・システムに係り、更に詳細に説明すれば、表
示モニタ上に表示すべき物体描画(レンダリング)する
方法に係る。
【0002】
【従来の技術】コンピュータ・グラフィックスのアプリ
ケーションでは、3次元空間内の一の表面と空間的に一
致する物体(例えば、線、曲線及び点)をこの表面上に
描画して、これらの物体をこの表面上で可視的にするこ
とが望ましい。このような物体は、「表面マーキング」
として特徴づけられ、広範なアプリケーションにおいて
用いられるものである。
【0003】コンピュータ・グラフィックス・システム
において、線や、曲線や点を描画する通常の方法は、不
正確さを生じることが分かった。これらの不正確さが存
在すると、表面マーキングの一部が前記表面の「背後」
に消え、このため、所望の態様で表示されないことがあ
る。
【0004】図2には、一の空間内に浮かんだ三角形P
QR及び表面マーキングから成り、表示モニタ上に表示
するために描画すべき代表的なシーンが示されている。
図2において、表面マーキングは、三角形PQRの表面
上に存在する一の線STである。このシーンを描画する
ための標準的なデプス・バッファ(z−バッファ)法
は、画像バッファと呼ばれるメモリ領域を利用する。画
像バッファは、(図2中の記号+によって表される)表
示モニタ上の各画素の中心点ごとに、1つのエントリを
保持する。画像バッファの各エントリは、その画素のカ
ラーを表すRGB値を保持するとともに、その画素につ
いてそれまでに処理された最も前方の物体と観察者又は
観察平面との間の距離を表すデプス(z)値を保持す
る。一のシーンを描画する前に、画像バッファ内の各エ
ントリは、指定された一の背景カラーと、観察者からの
可能な最大の距離を表す一のz値とを保持するように初
期化されるのが普通である。
【0005】このシーン内の物体(例えば、図2の三角
形PQR及び線ST)の各々ごとに、当該物体によって
包含される1組の画素が列挙される。各画素ごとに、当
該画素の中心点における当該物体のRGBカラーが計算
される。例えば、この計算は、この三角形の頂点(PQ
R)及びこの線の端点(ST)におけるそれぞれのカラ
ーを補間することによって行うことができる。更に、こ
の画素の中心点における観察者と当該物体との間の距離
を表す処の、一のz値が計算される。このようにして計
算されたz値の各々は、当該画素に対応する画像バッフ
ァ内のエントリに現に格納されているz値と比較され
る。もし、当該画素の中心点における計算済みのz値
が、当該画素について画像バッファ内に現に格納されて
いるz値よりも観察者に接近していれば、当該画素に関
する限り、これまでに処理された最も近い物体が現物体
によって覆い隠されることになる。その結果、計算済み
のRGBカラー値及び計算済みのz値が、画像バッファ
内に現に格納されている値に置き換わるのである。この
ようにして、全ての物体の処理が完了すると、その時点
で画像バッファ内に格納されているRGB値及びz値
は、観察者に最も近い物体上に存在する点(即ち、一層
「近い」物体によって覆い隠されない点)に対応するこ
とになる。
【0006】一般に、z−バッファ法は、良好に機能す
る。しかし、z−バッファ法が、一の表面(例えば、図
2の三角形PQR)と一致するような表面マーキング
(例えば、図2の線ST)に適用される場合には、この
表面マーキングの画素の大部分が、前記表面によって覆
い隠され、その結果、表示されないことがあることが分
かっている。
【0007】(一の表面と一致する線、曲線及び点では
なく)2つの表面が互いに一致する場合の同様の問題
は、コンピュータ内でz値を表現する際の精度上の制限
に由来する、数値的な丸め誤差に原因があることが分か
っている。しかし、本発明者は、数値的な丸め誤差が、
前記表面マーキングの問題の原因ではないことを突き止
めた。つまり、z値の丸め誤差に起因する問題を解決す
るためにこれまでに考案された諸方法は、表面マーキン
グが覆い隠されるという問題を解決するには役に立たな
い、ということである。例えば、丸め誤差に起因する問
題を克服するために許容限界付きのデプス・テストを用
いる方法は、1991年3月12日に出願された米国特
許出願第672058号に開示されている。
【0008】
【発明が解決しようとする課題】従って、本発明の目的
は、表面マーキングの少なくとも一部が、そのマーク対
象である表面によって覆い隠されないように、表面マー
キングを描画する方法を提供することにある。
【0009】
【課題を解決するための手段】本発明の前記目的は、複
数の表示画素を有する表示モニタ上に表示すべき物体を
描画するために、コンピュータ・グラフィックス・シス
テムが実行する方法によって実現される。
【0010】この方法は、一の表面マーキングを有する
一の表面について、(a)この表面マーキングを観察者
に向かって或る移動量だけ移動させるか、又はこの表面
を観察者から離れる方向に或る移動量だけ移動させるス
テップを含んでいる。但し、かかる移動量は、傾斜パラ
メータSの関数であるだけでなく、観察者の目の座標
(以下「視点座標」と略記)の単位と表示画素の単位と
の間の関係を表すスケール係数Kの関数でもある。ま
た、傾斜パラメータSは、この移動ステップの結果とし
て、この表面マーキングの一部がこの表面によって覆い
隠されないように、一の観察平面に関するこの表面の最
大の傾斜値を決定するものである。更に、前記移動ステ
ップは、(b)所定の変換体(T′e)を適用して、一
の視点座標系をこれとは別の修正された視点座標系に変
換するステップを含んでいる。
【0011】傾斜パラメータSは、観察者座標系(x,
y,z)において、|Δz/Δx|に等しいか、又は|
Δz/Δx|に等しいか、又は|Δz/Δx|及び|Δ
z/Δx|の組み合わせに等しくすることができる。透
視投影の場合、変換体 T′eは、観察者に向かってこの
表面マーキングの移動を補償する。
【0012】所定の変換体 T′e は、この表面及び表
面マーキングを観察平面上に投影する際に、正射投影又
は透視投影のどちらが用いられるのかということに依存
して、選択される。
【0013】正射投影が用いられる場合、スケール係数
Kは、次のように与えられる。 K=水平解像度(画素数)/視野(FOV)の幅
【0014】移動量は、S/2Kによって与えられ、従
って修正された視点座標系のz軸の距離値 z′e は、
修正されていない視点座標系のz軸の距離値ze の関数
として、次のように与えられる。 z′e =ze +S/2K
【0015】従って、正射投影が用いられる場合、所定
の変換体 T′e は、次式によって与えられることにな
る。
【0016】
【数3】
【0017】透視投影が用いられる場合、スケール係数
Kは、次のように与えられる。 K=水平解像度(画素数)/観察者から1単位の距離におけるFOVの幅
【0018】移動量は、ze S/2Kによって与えられ
る(但し、ze は、修正されていない視点座標系のz軸
に沿った一の距離である)。また、修正された視点座標
系のz軸の距離値 z′e は、修正されていない視点座
標系のz軸の距離値ze の関数として、次のように与え
られる。 z′e =ze −ze ・S/2K=ze (1−S/2K)
【0019】従って、透視投影が用いられる場合には、
所定の変換体 T′e は、次式によって与えられること
になる。
【0020】
【数4】
【0021】即ち、本発明の方法は、視点座標系[xe
ee ]を修正して、修正された視点座標系[x′
e y′e z′e]を得るようにしている。これは、一
のスクリーン変換体TS を適用する前に、この表面マー
キングを観察者に向かって移動させるか、又は観察者か
ら離れるようにこの表面を移動させることによって達成
される。この操作を達成するための1つの好ましい方法
は、1組の変換体、即ち物体座標からワールド座標に変
換する変換体(Tw )と、これを視点座標に変換する変
換体(Te )と、最後にこれをスクリーン座標に変換す
る変換体(TS)の組に、追加の変換体 T′e を挿入す
ることによって行われる。通常の4×4の同次座標系の
表記法を用いると、この改良された変換を次のように表
現することができる。 [wxS wyS wzS w]=[xooo 1]Twe T′eS
【0022】
【実施例】本発明者の知見によれば、覆い隠れた表面マ
ーキングの問題の原因は、直感的に明らかではなく、そ
してこの問題を理解するには、図1(A)に示されてい
るようなコンピュータ・グラフィックス・システムにお
いて線や、曲線や、点を描画するのに用いられる方法を
注意深く分析することが必要である。
【0023】本発明の方法を詳述する前に、図1(A)
を参照すると、そこには本発明の方法を実現するのに適
したコンピュータ・グラフィックス・システム10が開
示されている。このシステム10は、ディジタル形式の
バス12を介して相互に結合されたデータ・プロセッサ
14と、表示モニタ20に接続されたフレーム・バッフ
ァ18と、キーボード24のような入力装置に接続され
たI/Oコントローラ22と、画像バッファ26とを含
んでいる。表示モニタ20は、高解像度のカラー・グラ
フィックス表示装置であることが好ましい。データ・プ
ロセッサ14は、バス12を介して提供される画像デー
タを処理して画像バッファ26内に表示可能な画像を作
成するとともに、以下で詳述する本発明の方法を実現す
るためのプログラムを実行する。その後、画像バッファ
26の内容は、表示モニタ20に表示すべく、バス12
を介してフレーム・バッファ18へ移動される。
【0024】図1(B)には、本発明を実施するのに適
した他のコンピュータ・グラフィックス・システムが示
されている。図1(B)のデータ・プロセッサ14は、
グラフィックス指令と所定の変換体を含むデータを、グ
ラフィックス表示サブシステム28に提供する。グラフ
ィックス表示サブシステム28は、フレーム・バッファ
32にその出力を接続された、表示プロセッサ30を含
んでいる。表示プロセッサ30は、所定の変換体(後
述)に従って、物体を描画するために「三角形を表示せ
よ」という類のグラフィックス指令を処理する。(必要
に応じて適当な表面マーキングを含んでいる)物体の表
面を表す画素は、フレーム・バッファ32内に格納され
る。フレーム・バッファ32の出力は、表示画素データ
を表示モニタ20に提供する。
【0025】ここで、図2に示されている線STについ
て再び検討する。一般に、2つの所定の端点の間に描か
れる線は、厳密には画素の中心を通過しないから、かか
る所望の幾何線に最も近い中心を有するような画素(図
2の記号 (+) に相当)を照射することによって、この
幾何線に近似させる必要がある。しかし、これらの近似
的な画素の中心は、所望の幾何線から1/2画素分だけ
離れることがある。
【0026】ここで留意すべきは、これと同様の1/2
画素エラーが、曲線及び点の場合にも生ずる、というこ
とである。以下では、線の場合だけを検討するが、曲線
及び点の問題も線の問題と同様であり、従って本発明に
よって提供される解決法が、これらの問題について全く
同じであることを理解すべきである。本明細書では、こ
れらの物体(線、曲線及び点)を、「表面マーキング」
と総称する。
【0027】本発明者は、前述の画素の近似が、表面マ
ーキングの画素が表示されないという問題の原因である
ことを突き止めた。即ち、もし、この線STが(図2の
三角形PQRのような)表面と一致し、しかもこの表面
が傾斜していれば、この線STの幾つかの画素は可視的
ではない、ということである。なぜなら、この線STに
近似する画素について用いられるz値がこの幾何線上の
z値から引き出されるとしても、これらのz値がこの幾
何線上にない近似的な画素の中心に適用される場合は、
その結果的な画素がこの表面によって隠されることがあ
るからである。つまり、この近似的な画素の位置におけ
るこの表面のz値が、幾何線上におけるこの表面のz値
とは異なっている、ということである。例えば、もし、
三角形PQRの底部が観察者に向かって傾斜していれば
(但し、三角形PQRが従前のように線STと一致して
いるものとする)、三角形PQRは、図2に示されてい
る画素A〜Cのような幾何線の下部に位置するこの線の
全ての画素を覆い隠すことになる。
【0028】三角形PQRは、これよりも大きい物体の
1つの面であることがあり、また幾つかのケースでは、
描画処理中に或る物体の一の表面を細分化した結果を表
すことがある。
【0029】本発明の方法によって提供される解決法を
一般的に記述すると、(a)描画する前に、表面マーキ
ングを観察者に向かって或る移動量だけ移動させること
により、隠された表面マーキングの画素を可視状態に戻
すようにするか、又はその代替的な解決策として、
(b)描画する前に、この表面を観察者から離れる方向
に或る移動量だけ移動させることにより、隠された表面
マーキングの画素を可視状態に戻すようにする、という
ことになる。ケース(a)は、表面の傾斜パラメータS
について、一の正の値を指定することによって達成され
る。これに対し、ケース(b)は、この傾斜パラメータ
Sについて、一の負の値を指定することによって達成さ
れる。ケース(a)及び(b)の両方は、同等であると
考えられるから、以下では、主としてケース(a)のみ
に関連して本発明を説明する。
【0030】ここで留意すべきは、表面マーキングを前
方に移動させるようにすると、これらの表面マーキング
を隠すべき他の表面の前方においてこれらの表面マーキ
ングを潜在的に可視状態にすることができる、という点
である。従って、表面マーキングの移動量は、これを注
意深く選択しなければならない。更に、透視投影を用い
る場合は、表面マーキングを観察者に向かって移動させ
ると、これらの表面マーキングが見掛け上一層大きくな
るという事実を、補償することが必要となる。
【0031】図3(A)及び図3(B)には、本発明に
おいて採用された接近方法が示されている(但し、これ
らの図面に示されている点は、図2に示されている点と
は必ずしも同じではない)。これらの図面は、透視投影
及び正射投影をそれぞれ表しており、またこれらの図面
は、観察者が原点Oに位置し且つ観察者座標系(x,
y,z)を有する場合の平面図をそれぞれ示している。
傾斜パラメータS=|Δz/Δx|を有するような平面
PQと一致する表面マーキングAは、位置Bにおいて、
観察平面IJ上に投影される。図3(A)及び図3
(B)では、Δzは線分DFであり、Δxは線分ADで
ある。最も近い画素の位置はCであって、これは1/2
画素分だけ離れており、従ってこの表面フィーチャは平
面PQの背後のDに位置するように見えることになる。
この見掛け上の空間的エラーは、AD=δ/2によって
与えられる。後述するように、本発明に従って、AをD
F=Sδ/2に相当するz距離だけ前方に移動させてE
まで到達させると、新しい見掛け上の位置Gは、もはや
平面PQによっては覆い隠されないことになる。一般
に、δとは、観察者座標系内の一の距離であって、表面
に対し表面マーキングを描画する場合の、観察平面内の
一の画素エラー距離に対応するものである。
【0032】この説明中の例では、y次元内の表面の傾
斜が存在しないものと仮定していることに留意すべきで
ある。しかし、本発明の方法は、|Δz/Δx|によっ
て与えられるy次元内の傾斜についても、x次元及びy
次元の両方における傾斜についても、同様に適用される
ものである。全てのケースにおいて、傾斜パラメータS
は、観察平面IJを基準としており、従ってゼロ値を有
する傾斜パラメータSは、観察平面IJに平行であると
見なされる。傾斜パラメータSの値は、例えば図1
(A)のキーボード24を介してユーザによって指定さ
れるか、又は一定と見なされる。
【0033】図3(A)及び図3(B)を参照して、更
に詳述すると、スクリーン上の1つの画素の距離は、視
点座標内の距離δに対応し、そしてスクリーン上の1/
2画素エラーは、視点座標内の距離δ/2に対応する。
従って、表面マーキングを観察者に向かって「δ/2×
Sの倍数」だけ移動させると、観察平面IJに関し傾斜
パラメータSを有する一の表面に対して一の表面マーキ
ングを描画する際の、1/2画素エラーを補償すること
ができる。傾斜パラメータSの値は、以下で詳述する変
換体T′eを適用した後に、表面マーキングから消失す
る画素の数が最小になるように選択されている。また、
傾斜パラメータSの値は、表面マーキングが他の表面に
よって隠されるべき場合に、これらの表面マーキングが
可視状態となる可能性を作らないように選択されてい
る。本発明者は、傾斜パラメータSの値がほぼ8であれ
ば、多くの適用例について満足すべき結果が得られるこ
とを見出した。もっとも、満足すべき結果が得られる限
り、傾斜パラメータSの正確な値は重要ではない。この
点に関連して留意すべきは、一般に、表面の傾斜が大き
くなればなるほど、この表面が包含するスクリーン領域
は狭くなるから、このような傾斜が大きい表面に対する
エラーの認識が比較的に困難になる、ということであ
る。
【0034】次に、周知の透視投影(図3(A))及び
正射投影(図3(B))について、コンピュータ・グラ
フィックス・システム内で用いられる標準的な変換体を
修正することによって、表面マーキングが隠されるとい
う問題を解決するようにした方法を説明する。正射投影
及び透視投影の両方において、標準的な座標変換処理
は、複数の物体の集合で開始する。これらの物体の各々
は、それ自体の物体座標系内の1組の物体座標[xo
oo ]によって記述されている。各物体は、その
物体座標系と共通のワールド座標系との間の関係に依存
する変換体Tw によって、後者のワールド座標系内に配
置される。次に、それぞれのワールド座標は、変換体T
e によって、観察者の基準のフレームに関して視点座標
[xeee ]に変換される(なお、「視点座標」と
は、周知の「カメラ座標」と同義である)。変換体Te
は、ワールド座標系に関する観察者の位置及び方向に依
存する。最後に、視点座標系は、投影のタイプ(透視投
影又は正射投影)及びカメラの詳細仕様に依存するスク
リーン変換体TS によって、画素単位で測定されるスク
リーン座標[xSS]に変換される。標準的な4×4
の同次座標系の表記法を用いると、この変換は、次のよ
うに表される。 [wxS wyS wzS w]=[xooo 1]TweS
【0035】これらの標準的な変換体の誘導及び使用
は、当業者には周知である。例えば、この分野の参考文
献として、J.Foley et al, "Computer Graphics: Prin
ciplesand Practice", 2nd Edition (Addison Wesley 1
990) を挙げることができる。前述の1組の変換体は、
1つの適当な接近方法を表すに過ぎず、同じ結果を得る
ために他の接近方法を用いることもできるのは勿論であ
る。
【0036】本発明の方法は、視点座標[xee
e ]を修正することにより、修正された視点座標[x′
e y′e z′e]を得るようにしている。これを達成
するには、スクリーン変換体TS を適用する前に、観察
者に接近するように表面マーキングを移動させるか、又
は観察者から離れるように表面を移動させればよい。こ
の操作を行うための1つの好ましい方法は、前述の式中
のスクリーン変換体TS の前に、追加の変換体T′e
挿入することである(次の式(1)を参照)。 [wxS wyS wzS w]=[xooo 1]Twe T′eS (1) 変換体 T′e の詳細は、スクリーン変換体TS によっ
て記述されたスクリーン投影が、正射投影又は透視投影
の何れであるかに依存する。以下、これらの投影を詳述
する。
【0037】正射投影(図3(B)): 正射投影では、スクリーン座標[xSS ]は、視点
座標[xeee]を取り、そのxe 及びye を或
るスケール係数Kによって拡大縮小することによって得
られる。
【0038】xS =KxeS =Kye
(2) スケール係数Kの値は、視点空間内の単位で表した視野
の幅と、画素数で表したカメラの水平解像度との関数で
あり、これを次のように表すことができる。 K=水平解像度(画素数)/視野(FOV)の幅
【0039】ここで、スクリーン上の1つの画素の見掛
け上の距離に対応する、視点空間内のx又はy方向にお
ける距離δを検討する。表面マーキングを描画する際に
生じる1/2画素分の最大エラーは、この表面マーキン
グを傾斜パラメータSを有する一の表面に対して描画し
且つこの表面マーキングを観察者に向かってSδ/2の
距離だけ移動させることによって補償される(図3
(A)及び図3(B)を参照)。
【0040】正射投影(図3(A))の場合には、式
(2)から、一のスクリーン画素に対応する視点空間内
の距離δを、次のように求めることができる。δ=1/
【0041】かくて、一の表面マーキングが傾斜パラメ
ータSを有する表面の背後に「埋没する」ことを避ける
ために、この表面マーキングが観察者に向かって移動さ
れる量は、次のように表すことができる。 Sδ/2=S/2K
【0042】従って、修正された視点空間のz座標、即
ちz′e は、次式のようになる。 z′e =ze +Sδ/2=ze +S/2K (3)
【0043】式(1)に記述されているように、視点座
標[xeee ]から修正された視点座標[x′e
y′e z′e ]への変換は、通常の変換処理中に変換
体T′e を挿入することによって、コンピュータ・グラ
フィックス・システム10内で達成される。修正された
視点座標z′e 用の式(3)は、正射投影については、
T′e が次式によって与えられることを暗示する。
【0044】
【数5】
【0045】このような形式で表現すると、物体座標を
スクリーン座標へ変換する処理中に4×4の任意の同次
変換を行うように、本発明の方法を多数のグラフック・
システム内で容易に実現できることが分かる。
【0046】透視投影(図3(A)): 透視投影の場合には、スクリーン座標[xSS ]と
視点座標[xeee]との間の関係が、次式によっ
て与えられる。 xS =Kxe /zeS =Kye /ze (5) 但し、Kは、カメラのパラメータであって、視角とカメ
ラの解像度(画素数)との関数である。従って、Kを次
のように表現することができる。K=水平解像度(画素
数)/観察者から1単位の距離におけるFOVの幅但
し、この1単位は、視点座標系内で表現される。
【0047】ここで、スクリーン上の1画素の見掛け上
の距離に対応する、視点空間内のx又はy方向の距離δ
を検討する。一の表面マーキングを描画する際に生じる
1/2画素分の最大エラーは、この表面マーキングを傾
斜パラメータSを有する一の表面に対して描画し且つこ
の表面マーキングを観察者に向かってSδ/2の距離だ
け移動させることによって補償される(図3(A)を参
照)。
【0048】透視投影の場合、式(5)から、一のスク
リーン画素に対応する視点空間内の距離δを、次のよう
に求めることができる。 δ=−ze /K
【0049】前式中の負の符号は、通常の視点座標系で
は、観察者に向かうにつれてze 値が増大し、そして観
察者の位置(原点)に達するときze 値がゼロ(ze
0)となるのが普通であるから、カメラの前方で可視的
な物体については、そのze値が負になるという事実に
由来する。もっとも、接近方法によっては、ze につい
てこれと反対の規約が採用されていることもある。これ
らの接近方法の場合、前式及びこれに後続する以下の式
から、負の符号が除去される。
【0050】かくて、一の表面マーキングが傾斜パラメ
ータSを有する表面の背後に「埋没する」ことを避ける
ために、この表面マーキングが観察者に向かって移動さ
れる量は、次式によって与えられる。 Sδ/2=ze S/2K
【0051】その結果、修正された視点座標z′e は、
次式によって与えられる。 z′e=ze+Sδ/2=ze−zeS/2K=ze(1−S/2K) (6) しかし、(正射投影とは異なり)透視投影においては、
スクリーン座標[xSS ]が、ze に依存する。その
結果、ze からz′e へ修正すると、スクリーン上の物
体の位置及び大きさがシフトされ、このため、この物体
が他の物体に関し整列されていないように見えることに
なる。都合のよいことに、ze を修正してz′e を得る
場合には、式(6)の(1−S/2K )という項を単
に乗算するだけでよい。式(5)に記述されているよう
に、xS 及びyS は1/Ze に比例しているから、xe
及びye を次式のように(1−S/2K)と乗算するこ
とによって、この誤整列を回避することができる。
【0052】 x′e =xe(1−S/2K) y′e =ye(1−S/2K) (7) 式(1)に記述されているように、視点座標[xee
e ]から修正された視点座標[x′e y′e z′
e ]への変換は、変換体T′e を標準的な変換処理中に
挿入することによって、コンピュータ・グラフィックス
・システム10内で達成される。透視投影の場合、修正
された視点座標[x′e y′e z′e]用の式(6)
及び(7)は、変換体T′e が次式によって与えられる
ことを暗示する。
【0053】
【数6】 このような形式で表現すると、物体座標をスクリーン座
標へ変換する処理中に4×4の任意の同次変換を行うよ
うに、本発明の方法を多数のグラフック・システム内で
容易に実現できることが分かる。
【0054】要約すると、本発明者は、一の表面と一致
するような表面マーキング(例えば線、曲線及び点)を
描画するときに、幾つかの画素が消失するという問題の
原因を突き止めた。即ち、この問題は、これらの表面マ
ーキングを描画する際の、画素位置の不正確さから生じ
る、ということである。また、本発明者は、式1、4及
び8に要約されているように、これらの表面マーキング
を観察者に向かって移動させることにより、この問題を
解決するための方法を提供した。本発明の方法は、多数
の通常のコンピュータ・グラフィックス・システムに容
易に組み込まれるという理由で、広範に適用することが
できる。本発明の方法によれば、ユーザは、消失する画
素が完全に回避されるように、観察者に関する最大の表
面傾斜を表す処の、傾斜パラメータSを選択する。傾斜
パラメータSの値が大きすぎると、他の表面によって隠
されるべき表面マーキングが可視的になるという、前述
のものとは反対のエラーが生じることがある。傾斜パラ
メータSの値をほぼ8にすれば、良好な結果を得ること
ができたが、傾斜パラメータSの正確な値は重要ではな
い。
【0055】もし、三角形PQRが、測地(geodesic)
球形の1つの表面であり、しかも各表面が表面マーキン
グを含んでいれば、これらの表面の或る大きな部分集合
は、8以下の傾斜パラメータSで以て傾斜し、かくてこ
れらの表面マーキングを隠さない筈である。8以上の傾
斜パラメータSで以て傾斜する表面については、観察平
面IJ上へのこれらの表面の投影は、一の小さい領域を
包含するのが普通であるから、消失する任意の表面マー
キング画素が、可視的に現れることはない。
【0056】以上では、平坦な表面(三角形)の文脈に
おいて説明したが、本明細書で説明した方法は、曲面に
対し表面マーキングを描画する際に、画素位置の不正確
さが存在するような情況についても、適用できることを
理解すべである。
【0057】
【発明の効果】以上説明したように、本発明によれば、
表面マーキングの部分がマークされる表面によって隠さ
れないように表面マーキングを行うことができる。
【図面の簡単な説明】
【図1】図1aは、コンピュータ・グラフィックス・シ
ステムのブロック図であり、図1bは、他のコンピュー
タ・グラフィックス・システムのブロック図である。
【図2】図2は、三角形PQR及び線STから成る一の
シーンを示す図である。この図面において、各画素の中
心は記号+によって表され、線STは記号(+)を付し
た画素によって近似され、これらの近似的な画素のうち
画素A〜Cは線STから1/2画素分だけ離れた位置に
置かれている。
【図3】図3(A)及び図3(B)は、観察者が観察者
座標系の原点Oに位置する場合の、透視投影及び正射投
影をそれぞれ示す平面図である。

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数の表示画素を有する表示モニタ上に
    表示すべき一の表面マーキングを有する一の表面をコン
    ピュータ・グラフィックス・システムによって描画する
    方法であって、 傾斜パラメータSと、視点座標の単位及び表示画素の単
    位の間の関係を表すスケール係数Kとの関数である或る
    移動量だけ前記表面マーキングを観察者に向かって移動
    させるか、又は前記或る移動量だけ前記表面を観察者か
    ら離れる方向に移動させる移動ステップを有し、 前記傾斜パラメータSは、前記移動ステップの結果とし
    て前記表面マーキングの一部が前記表面によって覆い隠
    されないように、一の観察平面に関する前記表面の最大
    の傾斜を決定するものであり、 前記移動ステップは、一の視点座標系から修正された視
    点座標系を得るために所定の変換体 T′e を適用する
    ステップを含んでおり、 前記所定の変換体 T′e は、前記表面及び前記表面マ
    ーキングを前記観察平面上に投影する際に、透視投影又
    は正視投影のどちらが用いられるかに依存して選択さ
    れ、 前記正視投影が用いられる場合は、スケール係数Kが、 K=水平解像度(画素数)/視野(FOV)の幅 によって与えられ、 Sδ/2=S/2Kであり、δは、前記表面に対して前
    記表面マーキングを描画する際に生ずる処の、前記観察
    平面内の一の画素エラー距離に対応する前記視点座標系
    内の一の距離であり、 前記修正された視点座標系のz軸の距離値 z′e が、
    前記一の視点座標系のz軸の距離値ze の関数として、 z′e =ze +Sδ/2=ze +S/2K によって与えられ、 前記所定の変換体 T′e が、 【数1】 によって与えられるようにした、表面マーキングを有す
    る表面の描画方法。
  2. 【請求項2】 複数の表示画素を有する表示モニタ上に
    表示すべき一の表面マーキングを有する一の表面をコン
    ピュータ・グラフィックス・システムによって描画する
    方法であって、 傾斜パラメータSと、視点座標の単位及び表示画素の単
    位の間の関係を表すスケール係数Kとの関数である或る
    移動量だけ前記表面マーキングを観察者に向かって移動
    させるか、又は前記或る移動量だけ前記表面を観察者か
    ら離れる方向に移動させる移動ステップを有し、 前記傾斜パラメータSは、前記移動ステップの結果とし
    て前記表面マーキングの一部が前記表面によって覆い隠
    されないように、一の観察平面に関する前記表面の最大
    の傾斜を決定するものであり、 前記移動ステップは、一の視点座標系から修正された視
    点座標系を得るために所定の変換体 T′e を適用する
    ステップを含んでおり、 前記所定の変換体 T′e は、前記表面及び前記表面マ
    ーキングを前記観察平面上に投影する際に、透視投影又
    は正視投影のどちらが用いられるかに依存して選択さ
    れ、 前記透視投影が用いられる場合は、スケール係数Kが、 K=水平解像度(画素数)/観察者から1単位の距離に
    おけるFOVの幅によって与えられ、 Sδ/2=ze S/2Kであり、δは、前記表面に対し
    て前記表面マーキングを描画する際に生ずる処の、前記
    観察平面内の一の画素エラー距離に対応する前記視点座
    標系内の一の距離であり、ze は、前記一の視点座標系
    のz軸に沿った一の距離値であり、 前記修正された視点座標系のz軸の距離値 z′e が、
    前記一の視点座標系のz軸の距離値ze の関数として、 z′e =ze +Sδ/2=ze −ze S/2K=ze(1−S/2K) によって与えられ、 前記所定の変換体 T′e が、 【数2】 によって与えられるようにした、表面マーキングを有す
    る表面の描画方法。
JP5130801A 1992-07-17 1993-06-01 表面マーキングを有する表面の描画方法 Expired - Lifetime JP2579421B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US916323 1992-07-17
US07/916,323 US5379370A (en) 1992-07-17 1992-07-17 Method and apparatus for drawing lines, curves, and points coincident with a surface

Publications (2)

Publication Number Publication Date
JPH06295344A JPH06295344A (ja) 1994-10-21
JP2579421B2 true JP2579421B2 (ja) 1997-02-05

Family

ID=25437071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5130801A Expired - Lifetime JP2579421B2 (ja) 1992-07-17 1993-06-01 表面マーキングを有する表面の描画方法

Country Status (3)

Country Link
US (1) US5379370A (ja)
EP (1) EP0582815A2 (ja)
JP (1) JP2579421B2 (ja)

Families Citing this family (10)

* 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
US5544291A (en) * 1993-11-10 1996-08-06 Adobe Systems, Inc. Resolution-independent method for displaying a three dimensional model in two-dimensional display space
JP3030485B2 (ja) * 1994-03-17 2000-04-10 富士通株式会社 3次元形状抽出方法及び装置
EP0715280B1 (en) * 1994-06-20 2003-05-21 Sega Corporation Method and apparatus for processing image
US6749509B1 (en) 1994-06-20 2004-06-15 Sega Corporation Image processing method and apparatus
US5649082A (en) * 1995-03-20 1997-07-15 Silicon Graphics, Inc. Efficient method and apparatus for determining texture coordinates for lines and polygons
US6097395A (en) * 1998-04-28 2000-08-01 Hewlett Packard Company Dynamic selection of lighting coordinates in a computer graphics system
US6466230B1 (en) 1998-06-30 2002-10-15 Lucent Technologies Inc. Display techniques for object visibility in a three-dimensional virtual world
US6346939B1 (en) * 1999-05-03 2002-02-12 Microsoft Corporation View dependent layer ordering method and system
US7924278B2 (en) * 2006-07-28 2011-04-12 Microsoft Corporation Real-time GPU rendering of piecewise algebraic surfaces

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4491868A (en) * 1981-05-06 1985-01-01 Inspection Technology Inc. Video image compensator for inspection apparatus
EP0205252B1 (en) * 1985-05-08 1989-09-13 Sony Corporation Video signal processing
US4875097A (en) * 1986-10-24 1989-10-17 The Grass Valley Group, Inc. Perspective processing of a video signal
US4882679A (en) * 1987-11-27 1989-11-21 Picker International, Inc. System to reformat images for three-dimensional display
US5068803A (en) * 1989-09-15 1991-11-26 Sun Microsystems, Inc. Method and apparatus for filling contours in digital typefaces
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
AU637480B2 (en) * 1990-03-12 1993-05-27 Biosite Diagnostics Incorporated Bioassay device with non-absorbent textured capillary surface
JPH07118025B2 (ja) * 1990-06-29 1995-12-18 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・グラフィックス処理方法及びシステム

Also Published As

Publication number Publication date
JPH06295344A (ja) 1994-10-21
EP0582815A2 (en) 1994-02-16
US5379370A (en) 1995-01-03
EP0582815A3 (ja) 1994-05-04

Similar Documents

Publication Publication Date Title
EP0451875B1 (en) Image displaying system
JP3619063B2 (ja) 立体画像処理装置、その方法、立体視パラメータ設定装置、その方法そしてコンピュータプログラム記憶媒体
CN107193372B (zh) 从多个任意位置矩形平面到可变投影中心的投影方法
US5781194A (en) Real-time projection of voxel-based object
US6529626B1 (en) 3D model conversion apparatus and method
US6804415B2 (en) Method and apparatus for providing an image to be displayed on a screen
JP2579421B2 (ja) 表面マーキングを有する表面の描画方法
US6791569B1 (en) Antialiasing method using barycentric coordinates applied to lines
JPH09120465A (ja) 3d映像を効率よくレンダリングする方法および装置
US6081275A (en) Image compositing apparatus
KR100381817B1 (ko) 제트버퍼를 이용한 입체영상 생성방법 및 기록매체
US20180213215A1 (en) Method and device for displaying a three-dimensional scene on display surface having an arbitrary non-planar shape
KR100559127B1 (ko) 화상처리장치
JP2659372B2 (ja) 構造物の三次元表示方法
KR101227155B1 (ko) 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법
US6188409B1 (en) 3D graphics device
KR102077494B1 (ko) 어라운드뷰 제공 방법 및 장치
JPH0636039A (ja) テクスチャ・マッピング装置
KR102030631B1 (ko) 어라운드뷰 제공 방법 및 장치
CA2282240C (en) System and computer-implemented method for modeling the three-dimensional shape of an object by shading of a two-dimensional image of the object
JPH07200875A (ja) 3次元モデルの表示位置変更方法
JP3513024B2 (ja) 視界情報決定装置と視界情報決定方法および視界情報決定方法を実行するためのプログラムを記録した記録媒体
JP3706098B2 (ja) 三次元画像構成方法
JP2002245486A (ja) 3次元モデル生成装置、3次元モデル生成方法、および3次元モデル生成プログラム
FI108679B (fi) 3D-Grafiikkalaite