JPH0814852B2 - 画像表示方法 - Google Patents

画像表示方法

Info

Publication number
JPH0814852B2
JPH0814852B2 JP3707985A JP3707985A JPH0814852B2 JP H0814852 B2 JPH0814852 B2 JP H0814852B2 JP 3707985 A JP3707985 A JP 3707985A JP 3707985 A JP3707985 A JP 3707985A JP H0814852 B2 JPH0814852 B2 JP H0814852B2
Authority
JP
Japan
Prior art keywords
data
processing
display
plane
display screen
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
JP3707985A
Other languages
English (en)
Other versions
JPS61195469A (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP3707985A priority Critical patent/JPH0814852B2/ja
Priority to CA000502519A priority patent/CA1260638A/en
Priority to AT86102358T priority patent/ATE97246T1/de
Priority to DE86102358T priority patent/DE3689271T2/de
Priority to EP86102358A priority patent/EP0193151B1/en
Priority to US06/832,990 priority patent/US4819192A/en
Publication of JPS61195469A publication Critical patent/JPS61195469A/ja
Publication of JPH0814852B2 publication Critical patent/JPH0814852B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)

Description

【発明の詳細な説明】 以下の順序で本発明を説明する。
A 産業上の利用分野 B 発明の概要 C 従来の技術 D 発明が解決しようとする問題点 E 問題点を解決するための手段 F 作用 G 実施例 (G1) 陰影処理(第2図) (G2) 陰面処理(第3図、第4図) (G3) 変換処理手順(第1図) 各種テーブルの生成手順(第5図〜第10図) 線形補間、陰影、陰面処理(第11図〜第16図) (G4) 実施例の作用 (G5) 変形例 H 発明の効果 A 産業上の利用分野 本発明は画像表示方法に関し、特にメモリ内に予め書
込まれた3次元画像情報を、コンピユータ処理により画
像変換してデイスプレイのラスタ表示画面上に立体的に
表示するものである。
B 発明の概要 本発明は、3次元空間にある物体の表面をデイスプレ
イの2次元表示画面上に変換表示する画像表示方法にお
いて、物体1、4の表面1A、4Aを三角形の単位領域UA
1、UA2に切出し、この単位領域の3つの頂点を表す第1
の頂点PXにおける物体表面情報である第1のデータを
得、この第1のデータのうち頂点PXの位置を表す位置デ
ータをデイスプレイのラスタ表示画面に相当する2次元
平面に透視変換して2次元平面上の第2の頂点P1、P2
P3の位置を表す第2のデータを得、この2次元平面上の
頂点P1、P2、P3の物体表面情報に基づいて頂点P1、P2
P3によつて囲まれる三角形領域内のピクセルの物体表面
情報を線形補間する。
その際に、三角形領域に処理点Pcとなるピクセルが含
まれているか否かを、当該三角形領域の3辺を形成する
3つの直線DL1、DL2、DL3と重心P0とを用いて、処理点P
cのピクセルが全て直線DL1、DL2、DL3の重心側にあると
の判定結果が得られたとき、当該処理点Pcが三角形領域
に含まれるピクセルであると決定することにより、当該
決定が得られたピクセルについてだけ補間演算を実行す
れば良いことになるので、演算時間を一段と短縮し得
る。
C 従来の技術 コンピユータによつて画像を制作する技術は、コンピ
ユータグラフイツクス(CG)として知られている。すな
わちコンピユータグラフイツクスは、3次元空間内に位
置する物体に関するグラフイツク画像データを3次元の
座標情報として予めメモリ内に書込んでおき、この情報
を読出して所定の演算式に基づいて画像変換することに
より、デイスプレイ上に立体的に表現されたグラフイツ
ク画像を得るものである。
ここで2次元的な表示画面上に画像を立体的に表現す
るために、画像変換のための演算を実行する際に、透視
変換処理、陰影処理、及び陰面処理の3つの手法が用い
られている。
透視変換処理は、一般に人間の目で物体を見たとき、
手前のものは大きく見えかつ遠方のものは小さく見える
点に着目し、物体の大きさを視点からの距離に応じて変
化させることによつて距離感を表すものである。
また陰影処理は、3次元空間上の1点に位置する光源
に対して物体の各表面の傾斜が異なるため、人間の目に
は当該各表面の明るさが変化するように見える点に着目
し、デイスプレイ上に表示されたグラフイツク画像の各
表面の明るさを変化させることによつて物体の表面の起
伏を表すようにしたものである。
さらに陰面処理は、3次元空間の1点に位置する視点
から見たとき、1つの物体の裏面や、互いに重なり合う
ように見える複数の物体のうち、後方の物体の重なり合
う面は見えないことに着目して、当該見えない部分のグ
ラフイツク画像を表示しないようにすることによつて、
遠近感を表すものである。
これらの処理は、何れも3次元空間に位置する物体を
人間が見たときの経験則を物理的演算によつて実現すれ
ば、当該物体を表示したとき立体的に表現できるという
考え方に基づいて採用されている手法であり、いくつか
のアルゴリズムが提案されている。
これらの処理は、単独でもある程度の効果は得られる
が、必要に応じて組合せることにより、より自然な立体
感を得ることができ、これらの処理をコンピユータによ
つて演算する手法として従来主として次に挙げる2つの
方法が用いられていた。
D 発明が解決しようとする問題点 その第1の方法は、視点、光源及び物体間の空間的位
置関係を予め決めておき、透視変換処理、陰影処理及び
陰面処理によつて得た結果をデータ列としてメモリに書
込んでおき、当該メモリを必要に応じて読出すことによ
つてグラフイツク画像を表示する。
この第1の方法によると、メモリに書込むべきデータ
列を生成する際に多大な時間がかかるものの、画像情報
の変換自身にはそれほど時間を必要としない利点があ
る。しかしながら、視点の空間的位置情報を予め決定し
ておく必要があること、視点が増える(視点が移動す
る)場合、各視点ごとにデータ列を形成する必要がある
などの問題がある。このため視点の位置を細かく変更す
ることができないことや、データ列を記憶するために大
規模なメモリ容量を必要とする欠点があり、実用上比較
的単純な形状の物体を表現する場合にしか使用できなか
つた。
また第2の方法は、光源と物体との空間的位置関係を
初期設定し得るようにすると共に、透視変換処理、陰影
処理及び陰面処理をそれぞれサブルーチンとして実行し
得るようになされ、視点の空間的位置情報が与えられた
とき、上述の立体表現のための処理を順次実行するよう
になされている。
この第2の方法による従来のグラフイツク画像表示装
置によれば、視点の空間的位置を自由に設定できるもの
の、透視変換処理、陰影処理及び陰面処理を各ピクセル
ごとに実行しなければならないように構成されているた
め、コンピユータによる演算量が膨大となり、実用的で
はなかつた。例えば1000×1000個のピクセルで構成され
ている場合、1つの視点について透視変換処理、陰影処
理及び陰面処理を各ピクセルごとに1000000回演算を繰
返さなければならず、そのため演算処理時間が例えば数
時間程度もかかる欠点があつた。
本発明は以上の点を考慮してなされたもので、上述の
第2の演算処理方法のうち、特に膨大な演算時間を必要
とする陰影処理及び陰面処理を従来の場合と比較して格
段的に簡便かつ短時間の間に実行し得るようにした画像
表示方法を提案しようとするものである。
E 問題点を解決するための手段 かかる問題点を解決するため本発明においては、3次
元空間にある物体の表面を所定の視点位置から見たとき
の当該表面に関するデータを、デイスプレイの2次元表
示画面上に表示変換する画像表示方法において、物体
1、4の表面1A、4Aを三角形の単位領域UA1、UA2に切出
し、当該三角形の単位領域UA1、UA2の3つの頂点PXにお
ける物体表面情報でなる第1のデータを得、この第1の
データのうちの頂点PXの位置を表す位置データを、視点
位置に基づいて、デイスプレイの表示画面に相当する2
次元平面に透視変換して、3つの頂点PXに対応する2次
元平面上の頂点P1、P2、P3の位置を表す第2のデータを
得、この第2のデータによつて表される3つの頂点P1
P2、P3のうちの2つの頂点P1及びP2、P2及びP3、P3及び
P1をそれぞれ通る第1、第2及び第3の直線DL1、DL2、
及びDL3によつて囲まれる三角形領域UAXの重心P0を求
め、表示画面のピクセルでなる処理点Pcの位置が、第
1、第2、第3の直線DL1、DL2、DL3に対して、重心P0
の位置と同じ側にあるか否かをそれぞれ判定し、その結
果第1、第2、第3の直線DL1、DL2、DL3に対して全て
重心と同じ側にあるとの判定結果が得られたとき、処理
点Pcが三角形領域UAXに含まれるピクセルであると決定
し、当該決定された三角形領域UAXの頂点P1、P2、P3
置に第1のデータに含まれる物体表面情報データを垂直
に立ててその先端に三角形のデータ平面を張り、表示画
面の三角形領域UAXに含まれる処理点Pcに垂直に立てた
直線と、データ平面との交点を補間演算によつて求め、
この交点におけるデータ平面のデータを、デイスプレイ
の表示画面上の処理点Pcについての画像データとして決
定する。
F 作用 3次元空間にある物体の表面から2次元平面に透視変
換された三角形の単位領域UA1、UA2に相当する三角形領
域UAXについて補間演算を実行するには、処理点Pcとな
るピクセルが三角形UAXに含まれていることを確認する
必要がある。もし含まれていない場合には、他の三角形
についての補間演算を実行しなければならない。このよ
うに現在処理点Pcとなつているピクセルについてどの三
角形領域UAXに当該処理点Pcが含まれるかを判定する手
段として、本発明においては、三角形の重心は常に3辺
で囲む領域内にあることに着目して、三角形領域UAXの
3辺を形成する直線DL1、DL2、DL3と重心P0とを用い
て、各直線DL1、DL2、DL3に対して処理点Pcが重心P0
にあるか否かを判定するだけで簡易に演算処理し得る。
従つてこの分演算時間を一段と短縮し得る。
G 実施例 以下図面について本発明を、曲面を有する物体の画像
データを変換処理するようにした場合の一実施例を詳述
する。
以下に述べるグラフイツク画像変換方法においては、
2次元的なラスタ画面上に立体的なグラフイツク画像を
表現するために必要な陰影処理及び陰面処理を次に述べ
るような手法で実行する。
(G1) 陰影処理 陰影処理は、デイスプレイ上に表示するグラフイツク
画像の表面に影をつける処理で、第2図に示すように、
絶対座標xyzで表される3次元空間に配設された物体1
の表面でなる曲面1Aに対して光源2から光が照射された
とき、曲面1A上の微小面積の位置P1における輝度(すな
わち明るさ)は位置P1における曲面1Aの法線と光源2の
方向との間になす角度θが変化すればこれに応じて変化
して行く。そこで陰影処理は、次式 I=(1−D)・A+D ……(1) によつて、位置P1における輝度Iを表現することによつ
て、物体1の表面上に、光源2によつて生ずる影を表現
する。(1)式においてDは定数、Aは で表される変数である。この変数Aは光源ベクトルK*
位置P1における法線単位ベクトルN*との内積を、光源ベ
クトルK*及び法線単位ベクトルN*の絶対値の積で割つた
式で表され、この式は法線単位ベクトルN*に対して光源
ベクトルK*がなす角度θの余弦cosθになる。
第2図において、光源2の位置は絶対座標xyzにおけ
る光源2の位置ベクトルSS*によつて表され、また曲面1
A上の位置P1は曲面の位置ベクトルS*で表される。この
位置P1における曲面1Aの傾きは、曲面1Aの法線単位ベク
トルN*によつて表され、また位置P1に対して光源2から
入射する光の方向は位置P1から光源2に引いたベクトル
K*によつて表され、さらに当該入射する光の入射角は、
法線単位ベクトルN*に対して光源ベクトルK*がなす角度
θによつて表される。
このように曲面1A上の位置P1の輝度Iは、変数Aで決
まり、従つて光源2から位置P1に入射する光の入射角θ
が変化すれば、これに応じて変数Aが−1〜+1の範囲
を変化することによつて、入射角θが0°(すなわち曲
面1Aの位置P1に立てた法線単位ベクトルN*の方向に光源
2があるとき)最も明るくなり、この状態から入射角θ
が±90°の範囲で変化すれば、位置P1の明るさは暗くな
つて行く(輝度Iが0になつて行く)ことになる。
(G2) 陰面処理 陰面処理は、物体の表面のうち、視点から見て、見え
ない部分についてはデイスプレイ上に表示しないように
グラフイツク画像データを処理することを言う。この処
理は、第3図に示すように、物体4の表面でなる曲面4A
を視点3から見たとき、見える部分(これを可視部分と
呼ぶ)と見えない部分(これを不可視部分と呼ぶ)とが
生ずることに基づいて、見える部分に対応する部分だけ
をデイスプレイ上に表示させる。
ここで、曲面4Aの各部分が可視部分であるか否かの判
断は、次の2つの条件に基づいてなされる。すなわち第
1の条件は、第3図に示すように、視点3から視線EL1
に沿つて物体4の曲面4Aを見たとき、視線EL1が曲面4A
と交差する点P11、P12、P13のうち、位置P12及びP13の
面部分は、視線EL1の視点3側の位置P11に視線EL1に交
差する面部分が存在することにより、当該面部分に隠さ
れる結果になつており、従つて位置P12及びP13の面部分
は不可視であると判断し、物体4及び視点3間に設けら
れた仮想スクリーン5上に可視である位置P11の面部分
を透視するような画像データの変換処理を実行する。
また第2の条件は、注目している面部分が他の曲面に
も隠されていないことである。すなわち第3図におい
て、物体4の曲面4Aと、視点3との間に他の物体6が存
在し、視線EL2に沿つて物体4を見たとき、視線EL2が物
体6の曲面6Aと交差した後、物体4の曲面4Aと交差する
ような状態にあるとき、物体4の曲面4A上の位置P14の
面部分は、視点3側にある物体6の曲面6A上の位置P15
の面部分によつて隠されており、従つて仮想スクリーン
5上には、不可視の面部分(位置P14の面部分)を表示
せずに可視の面部分(位置P15の面部分)を表示するよ
うにグラフイツク画像データを変換処理する。
第1の条件(すなわち可視−不可視)は、第4図に示
す手法で判断される。すなわち、閉曲面7Aを有する物体
7(例えば球でなる)上の注目点P21の面部分において
視点3の方向を差す視線単位ベクトルE*を引き、この視
線単位ベクトルE*と法線単位ベクトルN*との内積を求め
ると、注目点P21の面部分が可視であるための必要十分
条件は、 N*・E*>0 ……(3) と表し得る。ここで視線単位ベクトルE*及び法線単位ベ
クトルN*の角度がφであれば、視線単位ベクトルE*及び
法線単位ベクトルN*の内積の値は、 N*・E*=|N*|・|E*|・cosφ=cosφ ……(4) となる。従つて(3)式を満足する条件は、φが鋭角で
あること、すなわち のとき成立つことが分かる。
例えば第4図において視線EL3と表面の位置P21との交
点で示すように、角度φが鋭角であれば、視線単位ベク
トルE*及び法線単位ベクトルN*の内積は正であるので、
(3)式の条件を満足し、従つて注目点P21の面部分は
可視であると判断できる。これに対して第4図において
視線EL3と裏面の注目点P22の面部分との交点で示すよう
に、角度φがπ/2以上になると、視線単位ベクトルE*
び法線単位ベクトルN*の内積は負になるから、(3)式
の条件を満足せず、当該注目点P22の面部分は不可視で
あると判断し得る。
かかる判断は、曲面7A上に存在する各注目点の面部分
の傾斜が、視点3に向いているか否かを判定したもので
あり、かかる判定によつて可視であると判断された注目
点は、上述の第2の条件を満足できれば最終的に可視な
点となる(このような点を可視候補点と呼ぶ)。
そして上述の第2の条件の判定が、当該可視候補点に
ついて実行される。すなわち第3図について上述したよ
うに、同一の視線EL1、EL2上にある複数の可視候補点
(P11、P13)、(P14、P15)のうち、最も視点3に近い
距離を有する可視候補点が選定され、当該可視候補点が
最終的な可視点であると判断される。
(G3) 変換処理手順 各種テーブルの生成手順 コンピユータグラフイツクスを用いたが画像表示装置
は、中央処理ユニツト(CPU)によつて第1図の処理手
順に従つて、グラフイツク画像変換処理を実行する。
まずステツプSP1において、変換処理プログラムを開
始し、ステツプSP2において、視点3(第3図)の位
置、光源2(第2図)の位置、及びグラフイツク画像を
変換処理する際に必要とされるパツチ数をオペレータの
操作によつて入力する。
このときCPUは、予め格納している3次元のグラフイ
ツク画像データに基づいて、当該グラフイツク画像デー
タによつて表される3次元のグラフイツク画像を、ステ
ツプSP2において指定された視点3によつて決まる仮想
スクリーン5(第3図)上に透視する際に、3次元グラ
フイツク画像の曲面上の点を仮想スクリーン5上の対応
する点に変換するために用いる透視変換マトリクスを生
成する。
次にCPUは、第5図に示すように、変換すべきグラフ
イツク画像データのうち1パツチ分のデータDATAを読出
し、次のステツプSP5において三角形に切出す。
この実施例の場合、三角形の切出しは、1パツチ分の
データDATAを所定のパラメータに基づいて、当該パラメ
ータが等間隔になる(必ずしも曲面上で等間隔にはなら
ない)ような間隔で順次配列する2群の切出線群L1及び
L2の交点位置を順次演算して行く。ここで、切出線群L1
及びL2に含まれる切出線の数は縦横5本に選定され、切
出線群L1及び切出線群L2が互いに網目状に交差するよう
に設定されている。かくして1パツチ分のデータDATAで
なる曲面は、切出線群L1及びL2の隣合う2本の切出線に
よつて囲まれた小領域UAに分割され、当該小領域UAを4
つの交点PXによつて囲むように切出し処理される。
この小領域UAの大きさは、ステツプSP2において入力
されたパツチ数との関連によつて決められ、これにより
小領域UAをデイスプレイのラスタ画面上に変換したと
き、当該変換された小領域に含まれるピクセル数が決ま
るようになされている。
小領域UAは、互いに対向する2つの交点間を結ぶ対角
線L3によつて2つの三角形状の単位領域UA1及びUA2に分
割され、かくしてデータDATAが表す曲面が多数の単位領
域UA1及びUA2に分割される。そして各単位領域UA1及びU
A2にそれぞれ含まれるピクセル数は、例えば20〜30個程
度になるように設定されている。
このようにして曲面から単位領域UA1及びUA2の切出し
を実行した後、CPUが各単位領域UA1及びUA2の頂点にあ
る3つの交点位置について法線単位ベクトルN*を計算す
る。
このようにして処理すべき曲面のデータDATAを三角形
の単位領域UA1及びUA2に分割して、3つの頂点について
データを得ることは、三角形の単位領域UA1及びUA2をデ
イスプレイのラスタ表示画面上に変換したとき、当該変
換した単位領域に含まれている20〜30個のピクセルにつ
いてのデータを、3つの頂点のデータによつて代表させ
たことを意味し、従つて以後の処理を3つの頂点のデー
タに基づいて実行することにより、データの処理速度を
格段的に速めることができることを意味している。
CPUは、次のステツプSP6において陰面処理において使
用する可視−不可視データでなるテーブルを生成する。
このステツプは単位領域UA1及びUA2の3つの頂点につい
て、それぞれ第6図に示すように、視線単位ベクトルE*
を演算により求め、この視線単位ベクトルE*と法線単位
ベクトルN*との内積を演算し、この演算結果を、第7図
に示すように、コンピユータの内部に設けられたテーブ
ル10の可視−不可視テーブルTABLE4に順次記憶させて行
く。
この場合テーブル10は、1パツチ分の曲面データDATA
(第5図)を、切出線群L2が配列されている方向(これ
をU方向と呼ぶ)、及び切出線群L1が配列されている方
向(これをV方向と呼ぶ)にそれぞれ5つずつある交点
PXのデータを、1パツチ25ワード分のデータとして記憶
するようになされている。
かくして可視−不可視テーブルTABLE4には、各パツチ
ごとに25個の交点PXについての可視−不可視データが格
納され、その符号に基づいて第3図について上述したよ
うに、陰面処理する際に必要な第1の条件データを生成
することになる。
これに続いてCPUはステツプSP7において距離テーブル
を生成する。この距離テーブルは、曲面データDATAの各
頂点について第2図に対応させて第8図に示すように、
頂点PXから視点3までの距離ベクトルD*を計算し、当該
計算結果をテーブル10の距離テーブルTABLE3に格納す
る。
この距離テーブルTABLE3の距離データDは、陰面処理
における第2条件(第3図)の判断をする際に使用され
るもので、頂点PXから視点3までの距離ベクトルを D*=E0 *−S* ……(6) によつて演算した後、当該距離ベクトルD*の絶対値を距
離データDとして得る。
かくしてデイスプレイのラスタ表示画面上、同じピク
セルについて複数の曲面部分についての距離データが得
られたとき、視点3に最も近い曲面部分のデータを判定
することができる。
次に、CPUはステツプSP8に移つて輝度テーブルの生成
処理を行う。このステツプは、第2図に対応させて第9
図に示すように、各頂点PXにおける輝度を計算するもの
で、まず次式 K*=SS*−S* ……(7) によつて頂点PXから見た光源2に対する位置ベクトルを
計算する。そしてその計算結果を用いて、頂点PXの法線
単位ベクトルN*との内積に基づいて入射各θの余弦cos
θを次式 によって演算し、これを変数Aとおく。
さらにこの変数Aを用いて輝度Iを次式 I=(1−D)・A+D ……(9) によつて演算する。
ここで定数Dの値は、例えば0.22程度であるのに対し
て、変数Aは0〜1の範囲で変動する(θが±π/2の範
囲で変動するので)。かくして輝度Iは頂点PXに対して
光源2から入射する光の変化に応じて変化し、これによ
り第2図について上述した陰影処理に使用するデータが
得られ、このデータがテーブル10(第7図)の輝度テー
ブルTABLE2に格納される。
次にCPUは、ステツプSP9に移つて透視変換処理を実行
する。この透視変換処理は、第3図に対応させて第10図
に示すように、物体4の曲面4A上にある頂点PXの位置
を、物体4及び視点3間に設けた仮想スクリーン5上に
透視したとき、3次元空間にある曲面4A上の頂点PXを仮
想スクリーン5上の2次元XY平面に変換するものであ
る。かかる変換処理は、上述のステツプSP5において得
た頂点PXの位置データを、ステツプSP3において生成し
た透視変換マトリクスを用いて、XY平面上に変換演算す
ることにより実行され、この演算結果はテーブル10のXY
テーブルTABLE1に格納される。
この変換処理を実行することにより、3次元空間にあ
る曲面上の頂点についてのデータを、XY平面上のデータ
として取り扱うことができることになり、これにより、
以下の処理をXY平面すなわちデイスプレイのラスタ表示
画面を基準にして実行し得ることになる。
かくしてCPUは、1パツチ分のデータに基づいて切出
された三角形の各頂点位置における各種の物体表面情報
を表すデータをテーブル10に生成でき、次のステツプSP
10において初期値として設定された全てのパツチについ
ての処理が終了したか否かを判断し、終了していなけれ
ば、ステツプSP4に戻つて次のパツチについてテーブル1
0へのデータの生成処理を実行する。その結果ステツプS
P10において、肯定結果が得られると、CPUはデイスプレ
イの画面上に表示すべき曲面についてその状態を表す全
ての情報を、単位領域UA1及びUA2(第5図)の3つの頂
点位置のデータとしてテーブル10内に取込むことができ
る。
線形補間、陰影、陰面処理 かくしてテーブル10に取込まれた曲面情報は、単位領
域UA1及びUA2がデイスプレイの表示画面上20〜30個のピ
クセルに対応しているので、CPUは以下のステツプSP11
〜SP18において、当該単位領域UA1及びUA2に対応する各
ピクセルについて、テーブル10のデータを用いて線形補
間演算を実行することによつて、陰影処理及び陰面処理
した画像データを得、これによりデイスプレイの表示画
面上に立体的に見えるように処理した平面画像を再現す
る。
すなわち、CPUはステツプSP11において表示領域の決
定処理を実行する。この処理は、表示すべき画像をデイ
スプレイの画面のほぼ中央位置に適切な寸法で表示させ
るための表示領域を決めるステツプで、第11図に示すよ
うに、テーブル10のXYテーブルTABLE1(第7図)から全
てのデータを取出して、2次元の表示画像DESを構成す
る透視変換された頂点のX軸方向の最大値Xmax及び最小
値Xminと、Y軸方向の最大値Ymax及び最小値Yminとをそ
れぞれ抽出し、X軸方向について最大値Xmax及び最小値
Xminの中心位置Xcを次式 によつて求めると共に、Y軸方向の最大値Ymax、最小値
Yminの中心位置Ycを次式 によつて求める。かくして求める中央位置(Xc、Yc)を
デイスプレイのラスタ表示画面11の中心位置に設定する
と共に、表示画像DESがデイスプレイの表示画面11を形
成するピクセルに対応するメモリセルを有するフレーム
バツフアのサイズに収まるような表示領域AREを定め
る。
ここで表示領域AREは、第11図から明らかなように、
X軸方向に最大値Xmax〜最小値Xminの領域をもち、かつ
Y軸方向に最大値Ymax〜最小値Yminの領域をもつ。
CPUは、この表示領域AREを決定すると、以下当該表示
領域ARE内にあるラスタ表示画面上のピクセルに限つて
当該ピクセルを処理点Pcとして指定して演算処理を実行
して行くことによつて、以後の処理ステツプを実行す
る。このことは、ラスタ表示画面上に表示すべき画像の
変換演算量を一段と低減できることを意味している。す
なわち一般に、ラスタ表示画面上に画像変換処理された
画像を表示させようとする場合、ラスタ表示画面を構成
する全てのピクセルについて、順次指定して演算処理を
して行くことによつて、表示すべき画像データの有無及
びその内容を演算しながらフレームバツフアメモリの対
応するメモリエリアにその演算結果を格納して行く方法
が採用されている。この点第11図の場合は、ラスタ表示
画面11のうち、表示すべきデータがないピクセルについ
ては演算処理をしないので、結局全体として画像変換演
算量を格段的に低減し得る。
CPUは次のステツプSP12において、この表示領域AREに
ある単位領域UA1及びUA2(第5図)の3つの頂点PXに対
応する1パツチ分の位置データDATAX(第12図)をテー
ブル10のXYテーブルTABLE1から順次取出してデータの補
間演算処理を実行する。かくしてCPUは、表示画面11
(第11図)のうち表示領域AREの内部にある三角形領域U
A1X及びUA2Xに含まれるピクセルの輝度を決定するため
の補間演算に供するデータを供給する。
CPUは次に、ステツプSP13において、表示領域AREに含
まれる1パツチ分のピクセルのうち、現在演算処理をし
ようとしている処理点Pcとなるピクセル(この場合輝度
を演算決定すべき処理点Pcとなるピクセル)が、それぞ
れどの三角形領域UA1X及びUA2Xに属するものであるかを
判定する。この判定は第13図に示すように、各三角形領
域UA1X及びUA2Xの3つの頂点を仮想スクリーン上に透視
変換してなるXY平面上の点P1(X1、Y1)、点P2(X2
Y2)、点P3(X3、Y3)を頂点として、これらの頂点P1
P2、P3間を互いに結ぶ直線DL1、DL2、DL3によつて囲ま
れた三角形領域UAXについてその重心P0(X0、Y0)を用
いて、以下に述べる手順によつて三角形領域UAX内に処
理点Pc(Xc、Yc)が存在するか否かを判定する。
まず頂点P1及びP2を通る直線DL1の方程式は で表され、これを書換えると、 (Y−Y1)(X2−X1)−(Y2−Y1)(X−X1)=0……
(13) となる。ところがこの(13)式は、X及びYの値として
直線DL1上の点のX及びY座標の値を代入すれば、左辺
が0になることを意味している。
そこで(13)式の左辺をF(X、Y)と置き、 F(X1Y)=(Y−Y1)(X2X1)−(Y2−Y1)(X−
X1) ……(14) の式を立て、直線DL1上の点を代入すれば、F(X、
Y)の値が0になるのに対して、直線DL1の内側又は外
側の点の座標値を代入すれば、F(X、Y)は正又は負
の値になる数になる。
この点に着目して三角形領域UAXの重心P0(X0、Y0
の座標値 を(14)式に代入したときのF(X0、Y0)の値 F(X0、Y0)=(Y0−Y1)(X2−X1)−(Y2−Y1)(X0
−X1) ……(17) と、処理点Pc(Xc、Yc)の座標値を代入したときのF
(Xc、Yc)の値 F(Xc、Yc)=(Yc−Y1)(X2−X1)−(Y2−Y1)(Xc
−X1) ……(18) との積を求め、この積が正のときすなわち F(X0、Y0)・F(Xc、Yc)>0 ……(19) のとき、処理点Pc(Xc、Yc)が直線DL1の重心P0(X0、Y
0)側にあると判定し得る。勿論一般に重心P0(X0
Y0)は三角形領域UAXの内側にあるから、(19)式の条
件が成立するような処理点Pc(Xc、Yc)の位置は、直線
DL1に対して内側にあるということができる。
同様の演算を、三角形領域UAXの他の辺を形成する直
線DL2及びDL3についても次式のように演算し、 F(Xc、Yc)=(Yc−Y2)(X3−X2)−(Y3−Y2)(Xc
−X2) ……(20) F(Xc、Yc)=(Yc−Y3)(X1−X3)−(Y1−Y3)(Xc
−X3) ……(21) その演算結果に基づいて(19)式について上述したよう
に、F(X0、Y0)と、F(Xc、Yc)との積が正であると
の判定結果が得られれば、処理点Pc(Xc、Yc)は三角形
領域UAXの3辺を構成する直線DL1、DL2、DL3の全てにつ
いて、重心P0(X0、Y0)と同じ側にあることになる。無
論一般に三角形の重心は3辺の全てについて内側にある
ことは明らかであるので、処理点Pc(Xc、Yc)が三角形
領域UAX内に存在すると判定することができる。
これに対して(18)式、(20)式、(21)式の値のう
ちの1つについて、次式 F(X0、Y0)・F(Xc、Yc)<0 ……(22) のように負の判定結果が得られると、処理点Pc(Xc
Yc)は直線DL1、DL2、DL3の何れか1つ又は、複数につ
いて重心P0(X0、Y0)とは反対側に存在することが分か
り、このとき処理点Pcは三角形領域UAXの内側にはない
ことが分かる。
このようにして処理点Pcの位置が、三角形領域UAXの
外側にあると判定されたとき、CPUは当該三角形領域に
ついての以後の補間演算を実行せずに、処理点Pcを内部
に含むような三角形領域UAXを見出すことができるま
で、新たな三角形領域UAXについての判定を繰返して行
く。
この結果ステツプSP13において処理点Pcが内部にある
三角形領域UAXを発見すると、CPUは次のステツプSP14に
移つて線形補間による可視又は不可視の決定処理を実行
する。この処理は、CPUがテーブル10の可視−不可視テ
ーブルTABLE4(第7図)から順次当該三角形の頂点P1
P2、P3について格納されている可視−不可視データを読
出し、第14図に示すように、デイスプレイの表示画面上
の位置P1、P2、P3に対応する可視−不可視データVI1、V
I2、VI3を垂直に立てる。そして可視−不可視データV
I1、VI2、VI3の先端に可視−不可視平面VPXを張る。こ
の可視−不可視平面VPXは、頂点P1、P2、P3の可視−不
可視データVI1、VI2、VI3の値によつて、可視−不可視
データVI1〜VI3の全部が「+1」の値をもつときには第
4図(A)に示すように三角形領域UAXに対して上方に
平行に延長する可視−不可視平面VPXが得られ、これに
対して可視−不可視データVI1〜VI3が全て「−1」のと
きには、第14図(B)に示すように、三角形領域UAXの
下方に延長する可視−不可視平面VPXが得られる。
これに対して、可視−不可視データVI1〜VI3のうちの
一部(例えばVI1及びVI2)が「+1」であり、かつ他部
(すなわちVI3)が「−1」である場合には、第14図
(C)に示すように可視−不可視平面VPXが三角形領域U
AXと交差することになり、その交差線LINを挟んで頂点P
1及びP2側の可視−不可視平面VPXが正となり、かつ境界
線LINを挟んで、頂点P3側の可視−不可視平面VPXの符号
が負になる。
従つて処理点Pcを通り、三角形領域UAX(従つてデイ
スプレイのラスタ表示画面)に垂直な直線LC1と可視−
不可視平面VPXとの交点を求め、その値VIpcを当該処理
点Pcの可視−不可視データとして補間する。
このようにすれば、表示すべき3次元の曲面から得た
データとして3つの頂点P1、P2、P3についての可視−不
可視データVI1、VI2、VI3を得さえすれば、表示画面上
の三角形領域UAXに含まれる全ての処理点Pc(これは表
示画面上のピクセルを表している)における可視−不可
視データを、処理点Pcを通る直線LC1と三角形平面でな
る可視−不可視平面VPXとの交点を演算する(これは線
形補間演算になる)ことによつて、簡易に得ることがで
きる。
因に当該線形補間演算は、平面と直線との解を求める
演算になり、簡易かつ一義的に解が求まることになる。
次に、CPUはステツプSP15に移つて、線形補間による
輝度の決定処理を実行する。この処理は、第15図に示す
ように、デイスプレイの表示画面上の三角形領域UAXの
頂点P1、P2、P3の輝度データI1、I2、I3に基づいて、三
角形領域UAXに含まれるピクセルでなる処理点Pcにおけ
る輝度Icを補間演算するもので、次の手順によつて演算
処理を実行する。
すなわち三角形領域UAXの頂点P1、P2、P3の輝度デー
タI1、I2、I3を、テーブル10の輝度テーブルTABLE2から
読出して、デイスプレイの表示画面上の対応する頂点
P1、P2、P3位置に垂直に立てる。そして輝度データI1
I2、I3の先端を結ぶ輝度平面BPXを張る。そして三角形
領域UAXに含まれる各ピクセルについての処理点Pcから
デイスプレイの表示画面に垂直に直線LC2を引き、当該
直線LC2と輝度平面BPXとの交点を求め、その交点におけ
る輝度平面BPXの値を処理点Pcの輝度Ipcと決定する。
このようにすれば、三角形領域UAXに含まれる全ての
ピクセルを順次処理点Pcとして選定して行けば、直線LC
2と三角形輝度平面BPXとの交点を求める線形補間演算を
実行することによつて3次元曲面から得た3つの輝度デ
ータから簡易に全てのピクセルについての輝度データを
得ることができる。
因にこの場合も、直線LC2と平面BPXとの解を求めるこ
とになるので、当該演算は簡易であり、かつその解は一
義的に決まることになる。
次に、CPUはステツプSP16において、補間演算による
距離の決定処理を実行する。この処理は、第16図に示す
ように、デイスプレイの表示画面上の三角形領域UAXに
含まれるピクセルについて、視点からの処理を補間演算
するもので、CPUは次の処理手順に従つて補間演算を実
行する。
すなわち先ず、デイスプレイの表示画面上の頂点P1
P2、P3についての距離データD1、D2、D3を、テーブル10
の距離テーブルTABLE3から読出して、頂点P1、P2、P3
置に垂直に立てる。そして距離データD1、D2、D3の先端
を結ぶように距離平面DPXを張り、処理点Pcを通り、か
つデイスプレイの表示画面と垂直な直線LC3と、距離平
面DPXとの交点を演算により求める。そしてこの交点に
おける距離平面DPXの値Dpcを当該処理点Pcの視点からの
距離データとして決定する。
かくしてこの場合にも、三角形領域UAXに含まれる全
てのピクセルを順次処理点Pcとして指定して行くことに
より、当該処理点Pcの距離データDpcを線形補間演算に
よつて得ることができる。この場合も、当該補間演算
は、直線LC3と距離平面DPXとの解を求めることになるの
で、簡易な演算により、一義的な解を求めることができ
る。
その後CPUは、ステツプSP17に移つて距離の比較によ
るピクセルデータの生成処理を実行する。この処理は、
デイスプレイの表示画面上の表示領域ARE(第11図)に
含まれる全てのピクセルについて、それぞれ距離データ
Dpcが最も小さい曲面に対応する輝度データIpc(第15
図)及び可視−不可視データVIpc(第14図)を集め、可
視データが得られかつ距離データDpcが最も小さい曲面
についての輝度データがデイスプレイ上に表示すべきピ
クセルデータとして生成される。
実際上CPUは、デイスプレイの各ピクセルに対応する
メモリセルを有するフレームバツフアメモリと、当該フ
レームバツフアメモリの各ピクセルに対応するデツプス
バツフアメモリとを有し、ステツプSP16において各ピク
セルに対する距離データDpcが決定されて行くとき、同
一ピクセルについて最も小さい距離データDpcが得られ
たとき、当該距離データをデツプスバツフアメモリの当
該ピクセルに対応するメモリエリアに記憶すると共に、
ステツプSP15において決定された輝度データIpcをフレ
ームバツフアメモリに書込んで行くようになされ、かく
して最も距離データDpcが小さい曲面から得られた輝度
データIpcがフレームバツフアメモリに書込まれること
になる。
かかるステツプSP12〜SP17の一連の演算処理は1つの
パツチに含まれるピクセルごとに実行され、CPUはステ
ツプSP17の処理が終了するごとにステツプSP18において
全てのパツチについての演算処理が終了したか否かを判
断し、否定結果が得られたとき再度ステツプSP12に戻つ
て新たなピクセルについてのデータの演算処理を繰返
す。これに対してステツプSP18において肯定結果が得ら
れれば、CPUはステツプSP19に移つて当該プログラムを
終了する。
(G4) 実施例の作用 第1図のデータ処理方法によれば、3次元空間にある
物体曲面を、所定の視点位置から見たときの透視変換画
像をデイスプレイの2次元表示画面上に変換表示するこ
とができるが、かくするにつき、3次元空間にある物体
の曲面を三角形の単位領域UA1及びUA2に切出してその3
つの頂点PXにおける物体表面情報を3次元空間における
データとして得ると共に、当該3つの頂点PXをデイスプ
レイのラスタ表示画面を形成する2次元平面に透視変換
した後、当該2次元平面に変換された頂点P1、P2、P3
置を使つて曲面から得た物体表面情報でなる三角形のデ
ータ平面を張ることによつて、表示画面上の三角形の領
域に含まれている各全てのピクセルについて、当該デー
タ平面から線形補間演算によつて画像データを得ること
ができる。
かくするにつき、3次元空間の物体の表面から2次元
平面に透視変換する際のデータとして、各単位領域につ
いて3つで済むので、変換演算時間を一段と短くするこ
とができる。そしてデータ平面から各ピクセルについて
の画像データを得るにつき、平面と直線との解を求める
演算を実行するだけで良いので、この補間演算は線形と
なり、解が一義的に決る簡易な演算で済む。
また第1図の画像表示方法によれば、2次元平面上の
三角形領域UAXを基準にしてデータ平面を形成するよう
にしたので、デイスプレイの表示画面上に表示される画
面に光源の位置に応じた陰影を容易に付けることがで
き、かくして曲面上の起伏を確実に表現することができ
る。
さらに第1図の画像表示方法によれば、2次元平面に
基づいて可視−不可視データ平面を張ることによつて、
当該2次元平面上の三角形領域UAX内に可視領域と不可
視領域とが存在する場合にも、各ピクセルについての線
形補間演算結果によつて可視領域と不可視領域との境界
を明確に判定することができ、これにより陰面処理を容
易に実現し得る。
またかかる陰面処理をするにつき、同一のピクセルに
ついて複数の可視データが得られたときは、曲面上の単
位領域UA1及びUA2から視点までの距離を表す距離データ
を用いて、最も距離が短い曲面についての画像データだ
けを有効なものと判断してこれを表示するようにしたこ
とにより、陰面処理を混乱なく確実に実行し得、かくし
て明確な遠近感を有する画像をデイスプレイの表示画面
上に得ることができる。
また第1図の画像表示方法によれば、2次元平面に透
視変換されて得られる三角形領域UAXについて補間演算
をするにつき、現在処理しているピクセルに相当する処
理点Pcがどの三角形領域UAXに属するものであるかを検
出するにつき、当該三角形領域UAXの3辺を構成する直
線DL1、DL2、DL3と、当該三角形領域UAXの重心P0とを用
いて、処理点Pcが重心P0側にあるは否かを判断するだけ
の演算処理によつて容易に確認することができるので、
全体としての演算処理時間を一段と短縮することができ
る。
そしてかかる画像変換処理を実行するに当つて、指定
された視点から見た3次元空間の物体に関するデータを
2次元平面に透視変換した結果、変換されたデータがあ
る表示領域ARE(第11図)を決定し、この表示領域に限
つて、以後の一連の画像表示処理演算(すなわち、処理
点がある三角形領域の決定、可視−不可視の決定、視点
からの距離の決定、可視表面の決定など)を実行するよ
うにしたことにより、全体としての演算時間を一段と短
縮し得る。
(G5) 変形例 なお上述の実施例においては、3次元空間の物体に関
するデータとして曲面で囲まれた物体の表面を表すデー
タを用いた場合について述べたが、これに限らず、平面
で囲まれた物体の表面を表すデータを用いる場合にも、
同様にして本発明を適用し得る。
H 発明の効果 以上のように本発明によれば、3次元空間にある物体
の表面を三角形の単位領域UA1及びUA2に切出して当該単
位領域UA1及びUA2の3つの頂点PXによつて当該単位領域
UA1及びUA2の物体表面情報を代表させるようにすると共
に、当該単位領域UA1及びUA2を単位として二次元表示画
面上への透視変換画像を得るようになされた画像表示方
法において、二次元表示画面上の各ピクセルがどの三角
形領域に含まれるかを、各三角形領域の重心と、3つの
辺とを用いて判定するようにしたことにより、補間演算
処理を一段と簡易化し得る。
【図面の簡単な説明】
第1図は本発明による画像表示方法の一実施例を示すフ
ローチヤート、第2図はその陰影処理方法の原理を示す
略線図、第3図及び第4図は陰面処理方法の原理を示す
略線図、第5図は三角形単位領域の切出し手順を示す略
線図、第6図は可視−不可視データの生成手順を示す略
線図、第7図は3次元空間にある物体の曲面から得た画
像情報を格納するテーブルを示す略線図、第8図は距離
データの生成手順を示す略線図、第9図は輝度データの
生成手順を示す略線図、第10図は透視変換手順を示す略
線図、第11図は表示領域の決定手順を示す略線図、第12
図は表示領域内の頂点データの抽出手順を示す略線図、
第13図は処理点が三角形領域にあるか否かの判定をする
手順を示す略線図、第14図は可視−不可視データの補間
手順を示す略線図、第15図は輝度データの補間手順を示
す略線図、第16図は距離データの補間手順を示す略線図
である。 1、4、6……物体、1A、4A、6A……曲面、2……光
源、3……視点、11……表示画面。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】3次元空間にある物体の表面を所定の視点
    位置から見たときの当該表面に関するデータを、デイス
    プレイの2次元表示画面上に変換表示する画像表示方法
    において、 (a) 上記物体の表面を三角形の単位領域に切出し、
    当該三角形の単位領域の3つの頂点でなる第1の頂点に
    おける物体表面情報でなる第1のデータを得、 (b) 上記第1のデータのうちの上記第1の頂点の位
    置を表す位置データを、上記視点位置に基づいて、デイ
    スプレイの表示画面に相当する2次元平面に透視変換し
    て、上記第1の頂点に対応する上記2次元平面上の第2
    の頂点の位置を表す第2のデータを得、 (c) 上記第2のデータにより表される3つの頂点の
    うち2つの頂点をそれぞれ通る第1、第2、及び第3の
    直線によつて囲まれる三角形領域の重心を求め、 (d) 上記表示画面のピクセルでなる処理点の位置
    が、上記第1、第2、及び第3の直線に対して、上記重
    心の位置と同じ側にあるか否かをそれぞれ判定し、その
    結果第1、第2、及び第3の直線に対して全て重心と同
    じ側にあるとの判定結果が得られたとき、上記処理点が
    上記三角形領域に含まれるピクセルであると決定し、 (e) 当該決定された三角形領域の上記第2の頂点位
    置に上記第1のデータに含まれる物体表面情報データを
    垂直に立てて、その先端に三角形のデータ平面を張り、 (f) 上記表示画面の上記三角形領域に含まれる上記
    処理点に垂直に立てた直線と、上記データ平面との交点
    を補間演算によつて求め、 (g) 上記交点における上記データ平面のデータを、
    上記デイスプレイの表示画面上の上記処理点についての
    画像データとして決定する ことを特徴とする画像表示方法。
JP3707985A 1985-02-26 1985-02-26 画像表示方法 Expired - Fee Related JPH0814852B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP3707985A JPH0814852B2 (ja) 1985-02-26 1985-02-26 画像表示方法
CA000502519A CA1260638A (en) 1985-02-26 1986-02-24 Method of displaying image
AT86102358T ATE97246T1 (de) 1985-02-26 1986-02-24 Verfahren zur bildanzeige.
DE86102358T DE3689271T2 (de) 1985-02-26 1986-02-24 Verfahren zur Bildanzeige.
EP86102358A EP0193151B1 (en) 1985-02-26 1986-02-24 Method of displaying image
US06/832,990 US4819192A (en) 1985-02-26 1986-02-24 Method of displaying image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3707985A JPH0814852B2 (ja) 1985-02-26 1985-02-26 画像表示方法

Publications (2)

Publication Number Publication Date
JPS61195469A JPS61195469A (ja) 1986-08-29
JPH0814852B2 true JPH0814852B2 (ja) 1996-02-14

Family

ID=12487540

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3707985A Expired - Fee Related JPH0814852B2 (ja) 1985-02-26 1985-02-26 画像表示方法

Country Status (1)

Country Link
JP (1) JPH0814852B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268677A (en) * 1988-08-04 1993-12-07 The Grass Valley Group, Inc. Reduced viewport for graphics display

Also Published As

Publication number Publication date
JPS61195469A (ja) 1986-08-29

Similar Documents

Publication Publication Date Title
CA1260638A (en) Method of displaying image
US7256781B2 (en) Image processing apparatus and method of same
CN114820906B (zh) 图像渲染方法、装置、电子设备及存储介质
CN111354062A (zh) 一种多维空间数据渲染方法及装置
CN107330964B (zh) 一种复杂三维物体的显示方法及系统
JP5055214B2 (ja) 画像処理装置、画像処理方法
CN101763649B (zh) 一种增强模型轮廓的表面点绘制方法
Chen et al. Manipulation, display, and analysis of three-dimensional biological images
JP3463755B2 (ja) 球状バッファを用いるコンピュータ生成画像の生成方法
JP3124999B1 (ja) レンダリング方法及び装置、ゲーム装置、並びに仮想空間内のオブジェクトの陰影に関するデータを計算するためのプログラムを格納するコンピュータ読み取り可能な記録媒体
CN105205861A (zh) 基于Sphere-Board的树木三维可视化模型实现方法
CN109461197B (zh) 一种基于球面uv和重投影的云实时绘制优化方法
US9401044B1 (en) Method for conformal visualization
US5793372A (en) Methods and apparatus for rapidly rendering photo-realistic surfaces on 3-dimensional wire frames automatically using user defined points
JPH03202981A (ja) 三次元図形表示方法及びシステム
CN117011492B (zh) 图像渲染方法、装置、电子设备及存储介质
JPH03250273A (ja) 立体モデル描画方法
JPH0814852B2 (ja) 画像表示方法
KR100295709B1 (ko) 스폿라이트 특성 형성 방법 및 이것을 이용한 화상 처리 시스템
CN115131513A (zh) 一种三维地形裁剪方法、装置、设备及可读存储介质
JPS61195467A (ja) 画像表示方法
JPS61195468A (ja) 画像表示方法
CN117333598B (zh) 一种基于数字场景的3d模型渲染系统及方法
JPS63213079A (ja) 画像生成装置
Xu et al. Urban building dis-occlusion in 3D graph visualization

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees