JPH0634239B2 - 3次元画像表示装置 - Google Patents

3次元画像表示装置

Info

Publication number
JPH0634239B2
JPH0634239B2 JP13834086A JP13834086A JPH0634239B2 JP H0634239 B2 JPH0634239 B2 JP H0634239B2 JP 13834086 A JP13834086 A JP 13834086A JP 13834086 A JP13834086 A JP 13834086A JP H0634239 B2 JPH0634239 B2 JP H0634239B2
Authority
JP
Japan
Prior art keywords
memory
basic
csg
pixel
buffer memory
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
JP13834086A
Other languages
English (en)
Other versions
JPS62296282A (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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP13834086A priority Critical patent/JPH0634239B2/ja
Publication of JPS62296282A publication Critical patent/JPS62296282A/ja
Publication of JPH0634239B2 publication Critical patent/JPH0634239B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、多面体の色彩陰影付画像をラスター走査型C
RT上に生成表示する3次元画像表示装置に関するもの
である。
(従来の技術) 3次元の色彩陰影付画像をラスター走査型CRT上に生
成表示する方式として、多面体モデルのzバッファ法を
用いた表示処理方法がある。その表示処理手順を以下に
述べる。
(I)形状モデリング……物体形状を3次元世界座標系
内に定義する。多面体モデルでは、物体形状を頂点、稜
線、面の座標値やその隣接関係により表現する。物体表
面が曲面を含む場合は、曲面を多角形に分割して近似す
る。多面体モデルの作成法は後に述べる。
(II)投影変換……世界座標系内に投影面、視点、投影
方法(平行投影か中心投影か)を指定し、投影面上に設
定した画面枠を基準とした3次元の画面座標系に投影変
換する。
世界座標系から画面座標系への投影変換は、座標軸の回
転、平行移動、画面座標へのスケーリング、及び透視変
換の合成されたもので、後に述べるように4×4の行列
乗算と透視除算からなる。視点から画面枠を通して見た
投影面の背後の空間部分は画面座標系の直方体の内部に
写像される。画面座標系のz値を深度と呼び、隠面消去
に用いる。多面体モデルでは、多面体のすべての頂点を
投影変換すればよい。投影変換では直線は直線に変換さ
れ、内分比を変えないという性質をもつので画面座標系
内部での線形内挿計算により、もとの多面体の稜線や面
を描画でき、深度も1点1点正しく求められる。座標変
換の結果、クリッピングや裏面除去を行うことがある。
クリッピングは投影面上に矩形の窓を設定し、投影図の
窓枠内部のみを表示するために、多面体を囲む各々の多
角形について窓枠の外部にはみ出した多角形の全体また
は一部を除去する処理である。裏面除去は、視点から見
て明らかに不可視となる裏面の多角形を検出し除去する
処理である。
(III)走査変換……画面座標系で頂点の系列として表
現された多角形を塗りつぶして表示するために、該多角
形を画素の系列に変換する。それには、多角形の頂点座
標からその稜線上の画素を補間して生成し、さらに多角
形の内部の画素を補間して生成する。隠面消去のために
は、画素毎に投影面から当該多角形に至る深度zも計算
する。
(IV)隠面消去を伴う画像表示……複数個の多角形が表
示画面上で重なる場合には視点に最も近い多角形を優先
的に表示する必要がある。この隠面消去を画素単位に行
うのがzバッファ法である。zバッファ法では、2次元
の画素アドレス(x,y)に対して、三原色強度R,G,B
を記憶する画像メモリ(フレームバッファとも呼ぶ)の
他に、深度zを記憶するzバッファメモリ(デプスバッ
ファとも呼ぶ)を使用し、予め画像メモリを背景色で、
zバッファメモリを深度の最大値zmaxで満たしてお
く。多角形を走査変換して三原色及び深度をもつ一連の
画素(Xi,yi,zi,Ri,Gi,Bi)i=1,2,3,…に展開した
時、画像メモリの(xi,yi)番地に三原色強度Ri,Gi,Bi
を書き込む前に、zバッファメモリの(xi,yi)番地の
深度z(xi,yi)を読み出してzと比較し、z
のときに限り前記Ri,Gi,Biの書き込みを行うと共
に、zM(xi,yi)の値をzで更新する。従ってzバッ
ファメモリは画素毎に現在までに描画された値も視点に
近い多角形の深度を記憶し、以後これより深度の大きい
多角形の画素が来てもその書き込みを禁止する機能を有
する。すべての多角形の走査変換されたすべての画素に
ついて以上の処理を順次実行すれば、最終的に正しく隠
面消去され、可視画素の深度が付与された3次元画像が
RM,GM,BM,zMで得られる。(R,G,B)の値の付与の仕方と
しては、多角形毎に異なる値を予め与えられる方法、光
源が指定された時点で多角形毎に反射強度を計算し陰影
を付けて表示する方法、頂点毎に反射強度を計算し多角
形内部で補間して滑らかな陰影を付ける方法等がある。
以上の表示方式はハードウェアによる高速処理に向いて
おり、画像メモリの他に座標変換器、走査変換器、zバ
ッファメモリを備えた3次元画像表示装置が提案されて
いる。第18図にこの種の従来の3次元画像表示装置の
構成を示す。同図において、ホストプロセッサ21は後
述するように表現変換の処理における多大な計算を実行
し、その結果をホストインタフェース22を介して表示
装置側に送出する。制御プロセッサ23は装置各部を制
御して前述した一連の表示処理を実行させる。図形メモ
リ24は多面体データを記憶し、座標変換器25は頂点
の投影変換を行い、走査変換器26は多角形の走査変換
を行い、メモリ更新器27はzバッファメモリ29を使
って隠面消去を行いながら画像メモリ28に3次元画像
を作り、CRT30に表示させる。画像メモリ28及び
zバッファメモリ29の役割は既述したとおりである。
次に多面体モデルの作成方法について従来採られていた
方法を説明する。第19図は2つの直方体AとBの空間
的な論理演算によって合成される多面体の形状を示す図
で、同図(a)はAとBの位置関係を示し、同図(b)は論理
和A∨B、同図(c)は論理積A∧B、同図(d)は論理差A
−Bによる結果である。通常は、システムの利用者が
A,Bのような基本立体の形状と寸法、移動と回転の
両、論理演算記号を入力すると、多面体モデリングシス
テムは両多面体を座標変換して位置関係を設定し、両多
面体の交差稜線をすべて求め、目的とする合成体を囲む
多角形をすべて求めることにより多面体モデルを作成す
る。出来上がった多面体にさらに第3,第4の基本立体
や別の合成体を逐次合成して次第に複雑な形状の多面体
を形成して行く。第20図は4つの基本立体A1,A2,A3,A
4の合成方法の一例を示す図で、CSG(Constructive
Solid Geometory)表現またはCSGトリーと呼ばれる
立体表現法である。これに対し、多面体を囲む多角形の
集合による表現は境界表現(Boundary Representatio
n)と呼ばれる。CSG表現から境界表現への変換を行
う処理には多大の計算量が必要であるから、通常はこの
処理を第18図のホストプロセッサ21において実行
し、境界表現による多面体データとしてホストインタフ
ェース22から図形メモリ24に転送し、表示装置側で
投影変換以後の表示処理を行っている。
(発明が解決しようとする問題点) しかしながら、以上述べたような処理方式では2つの多
面体の交差稜線を求めるために両多面体を囲む多角形の
すべての組合わせについて3次元的な交差を調べる必要
があるので、利用者が多面体のCSG表現を入力してか
らその3次元画像を得るまでに多大の時間を費やすこと
になり、この応答性の悪さが対話型の多面体モデリング
システムの1つの大きな問題点であった。
本発明はこのような従来技術の問題点を解決するために
なされたものであって、応答性の優れた多面体モデリン
グシステムを構築できるように、CSG表現多面体を直
接表示できる3次元画像表示装置を提供することを目的
とする。
(問題点を解決するための手段) 本発明の2次元画像表示装置は、前記従来技術の問題点
を解決するため、多面体のCSG表現データとその構成
要素である基本立体データとを記憶する第1の図形メモ
リと、基本立体データに対し、当該CSG表現及び視点
情報にしたがって座標変換及び投影変換を施す座標変換
器と、変換された基本立体データを記憶する第2の図形
メモリと、基本立体を囲む多角形を走査変換して三原色
強度及び深度をもつ画素データに分解する走査変換器
と、画面上の画素毎に3次元画像の三原色強度を記憶す
る画像メモリと、画素毎に深度を一時記憶する第1のz
バッファメモリと、CSG表現における基本立体のうち
の1つだけの前方面または後方面を走査変換したときの
構成画素の深度のみを一時記憶する第2のzバッファメ
モリと、可視となる画素をCSG表現の論理式にしたが
って検出するために、その基本立体の前方面または後方
面の構成画素の各々につきそれが他の基本立体の内部か
外部かを判定してその結果を記憶する論理演算メモリ
と、深度の付与された画素データを隠面消去しつつ画像
メモリ及び第1のzバッファメモリに書き込む操作、及
びCSG論理演算のために第2のzバッファメモリ及び
論理演算メモリの制御を行うメモリ更新器とを設け、可
視とされた基本立体の構成画素に対し三原色強度及び深
度を求め、該データを隠面消去しつつ画像メモリ及び第
1のzバッファメモリに書き込むことにより、CSG表
現による多面体の3次元画像を表示するようにしたもの
である。
(作用) 本発明によれば以上のように3次元画像表示装置を構成
したので、各技術手段は次のように作用する。
第1の図形メモリは基本立体データ及び多面体のCSG
表現データを記憶する。座標変換器は第1の図形メモリ
から基本立体データを読み出し、それに座標変換及び投
影変換を施す。変換された基本立体データは第2の図形
メモリに記憶される。走査変換器は基本立体を囲む多角
形を走査変換して三原色強度及び深度の画素データを得
る。この画素データは、メモリ更新器の働きにより、画
像メモリ及び第1のzバッファメモリに隠面消去しなが
ら書き込まれる。すなわち画像メモリは画面上の画素毎
に3次元画像の3原色強度を記憶し、第1のzバッファ
メモリは画素毎に深度を記憶する。ところで本発明では
第2の図形メモリに記憶されている変換された基本立体
データより多面体を合成するわけであるが、この合成の
ため、第2のzバッファメモリは基本立体のうちの1つ
だけの前方面または後方面を走査変換した画素の深度の
みを記憶し、一方論理演算メモリは1の基本立体の各画
素につきそれが他の基本立体の内部か外部かを判定した
結果を保持する。そしてメモリ更新器の働きにより、こ
れらの情報を参照しつつ可視となる画素がCSG論理演
算にしたがって求められる。そしてメモリ更新器の操作
により、可視と判定された基本立体の三原色強度及び深
度のデータが隠面消去を行いながら画像メモリ及び第1
のzバッファメモリに正しく書き込まれる。したがっ
て、CSG表現から境界表現への変換をせずに多面体画
像を直接表示できるようになり、前記従来技術の問題点
が解決される。
(実施例) 以下本発明の一実施例について詳細に説明する。
第1図は本実施例の3次元画像表示装置の構成を示すブ
ロック図である。図中1はホストプロセッサ、2はホス
トインタフェース、3は制御プロセッサ、4は第1の図
形メモリ、5は第2の図形メモリ、6は座標変換器、7
は走査変換器、8はメモリ更新器、9は画像メモリ、1
0は第1のzバッファメモリ、11は第2のzバッファ
メモリ、12は論理演算メモリである。この装置を第1
8図の従来の装置と比較すると、第2の図形メモリ5、
第2のzバッファメモリ11及び論理演算メモリ12を
追加した点が主として相違している。第1図の3次元画
像表示装置を使用すれば境界表現の多面体モデルの他、
CSG表現の多面体モデルの画像も生成できる。以下、
CSG表現された多面体を本装置を使用して表示処理す
る手順を詳細に説明する。
第1図の第1の図形メモリ4には表示すべきすべての3
次元図形データが記憶されている。これらの図形データ
は通常は3次元世界座標系で既述されており、順次読み
出されて座標変換器6による投影変換と走査変換器7に
よる走査変換を施され、メモリ更新器8の働きにより画
像メモリ9及び第1のzバッファメモリ10に深度の付
与された3次元画像として合成されて行く。CSG表現
の多面体はこれらの図形の1表現形態として発生するも
ので、このときCSG多面体を画像メモリ9に正しく合
成表示する必要がある。
CSG表現の多面体は第20図に例示されるような木
(トリー)構造をもつ。CSGトリーの葉に位置する
「基本立体」は第3図のように定義される。第3図(a)
のように基本立体に固定した座標系O−XYZにおい
て、基本立体の各頂点V〜Vの座標を第3図(b)の
ように定義し、基本立体を囲む各面S〜Sを第3図
(c)のように頂点の系列として定義する。各面は多角形
であって基本立体の外部から見て反時計回りになるよう
に頂点を順に並べたものとする。第20図のCSGトリ
ーの枝に位置する「変換」は基本立体または合成途中の
立体(以下これらを単に立体と呼ぶ)の座標変換を指定
するもので、拡大,縮小,平行移動,回転の組合せが許
される。この変換は次式のようなベクトルとマトリクス
の乗算である。
第20図のCSGトリーの節に位置する「合成」は座標
変換を受けた2つの立体に和,積,差のいずれかの2項
論理演算を施すものである。第20図では基本立体A1,A
2に「合成1」が施され、基本立体A3,A4に「合成2」が
施され、これらの合成体にさらに「合成3」が施されて
最終的な合成体が得られる。「変換7」はこの合成体を
世界座標系内のしかるべき位置に置き、または運動させ
る機能をもつ。この合成体はさらに「投影変換」を受け
て画面上に表示される。ところが、この合成体の表面は
基本立体A1,A2,A3,A4のいずれかの表面であるから、第
2図に示すように基本立体A1,A2,A3,A4を個別に画面座
標系まで変換した立体をそれぞれA1S,A2S,A3S,A4S
し、これらの変換された基本立体を第20図と同じ合成
手続きにより合成すればよい。
画面座標系に変換された基本立体データA1S,A2S,A3S,A
4Sは第2の図形メモリ5に記憶される。画面座標系os-x
syszsにおける基本立体データの1つ(例えばA1S)を
選び第4図に例示する。第4図(a)は同座標系における
1Sの空間位置を示す図である。第4図(b)の頂点座標
は次式により求められる。
〔xsiysizsiwsi〕=〔XiYiZi1〕・M・M・M・M 但し、i=1,2,…,8 … ここにM1,M5,M7,Mpはそれぞれ「変換1」,「変換
5」,「変換7」,「投影変換」を表わす4×4の行列
であって、M1,M5,M7は式における行列と同じ形をも
つ。Mは平行投影の場合は式における行列と同じ形
をもつが、中心投影の場合は第4列が〔0,0,0,1〕では
ない。基本立体Aの座標変換を行うにはまず行列同志
の乗算を行って M1S=M・M・M・M … を求めておき、行列M1Sを乗算する。M1Sは平行投影の
場合は式の行列と同じ形をもつから式の結果はwsi
=1となるが、中心投影の場合はwsi=1が成立せず、
次式による除算 を行い、これらの商の値を改めてxsi,ysi,zsiとする必
要がある。
第4図(c)は画面座標系に変換された基本立体の各面S
に関するデータで、各面Sにつき、頂点系列の他、
三原色強度Ri,Gi,Bi及び外向き法線ベクトルのz方向
成分n′ziをもっている。(R,G,B)の値として陰影を
付ける場合には、多面体全体に一定の色相(r,g,b)を
指定し、多面体が世界座標系内に置かれた時、ある光源
から照射した光の反射強度Iを多面体の各面Sに対
して計算し、 R=r×I,G=g×I,B=b×I
… をもって(Ri,Gi,Bi)とする。この処理は以下の手順で
行われる。まず、 〔xwiywizwi1〕=〔XiYiZi1〕・M・M・M
… により、基本立体データを世界座標系まで座標変換す
る。その結果を第5図に示す。多面体の各面Sの反射
強度Iはその面に立てた法線と光の入射方向との傾角
(入射角)θの余弦によって決まるから、各面S
単位法線ベクトルn=(nxi,nyi,nzi)を求め、これ
と光源方向への単位ベクトルl=(lx,ly,lz)から I=Icosθ=Io(lxnxi+lynyi+lznzi) …
を求める。ここにIは光源の強度、θは入射角を示
す。面の法線ベクトルはその上の3点の座標値から計算
される。例えば第5図(a)に示すように面Sの外向き
単位法線ベクトルn=(nx1,ny1,nz1)を求めるに
は、反時計回りの3つの頂点V,V,Vを用いて
次のように計算する。
X1=(yw2-yw1)(Zw3-zw1)−(yw3-yw1)(Zw2-
zw1) … Ny1=(zw2-zw1)(xw3-xw1)−(zw3-zw1)(xw2-
xw1) … Nz1=(xw2-xw1)(yw3-yw1)−(xw3-xw1)(yw2-
yw1) … 各面Sの外向き法線ベクトルと反射強度の結果を第5
図(c)に示す。θ>180°の場合、式による反射強度
が負の値をとり、その面は光源に対して裏となる
が、符号を反転した非負値−Iはその面の内面を照射
する場合の反射強度を示している。こうして求められた
符号付の反射強度Iに式により(r,g,b)を乗じた
ものが第4図(c)における(Ri,Gi,Bi)である。また、
平行投影の場合には、法線ベクトルを次式により画面座
標系に投影変換し、 〔n′xi n′yi n′zi 1〕 =〔nxi nyi nzi 1〕・M … によって、中心投影の場合には画面座標系に投影変換さ
れた頂点座標を用いて式〜によって、n′ziのみを
求めて第4図(c)に示すように記憶すれば、n′ziの符
号は基本立体の外面が視点に対して表か裏かを示してい
る。n′zi<0のときこの面は視点側を向いている表面
であるから前方面と呼び、n′zi>0のときこの面は視
点と反対側を向いている裏面であるから後方面と呼ぶ。
単一の多面体では前方面のみを表示すればよいが、CS
G表現多面体では第19図(d)における立体Bのように
基本立体の後方面が合成体の表面になり得るから、この
ような基本立体については後方面を表示する必要があ
る。
次に画面座標系に変換された基本立体データA1S,A2S,A
3S,A4Sを使って合成体の画像を構成する方法を説明す
る。以後の説明では、A1S,A2S,A3S,A4Sを改めてA1,A2,A
3,A4と書き、画面座標系においてA1,A2,A3,A4はいずれ
も凸多面体であると仮定する。また、画面座標系はo−
xyzと記す。
まず最も簡単な場合として、2つの凸多面体A1,A2
和,差,積の表示方法を順に述べる。第6図は和A
の、y座標が一定の走査線を含む水平面(走査平
面)による断面図である。多面体A1,A2の断面は凸多角
形であって、斜線を施した領域が多面体A∨Aの内
部である。この図の白丸印及び黒丸印・は多面体A
及びAの前方面のみを走査変換した1行分の深度の付
与された画素を示している。視点はz軸上負の無限遠点
にあるから・印の画素が可視、印が不可視となる。ま
たA1,A2の後方面が不可視となることは第6図から明ら
かである。従ってA∨Aを表示するには、まずA
の前方面を順次走査変換して画像メモリ9及び第1のz
バッファメモリ10に隠面消去を伴う書き込みを行い、
次にAの前方面について同じ処理を行えばよい。
第7図は2つの凸多面体A1,A2の積A∧Aの走査平
面による断面図を示している。第7図(a)はAの前方
面の画素を印及び・印で示し、このうちAの内部に
ある・印の画素がA∧Aの前方面上にあることを示
している。第7図(b)はAの前方面のうち・印の画素
がA∧Aの前方面上にあることを示している。従っ
て合成体A∧Aを表示するには、AとAの前方
面を走査変換し、第7図(a),(b)における・印の画素を
検出し、第1図の画像メモリ9及び第1のzバッファメ
モリ10に隠面消去を伴う書き込みを行えばよい。・印
の画素を選び出すためには、第2のzバッファメモリ1
1、及び論理演算メモリ12を使用する。
の前方面のうち、Aの内部を検出し表示する手順
を第8図に示す。最初にステップ101で第2のzバッ
ファメモリ11全体をz座標の最大値zmaxで満たす。
次にステップ102でAの前方面を走査変換し、画素
列(Xi,yi,zi)i=1,2,…を得たとき、第2のzバッフ
ァメモリ11の(xi,yi)番地にzを書き込む。すな
わちz→z(xi,yi)とする。次にステップ103
で論理演算メモリ12全体を0で満たす。そして、ステ
ップ104でAの前方面を走査変換し、画素列(xi,y
i,zi)i=1,2,…を得たとき、第2のzバッファメモリ
11の(xi,yi)番地の内容z(xi,yi)とzを比較
し、z(xi,yi)が成立すれば論理演算メモリ
12の(xi,yi)番地の値C(xi,yi)を1だけ増加さ
せる。次にステップ105でAの後方面を走査変換
し、画素列(xi,yi,zi)i=1,2,…を得たとき、z
(xi,yi)が成立すればC(xi,yi)を1だけ減少
させる。その結果、Aの前方面の画素のうち、A
前方面の背後にあり、かつAの後方面の手前にあるも
ののみがC=1の値を有し、その他の画素はC=0
となる。すなわち第7図の・印の画素はC=1とな
る。そこでステップ106で多面体Aの前方面を再び
走査変換し、三原色強度と深度を含む画素列(xi,yi,
zi,Ri,Gi,Bi)i=1,2,…を得たとき、C(xi,yi)=
1かつz<z(xi,yi)ならばz→z(xi,
yi),R→R(xi,yi),G→G(xi,yi),B
→B(xi,yi)の書き込みを行う。その結果、A
の前方面のうちAの内部及び境界の部分が隠面消去を
伴って画像メモリ9及び第1のzバッファメモリ10に
書き込まれる。以後、このような隠面消去を伴うメモリ
書き込みを単に「表示する」と記す。
次に、Aの前方面のうち、Aの内部を検出し表示す
る。その手順は第8図においてAとAを交換したも
のである。以上により多面体A∧Aが表示される。
第9図は2つの凸面体A1,A2の差A−Aの走査平面
上の断面を示している。同図(a)はAの前方面のうち
の外部にある画素・印がA−Aの前方面である
ことを示し、同図(b)はAの後方面のうちAの内部
にある画素・印がA−Aの前方面であることを示し
ている。Aの前方面のうちAの外部を表示する手順
は第8図のステップ106において、C=0かつz
<zのとき、zi,Ri,Gi,Biの書き込みを行えばよい。
の後方面のAの内部を表示する方法も同様であ
る。この場合、Aの内面はA−Aの外面になって
いる。
合成体の表面の三原色強度Ri,Gi,Biの値を決定するには
以下の注意が必要である。第4図(c)に記載されている
(Ri,Gi,Bi)の値は基本立体の外面に対する三原色強度
を符号付きで示しているので、その基本立体の外面を表
示する場合には、(Ri,Gi,Bi)の値が非負であればその
まま、(Ri,Gi,Bi)が負であれば(0,0,0)に設定す
る。また、A−AにおけるAのようにその基本立
体の内面を表示する場合には、(Ri,Gi,Bi)の符号を反
転して(-Ri,-Gi,-Bi)とし、これらの値が非負であれ
ばそのまま、負であれば(0,0,0)に設定する。しかし
この方法では光源に対して裏向きの面は黒レベルで表示
されることになるので、これを次のような方法で避け
る。光源からの直射光Iによる散乱反射強度I co
に一定の周囲光強度I′を加え、式の代わり
に I=I cosθ+I′ … を反射強度とする。多面体の色相(r,g,b)にI′
乗じた R′=r×I′,G′=g×I′,B′=b
×I′ … を前記のように得られた非負の強度(Ri,Gi,Bi)に加算
した(R+R′,G+G′,B+B′)を
周囲光の加味された三原色強度として画像メモリ9に書
き込む。一般に合成体の構成要素である各基本立体の外
面を表示すべきか内面を表示すべきかは、後述するよう
にCSGトリーを座標系に変換したとき、基本立体に反転
記号が付いているか否かより決定できるから、上記の各
面の三原色強度の計算は座標変換直後に実行し、その結
果を第4図(c)の(Ri,Gi,Bi)として第2の図形メモリ
5に記憶すればよい。
次に3つの凸多面体A1,A2,A3の合成体の表示方法を種々
の合成式について説明する。第10図(a)はA∨A
∨Aの走査平面による断面を示しており、これを表示
するにはA1,A2,A3の外面を順次走査変換して表示すれば
よい。第10図(b)はA∧A∧Aの断面を示して
おり、これを表示するには、Aの外面のA∧A
部、Aの外面のA∧A内部、Aの外面のA
内部を順に表示すればよい。この操作を次式のよう
に表わす。
∧A∧A=A⊆(A∧A)+A⊆(A∧A)+A⊆(A
∧A) … ここにA⊆(A∧A)はAの外面のうちA
の内部を示しており、+記号はこれによって結合さ
れた各項を順次表示すべきことを示している。A
(A∧A)を第2のzバッファメモリ11及び論理
演算メモリ12を使って求める手順を第11図に示す。
以下の説明では、論理演算メモリ12の1画素に対する
1語を16ビットとして第12図に示すようにCs,Cs1,C
s2,…,Cs8に区分したものを使用する。まずステージ
201で多面体Aの前方面を描き、その深度をz
書き込む。ステージ202でAの前方面及び後方面を
描き、Aの各画素がAの内部にあるか外部にあるか
を判定し、その結果をCs1に書き込む。ステージ203
でAの前方面及び後方面を描き、Aの各画素がA
の内部にあるか外部にあるかを判定し、その結果をCs2
に書き込む。ステージ204でCs1∧Cs2→Cなる論
理演算を画素毎に実行し、A∧Aの内部にある画素
を検出する。ステージ205でAの前方面のR,G,B,z
を求め、C=1の画素のみを表示する。A2,A3につい
ても同様の方法で表示する。
第10図(c)は(A∧A)−Aの断面を示す。こ
れを表示するにはAの外面のA内部、A
外面のA内部、Aの内面のA∧A内部を
順に表示すればよい。この操作は次式のように表わされ
る。
(A∧A)−A=A⊆(A)+A⊆(A)+
(A∧A) … ここにA⊆(A)におけるは多面体A
の外部領域を示しており、⊆(A∧A)におけ
は多面体Aの内面を示している。内面を表示す
るにはその後方面のみを表示すればよい。A⊆(A
)をz及びCを使って求める手順は第11図
におけるステージ204をCs1s2→Cと変更した
ものである。
第10図(d),(e),(f),(g),(h)の合成体はそれぞれ
以下の操作で表示される。
−A)−A=A=A⊆()+⊆(A
)+⊆(A) …… A∨A)∧A=A⊆A+A⊆A+A
(A∨A) …… (A∧A)∨A=A⊆A+A⊆A+A
…… (A∨A)−A=A+A
⊆(A∨A) …… A−(A−A)=A∨A)=A⊆(∨A)+⊆A
+A⊆A …… 第10図(b)〜(h)の太線は式〜によって表示すべき
基本立体の境界面を示したもので前方面,後方面の区別
はしていない。
次に、4個の多面体のCSGトリーの表示方法を一例を
あげて説明する。第13図(a)は4個の凸多面体A
,A,Aの論理式 F=(A∨A)−(A∧A) … による合成体FのCSGトリーを示す。表示処理は次の
3ステップから成る。
(1)CSGトリーの標準形への変換 (2)反転表,関数表,干渉表の作成 (3)基本立体の順次表示処理 この中で(1),(2)の処理は、基本立体毎の座標変換以前
に実行してもよい。
第13図(a)のCSGトリーを標準形に変換した結果を
第13図(b)に示す。これは式の論理式を次式のよう
に差演算を含まない形に変換したもののCSGトリーで
ある。
F=(A∨A)∧() … 標準形への変換方法を第14図に示す。まずCSGトリ
ー中のすべての差演算を第14図(a)のように積演算と
反転演算に分解する。次にこれによって生じた反転演算
記号をトリーに沿って基本立体まで移動する。第14図
(b),(c)に示すようにトリーの節で和や積に出合った
ら、ドモルガンの法則に従って和を積に、積を和に変え
ることにより、分岐しながら移動できる。第14図(d)
に示すようにトリーの枝で別の反転演算に出合ったなら
ば相殺消去する。最後に第14図(e)に示すように反転
演算子の付いている基本立体Aを反転記号を使っ
て表現する。
第13図(b)の標準形CSGトリーを使って、反転表,
関数表,干渉表を作成した結果を第15図に示す。第1
5図(a)の反転表は基本立体毎に、反転=1,非反転=
0の区別を示す。第15図(b)の関数表は式または式
を真理値表として展開したものである。第16図はこ
の関数表を図示したものであり、A〜Aの包含関係
とそれにより区分された各領域にA4A3A2A1の4ビットの
符号を記入し、Fが真となる領域に斜線を施したもので
ある。この図から合成体Fを表示する操作は次式で表わ
される。
F=A⊆()+A⊆()+⊆(A∨A)+
⊆(A∨A) …… すなわちAの外面の内部,Aの外面の
内部、Aの内面のA∨A内部、Aの内
面のA∨A内部を順次表示すればよい。第16図の
太線は式に従って表示すべき基本立体の境界部分を示
している。式でAとAが相互干渉を不要としてい
るのは第13図(b)でAとAが和演算∨で結ばれて
いるためであり、AとAとの関係も同様である。こ
のような基本立体間の相互干渉を示す表が干渉表であ
り、結果を第15図(c)に示す。これを作成するには、
対角要素が0,非対角要素が1の行列を作り、第13図
(b)のCSGトリーにおいてAからFに向かって進
み、和演算ノードに出合ったらその和の相手側に属する
すべてのAとの関係を不干渉とすべく行列の対応要素
に0を書き込む。これをA2,A3,A4についても行う。
第15図の3つの表を用いて基本立体の順次表示を行う
手順を第17図に示す。これは3つの多面体のCSGト
リーの表示手順を4個の多面体の場合に拡張したもので
ある。ステップ303及び317では第15図(a)の反
転表を参照し、Aの前方面または後方面のいずれかを
走査変換する。ステップ309では第15図(c)の干渉
表を参照し、値が0ならばAとAの干渉処理を省略
する。ステップ316では式の合成規則に従ってCs1,
Cs2,Cs3,Cs4の論理演算を行っているがそれには第15
図(b)の関数表をメモリ更新器8内に記憶しておき、A
=Cs1,A=Cs2,A=Cs3,A=Cs4として
この表を索引し、Fの値を求め、Cに書き込めばよ
い。第12図のCs1〜Cs8を使用すれば、最大8個まで
の基本立体から合成された合成体を以上述べた処理手順
で表示することができる。例えば、8個の基本立体から
なる合成体であれば、CSGトリーの標準形への変換、
反転表、関数表、干渉表の作成の後、第17図におい
て、ステップ305に記載の「Cs1〜Cs4を1で満た
す」を「Cs1〜Cs8を1で満たす」と変更し、ステップ
307に記載の「Cs1〜Cs4を0で満たす」を「Cs1
s8を0で満たす」と変更し、ステップ314に記載の
「j=4」を「j=8」と変更し、ステップ318に記
載の「j=4」を「j=8」と変更し、ステップ316
は、Cs1〜Cs8を用いて与えられた合成体の論理式の値
を求めて結果をCsとするように変更すればよい。
(発明の効果) 以上、詳細に説明したように本発明による3次元画像表
示装置を用いれば、CSG表現から境界表現への変換を
せずに直接表示することが可能となり、多面体間の交差
を陽に求めるための大量で複雑な処理が不要となる。本
発明の装置によるCSG多面体の表示処理は、座標変換
器、多角形の走査変換器のような従来のハードウェアで
装備されている高速な演算装置やメモリの増設手段を用
いて実現できるので、高速化が可能である。従って本発
明はソリッドモデリングシステムの利用者が試行錯誤的
に繰り返し設定するCSG表現モデルをディスプレイを
介して対話的に検証するのに適している。また、本発明
によれば、所望の形状が得られた時点で改めてホストプ
ロセッサ等が時間をかけて境界表現に変換すればよく、
境界表現の多面体も従来の処理手順により高速に表示す
ることができる。
【図面の簡単な説明】
第1図は本発明に係る3次元画像表示装置の構成を示す
ブロック図、第2図は変形したCSGトリーを示す図、
第3図は基本立体の定義法の説明図、第4図は画面座標
系に変換された基本立体データの説明図、第5図は世界
座標系に変換された基本立体データの説明図、第6図は
多面体の和の断面図、第7図は多面体の積の断面図、第
8図は多面体の積の表示処理手順を示すフローチャー
ト、第9図は多面体の差の断面図、第10図は3個の多
面体のCSG演算を示す断面図、第11図は3個の多面
体のCSGトリーの表示処理手順を示すフローチャー
ト、第12図は論理演算メモリの区分を示す図、第13
図は4個の多面体のCSGトリー例を示す図、第14図
はCSGトリーの標準形への変換法の説明図、第15図
はCSGトリーの表示に用いられる表を示す図、第16
図は基本立体の包含関係を示す図、第17図は4個の基
本立体のCSGトリーの表示処理手順を示すフローチャ
ート、第18図は従来の3次元画像表示装置の構成を示
すブロック図、第19図は従来の多面体モデル作成方法
の説明図、第20図は基本立体の合成方法の説明図であ
る。 1……ホストプロセッサ、 2……ホストインタフェース、 3……制御プロセッサ、4……第1の図形メモリ、 5……第2の図形メモリ、6……座標変換器、 7……走査変換器、8……メモリ更新器、 9……画像メモリ、 10……第1のzバッファメモリ、 11……第2のzバッファメモリ、 12……論理演算メモリ。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】多面体のCSG表現データとその構成要素
    である基本立体データとを記憶する第1の図形メモリ
    と、 基本立体データに対し、該CSG表現及び視点情報にし
    たがって座標変換及び投影変換を施す座標変換器と、 変換された基本立体データを記憶する第2の図形メモリ
    と、 基本立体を囲む多角形を走査変換して三原色強度及び深
    度をもつ画素データに分解する走査変換器と、 画面上の画素毎に3次元画像の三原色強度を記憶する画
    像メモリと、画素毎に深度を一時記憶する第1のzバッ
    ファメモリと、 CSG表現における基本立体のうちの1つだけの前方面
    または後方面を走査変換したときの構成画素の深度のみ
    を一時記憶する第2のzバッファメモリと、 該基本立体の前方面または後方面の構成画素の各々につ
    きそれが他の基本立体の内部か外部かを判定してその結
    果を記憶する論理演算メモリと、 深度の付与された画素データを隠面消去しつつ画像メモ
    リ及び第1のzバッファメモリに書き込む操作、第2の
    zバッファメモリ及び論理演算メモリの制御を行なうメ
    モリ更新器とを設け、 メモリ更新器は、 (a)前記多面体のCSG表現を変換して作成される基
    本立体毎の反転表、基本立体間の干渉表、CSG論理式
    の関数表をもち、 (b)予め前記画像メモリを背景色で、第1のzバッフ
    ァメモリを深度の最大値で満たし、 (c)CSG表現を構成する1つの特定の基本立体を前
    記反転表の値に従って、前方面または後方面のいずれか
    を走査変換し、深度分布を第2のzバッファメモリに作
    成し、 (d)前記(c)の処理で前方面を走査変換した場合は
    論理演算メモリの内外判定結果部分を1で満たし、前記
    (c)の処理で後方面を走査変換した場合は論理演算メ
    モリの内外判定結果部分を0で満たし、 (e)前記干渉表の値に従って該基本立体と干渉する他
    の基本立体の各々について前方面と後方面を走査変換
    し、 (f)前記第2のzバッファメモリに記憶された深度
    が、該前方面及び後方面の間にあるか否かを論理演算メ
    モリの判定用カウンタを用いて画素毎に判定し、判定結
    果を論理演算メモリの内外判定結果部分に書き込み、 (g)該内外判定結果の組合せの値を用いて前記関数表
    の関数値を画素毎に求め、関数値が1である可視画素と
    0である不可視画素とに判別し、 (h)前記特定の基本立体の前方面または後方面を再び
    走査変換して三原色強度及び深度を求め、前記関数値が
    1である可視画素について、深度が第1のzバッファメ
    モリの対応する画素の深度より小さい場合に第1のzバ
    ッファメモリ及び画像メモリの値を更新することによ
    り、前記特定の基本立体の表面の一部を表示し、 (i)前記(c)〜(h)の処理を、CSG表現の全基
    本立体について順次行なうことにより、 CSG表現による多面体の3次元画像を表示することを
    特徴とする3次元画像表示装置。
JP13834086A 1986-06-16 1986-06-16 3次元画像表示装置 Expired - Lifetime JPH0634239B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13834086A JPH0634239B2 (ja) 1986-06-16 1986-06-16 3次元画像表示装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13834086A JPH0634239B2 (ja) 1986-06-16 1986-06-16 3次元画像表示装置

Publications (2)

Publication Number Publication Date
JPS62296282A JPS62296282A (ja) 1987-12-23
JPH0634239B2 true JPH0634239B2 (ja) 1994-05-02

Family

ID=15219627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13834086A Expired - Lifetime JPH0634239B2 (ja) 1986-06-16 1986-06-16 3次元画像表示装置

Country Status (1)

Country Link
JP (1) JPH0634239B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5027292A (en) * 1989-04-19 1991-06-25 International Business Machines Corporation Multiple depth buffers for graphics and solid modelling

Also Published As

Publication number Publication date
JPS62296282A (ja) 1987-12-23

Similar Documents

Publication Publication Date Title
US5325472A (en) Image displaying system for interactively changing the positions of a view vector and a viewpoint in a 3-dimensional space
El-Hakim et al. A multi-sensor approach to creating accurate virtual environments
JP3184327B2 (ja) 3次元グラフィックス処理方法及びその装置
KR970003325B1 (ko) 화소 영상 렌더링 방법 및 컴퓨터 그래픽 디스플레이 시스템
US5357599A (en) Method and apparatus for rendering polygons
JPH0757117A (ja) テクスチャマップへの索引を生成する方法及びコンピュータ制御表示システム
JPH06231275A (ja) 画像シミュレーション方法
JPH0916806A (ja) 立体画像処理装置
WO2000002165A1 (fr) Procede permettant de produire des donnees de polygone et afficheur d'images utilisant lesdites donnees
JPH0727579B2 (ja) グラフィクス処理装置及び方法並びにピクセル・メモリ装置
US5745667A (en) 3d graphics apparatus using texture images with displacement information
JPH10508715A (ja) コンピューターグラフィック模型化システム
JP2832463B2 (ja) 3次元モデルの再構成方法および表示方法
JPH06222899A (ja) マルチウィンドウ表示方式
US5926183A (en) Efficient rendering utilizing user defined rooms and windows
JPH0634239B2 (ja) 3次元画像表示装置
JPH09305791A (ja) 立体画像生成装置および立体画像生成方法
JP2952585B1 (ja) 画像生成方法
JP4017351B2 (ja) 3次元モデル生成装置および3次元モデル生成プログラム
JP3132220B2 (ja) 3次元モデルの形状作成方法
Tolba A projective approach to computer-aided drawing
JP3071495B2 (ja) 物体モデル編集装置
JPH0773342A (ja) 画像生成装置
JPH0737121A (ja) 画像処理方法
JP2000067266A (ja) ラスターイメージの表示方法及び編集方法並びにそれらを利用したコンピュータ支援図形処理システム

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term