JPH0634239B2 - 3D image display device - Google Patents
3D image display deviceInfo
- 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
Links
Landscapes
- Image Generation (AREA)
Description
【発明の詳細な説明】 (産業上の利用分野) 本発明は、多面体の色彩陰影付画像をラスター走査型C
RT上に生成表示する3次元画像表示装置に関するもの
である。DETAILED DESCRIPTION OF THE INVENTION (Industrial field of application) The present invention provides a raster scanning C-type image of a polyhedron with color shading.
The present invention relates to a three-dimensional image display device for generating and displaying on an RT.
(従来の技術) 3次元の色彩陰影付画像をラスター走査型CRT上に生
成表示する方式として、多面体モデルのzバッファ法を
用いた表示処理方法がある。その表示処理手順を以下に
述べる。(Prior Art) As a method of generating and displaying a three-dimensional image with color shading on a raster scanning CRT, there is a display processing method using a z-buffer method of a polyhedral model. The display processing procedure will be described below.
(I)形状モデリング……物体形状を3次元世界座標系
内に定義する。多面体モデルでは、物体形状を頂点、稜
線、面の座標値やその隣接関係により表現する。物体表
面が曲面を含む場合は、曲面を多角形に分割して近似す
る。多面体モデルの作成法は後に述べる。(I) Shape modeling ... Define an object shape in a three-dimensional world coordinate system. In the polyhedron model, the object shape is expressed by the vertexes, ridges, surface coordinate values and their adjacency. When the surface of the object includes a curved surface, the curved surface is divided into polygons for approximation. The method of creating the polyhedral model will be described later.
(II)投影変換……世界座標系内に投影面、視点、投影
方法(平行投影か中心投影か)を指定し、投影面上に設
定した画面枠を基準とした3次元の画面座標系に投影変
換する。(II) Projection conversion: Specify the projection plane, viewpoint, and projection method (parallel projection or central projection) in the world coordinate system, and make a three-dimensional screen coordinate system based on the screen frame set on the projection surface. Projection conversion is performed.
世界座標系から画面座標系への投影変換は、座標軸の回
転、平行移動、画面座標へのスケーリング、及び透視変
換の合成されたもので、後に述べるように4×4の行列
乗算と透視除算からなる。視点から画面枠を通して見た
投影面の背後の空間部分は画面座標系の直方体の内部に
写像される。画面座標系のz値を深度と呼び、隠面消去
に用いる。多面体モデルでは、多面体のすべての頂点を
投影変換すればよい。投影変換では直線は直線に変換さ
れ、内分比を変えないという性質をもつので画面座標系
内部での線形内挿計算により、もとの多面体の稜線や面
を描画でき、深度も1点1点正しく求められる。座標変
換の結果、クリッピングや裏面除去を行うことがある。
クリッピングは投影面上に矩形の窓を設定し、投影図の
窓枠内部のみを表示するために、多面体を囲む各々の多
角形について窓枠の外部にはみ出した多角形の全体また
は一部を除去する処理である。裏面除去は、視点から見
て明らかに不可視となる裏面の多角形を検出し除去する
処理である。Projection transformation from the world coordinate system to the screen coordinate system is a combination of rotation of the coordinate axes, parallel movement, scaling to screen coordinates, and perspective transformation. As will be described later, from 4 × 4 matrix multiplication and perspective division. Become. The space part behind the projection plane seen from the viewpoint through the screen frame is mapped inside the rectangular parallelepiped of the screen coordinate system. The z value of the screen coordinate system is called depth and is used for hidden surface removal. In the polyhedron model, all the vertices of the polyhedron may be projected and transformed. In projective transformation, a straight line is transformed into a straight line, and since it has the property of not changing the internal division ratio, it is possible to draw the ridgeline or surface of the original polyhedron by linear interpolation calculation inside the screen coordinate system, and the depth is also 1 point. Correctly requested. As a result of the coordinate conversion, clipping or back surface removal may be performed.
Clipping sets a rectangular window on the projection surface, and removes all or part of the polygon protruding outside the window frame for each polygon surrounding the polyhedron in order to display only the inside of the window frame of the projection view. It is a process to do. The back surface removal is processing for detecting and removing a polygon on the back surface that is apparently invisible from the viewpoint.
(III)走査変換……画面座標系で頂点の系列として表
現された多角形を塗りつぶして表示するために、該多角
形を画素の系列に変換する。それには、多角形の頂点座
標からその稜線上の画素を補間して生成し、さらに多角
形の内部の画素を補間して生成する。隠面消去のために
は、画素毎に投影面から当該多角形に至る深度zも計算
する。(III) Scan conversion ... In order to fill and display a polygon represented as a series of vertices in the screen coordinate system, the polygon is converted into a series of pixels. To this end, pixels on the ridge line are interpolated and generated from the vertex coordinates of the polygon, and further pixels inside the polygon are interpolated and generated. To remove the hidden surface, the depth z from the projection surface to the polygon is calculated for each pixel.
(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)番地の
深度zM(xi,yi)を読み出してziと比較し、zi<
zMのときに限り前記Ri,Gi,Biの書き込みを行うと共
に、zM(xi,yi)の値をziで更新する。従ってzバッ
ファメモリは画素毎に現在までに描画された値も視点に
近い多角形の深度を記憶し、以後これより深度の大きい
多角形の画素が来てもその書き込みを禁止する機能を有
する。すべての多角形の走査変換されたすべての画素に
ついて以上の処理を順次実行すれば、最終的に正しく隠
面消去され、可視画素の深度が付与された3次元画像が
RM,GM,BM,zMで得られる。(R,G,B)の値の付与の仕方と
しては、多角形毎に異なる値を予め与えられる方法、光
源が指定された時点で多角形毎に反射強度を計算し陰影
を付けて表示する方法、頂点毎に反射強度を計算し多角
形内部で補間して滑らかな陰影を付ける方法等がある。(IV) Image display accompanied by hidden surface removal ... When multiple polygons overlap each other on the display screen, it is necessary to preferentially display the polygon closest to the viewpoint. The z-buffer method is to perform this hidden surface removal in pixel units. In the z-buffer method, for the two-dimensional pixel address (x, y), the intensity of the three primary colors R, G, B
In addition to an image memory (also referred to as a frame buffer) that stores a z, a z buffer memory (also referred to as a depth buffer) that stores a depth z is used.
The z buffer memory is filled with the maximum depth z max . Image memory when a polygon is scanned and converted into a series of pixels (X i , y i , z i , R i , G i , B i ) i = 1, 2, 3, ... The intensity of the three primary colors R i , G i , B i at (x i , y i )
Before writing, z buffer memory (x i, y i) address of the depth z M (x i, y i) is read out is compared with z i, z i <
Only when z M , R i , G i , and B i are written, and the value of z M (x i , y i ) is updated with z i . Therefore, the z buffer memory has a function of storing the depth of a polygon whose value drawn up to now is close to the viewpoint for each pixel, and prohibits the writing even if a polygon pixel having a depth larger than this comes. If the above processing is sequentially executed for all the scan-converted pixels of all polygons, a three-dimensional image in which the hidden surface is erased correctly and the depth of visible pixels is given is finally obtained.
Obtained by R M , G M , B M , z M. The value of (R, G, B) can be given different values for each polygon in advance, and the reflection intensity is calculated for each polygon when the light source is specified and shaded and displayed. There are methods, such as a method of calculating reflection intensity for each vertex and interpolating inside the polygon to give a smooth shadow.
以上の表示方式はハードウェアによる高速処理に向いて
おり、画像メモリの他に座標変換器、走査変換器、zバ
ッファメモリを備えた3次元画像表示装置が提案されて
いる。第18図にこの種の従来の3次元画像表示装置の
構成を示す。同図において、ホストプロセッサ21は後
述するように表現変換の処理における多大な計算を実行
し、その結果をホストインタフェース22を介して表示
装置側に送出する。制御プロセッサ23は装置各部を制
御して前述した一連の表示処理を実行させる。図形メモ
リ24は多面体データを記憶し、座標変換器25は頂点
の投影変換を行い、走査変換器26は多角形の走査変換
を行い、メモリ更新器27はzバッファメモリ29を使
って隠面消去を行いながら画像メモリ28に3次元画像
を作り、CRT30に表示させる。画像メモリ28及び
zバッファメモリ29の役割は既述したとおりである。The above display method is suitable for high-speed processing by hardware, and a three-dimensional image display device including a coordinate converter, a scan converter, and a z-buffer memory in addition to the image memory has been proposed. FIG. 18 shows the structure of a conventional three-dimensional image display device of this type. In the figure, the host processor 21 executes a large amount of calculation in the processing of expression conversion as will be described later, and sends the result to the display device side via the host interface 22. The control processor 23 controls each part of the device to execute the series of display processes described above. The graphic memory 24 stores polyhedron data, the coordinate converter 25 performs projection conversion of vertices, the scan converter 26 performs polygon scan conversion, and the memory updater 27 uses the z buffer memory 29 to erase hidden surfaces. While performing, a three-dimensional image is created in the image memory 28 and displayed on the CRT 30. The roles of the image memory 28 and the z buffer memory 29 are as described above.
次に多面体モデルの作成方法について従来採られていた
方法を説明する。第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に転送し、表示装置側で
投影変換以後の表示処理を行っている。Next, a conventional method for creating a polyhedral model will be described. FIG. 19 is a diagram showing the shape of a polyhedron that is synthesized by the spatial logical operation of two rectangular parallelepipeds A and B. FIG. 19A shows the positional relationship between A and B, and FIG. The sum A∨B, the logical product A∧B in the same figure (c), and the logical difference A in the same figure (d).
-B is the result. Normally, when the user of the system inputs the shapes and dimensions of basic solids such as A and B, both movement and rotation, and logical operation symbols, the polyhedral modeling system coordinates-converts both polyhedra to set the positional relationship. , A polyhedron model is created by finding all intersecting edges of both polyhedra and all polygons surrounding the target composite. The third, fourth basic solids and other composites are successively synthesized on the completed polyhedron to form a polyhedron of increasingly complicated shape. Fig. 20 shows four basic solids A 1 , A 2 , A 3 , A
FIG. 4 is a diagram showing an example of a synthesizing method of CSG (Constructive
Solid Geometory) or a CSG tree is a three-dimensional representation method. On the other hand, the representation by the set of polygons that surround the polyhedron is the boundary representation (Boundary Representatio
n) called. Since a large amount of calculation is required for the process of converting from the CSG representation to the boundary representation, this process is usually executed in the host processor 21 of FIG. The data is transferred to the memory 24, and the display processing is performed on the display device side after the projection conversion.
(発明が解決しようとする問題点) しかしながら、以上述べたような処理方式では2つの多
面体の交差稜線を求めるために両多面体を囲む多角形の
すべての組合わせについて3次元的な交差を調べる必要
があるので、利用者が多面体のCSG表現を入力してか
らその3次元画像を得るまでに多大の時間を費やすこと
になり、この応答性の悪さが対話型の多面体モデリング
システムの1つの大きな問題点であった。(Problems to be solved by the invention) However, in the processing method described above, it is necessary to examine three-dimensional intersections for all combinations of polygons surrounding both polyhedrons in order to obtain the intersecting ridgelines of the two polyhedra. Therefore, the user spends a lot of time from inputting the CSG representation of the polyhedron to obtaining the three-dimensional image, and this poor responsiveness is one of the major problems of the interactive polyhedron modeling system. It was a point.
本発明はこのような従来技術の問題点を解決するために
なされたものであって、応答性の優れた多面体モデリン
グシステムを構築できるように、CSG表現多面体を直
接表示できる3次元画像表示装置を提供することを目的
とする。The present invention has been made to solve the above-mentioned problems of the prior art, and provides a three-dimensional image display device capable of directly displaying a CSG expression polyhedron so that a polyhedral modeling system having excellent responsiveness can be constructed. The purpose is to provide.
(問題点を解決するための手段) 本発明の2次元画像表示装置は、前記従来技術の問題点
を解決するため、多面体のCSG表現データとその構成
要素である基本立体データとを記憶する第1の図形メモ
リと、基本立体データに対し、当該CSG表現及び視点
情報にしたがって座標変換及び投影変換を施す座標変換
器と、変換された基本立体データを記憶する第2の図形
メモリと、基本立体を囲む多角形を走査変換して三原色
強度及び深度をもつ画素データに分解する走査変換器
と、画面上の画素毎に3次元画像の三原色強度を記憶す
る画像メモリと、画素毎に深度を一時記憶する第1のz
バッファメモリと、CSG表現における基本立体のうち
の1つだけの前方面または後方面を走査変換したときの
構成画素の深度のみを一時記憶する第2のzバッファメ
モリと、可視となる画素をCSG表現の論理式にしたが
って検出するために、その基本立体の前方面または後方
面の構成画素の各々につきそれが他の基本立体の内部か
外部かを判定してその結果を記憶する論理演算メモリ
と、深度の付与された画素データを隠面消去しつつ画像
メモリ及び第1のzバッファメモリに書き込む操作、及
びCSG論理演算のために第2のzバッファメモリ及び
論理演算メモリの制御を行うメモリ更新器とを設け、可
視とされた基本立体の構成画素に対し三原色強度及び深
度を求め、該データを隠面消去しつつ画像メモリ及び第
1のzバッファメモリに書き込むことにより、CSG表
現による多面体の3次元画像を表示するようにしたもの
である。(Means for Solving Problems) A two-dimensional image display device of the present invention stores the CSG expression data of a polyhedron and the basic stereoscopic data that is a component thereof in order to solve the problems of the above-mentioned conventional technology. 1 graphic memory, a coordinate converter that performs coordinate conversion and projection conversion on the basic stereoscopic data according to the CSG expression and viewpoint information, a second graphic memory that stores the converted basic stereoscopic data, and a basic stereoscopic data. A scan converter that scan-converts a polygon that surrounds the area into pixel data having three primary color intensities and depth, an image memory that stores the three primary color intensities of a three-dimensional image for each pixel on the screen, and a temporary depth for each pixel. The first z to remember
A buffer memory, a second z-buffer memory that temporarily stores only the depths of the constituent pixels when the front surface or the rear surface of only one of the basic solids in the CSG representation is scan-converted, and the visible pixels are CSG. A logical operation memory for determining whether each of the constituent pixels of the front surface or the rear surface of the basic solid is inside or outside of another basic solid and storing the result in order to detect according to the logical expression. An operation for writing pixel data to which depth has been added to the image memory and the first z buffer memory while erasing the hidden surface, and a memory update for controlling the second z buffer memory and the logical operation memory for CSG logical operation Is provided, the intensity and depth of the three primary colors are obtained for the constituent pixels of the visible basic solid, and the image memory and the first z-buffer memory are erased while the hidden surface of the data is hidden. By writing to, in which so as to display the 3-dimensional image of the polyhedron by the CSG representation.
(作用) 本発明によれば以上のように3次元画像表示装置を構成
したので、各技術手段は次のように作用する。(Function) Since the three-dimensional image display device is configured as described above according to the present invention, each technical means functions as follows.
第1の図形メモリは基本立体データ及び多面体のCSG
表現データを記憶する。座標変換器は第1の図形メモリ
から基本立体データを読み出し、それに座標変換及び投
影変換を施す。変換された基本立体データは第2の図形
メモリに記憶される。走査変換器は基本立体を囲む多角
形を走査変換して三原色強度及び深度の画素データを得
る。この画素データは、メモリ更新器の働きにより、画
像メモリ及び第1のzバッファメモリに隠面消去しなが
ら書き込まれる。すなわち画像メモリは画面上の画素毎
に3次元画像の3原色強度を記憶し、第1のzバッファ
メモリは画素毎に深度を記憶する。ところで本発明では
第2の図形メモリに記憶されている変換された基本立体
データより多面体を合成するわけであるが、この合成の
ため、第2のzバッファメモリは基本立体のうちの1つ
だけの前方面または後方面を走査変換した画素の深度の
みを記憶し、一方論理演算メモリは1の基本立体の各画
素につきそれが他の基本立体の内部か外部かを判定した
結果を保持する。そしてメモリ更新器の働きにより、こ
れらの情報を参照しつつ可視となる画素がCSG論理演
算にしたがって求められる。そしてメモリ更新器の操作
により、可視と判定された基本立体の三原色強度及び深
度のデータが隠面消去を行いながら画像メモリ及び第1
のzバッファメモリに正しく書き込まれる。したがっ
て、CSG表現から境界表現への変換をせずに多面体画
像を直接表示できるようになり、前記従来技術の問題点
が解決される。The first graphic memory is the basic stereoscopic data and the polyhedral CSG.
Store expression data. The coordinate converter reads the basic stereoscopic data from the first graphic memory and performs coordinate conversion and projection conversion on it. The converted basic stereoscopic data is stored in the second graphic memory. The scan converter scan-converts a polygon surrounding a basic solid to obtain pixel data of three primary color intensities and depths. The pixel data is written in the image memory and the first z-buffer memory while the hidden surface is erased by the function of the memory updater. That is, the image memory stores the three primary color intensities of the three-dimensional image for each pixel on the screen, and the first z-buffer memory stores the depth for each pixel. By the way, in the present invention, a polyhedron is synthesized from the converted basic stereoscopic data stored in the second graphic memory. Due to this synthesis, the second z-buffer memory is only one of the basic solids. Only the depths of pixels obtained by scan-converting the front surface or the rear surface of are stored, while the logical operation memory holds the result of determining whether each pixel of one basic solid is inside or outside of another basic solid. Then, by the function of the memory updater, a pixel which becomes visible while referring to these information is obtained in accordance with the CSG logical operation. Then, by operating the memory renewal device, the data of the three primary color intensities and depths of the basic solids which are determined to be visible are erased while the image memory and the first data are erased.
Correctly written to the z-buffer memory of. Therefore, the polyhedral image can be directly displayed without conversion from the CSG representation to the boundary representation, and the problems of the above-mentioned conventional techniques are solved.
(実施例) 以下本発明の一実施例について詳細に説明する。(Example) Hereinafter, one example of the present invention will be described in detail.
第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表現された多面体を本装置を使用して表示処理す
る手順を詳細に説明する。FIG. 1 is a block diagram showing the configuration of the three-dimensional image display device of this embodiment. In the figure, 1 is a host processor, 2 is a host interface, 3 is a control processor, 4 is a first graphic memory, 5 is a second graphic memory, 6 is a coordinate converter, and 7 is a coordinate converter.
Is a scan converter, 8 is a memory updater, 9 is an image memory, 1
Reference numeral 0 is a first z buffer memory, 11 is a second z buffer memory, and 12 is a logical operation memory. This device is the first
Compared with the conventional device of FIG. 8, the second graphic memory 5,
The main difference is that a second z-buffer memory 11 and a logical operation memory 12 are added. If the three-dimensional image display device of FIG. 1 is used, in addition to the polyhedral model of boundary representation,
Images of polyhedral models in CSG representation can also be generated. Less than,
The procedure of displaying the CSG-represented polyhedron using this apparatus will be described in detail.
第1図の第1の図形メモリ4には表示すべきすべての3
次元図形データが記憶されている。これらの図形データ
は通常は3次元世界座標系で既述されており、順次読み
出されて座標変換器6による投影変換と走査変換器7に
よる走査変換を施され、メモリ更新器8の働きにより画
像メモリ9及び第1のzバッファメモリ10に深度の付
与された3次元画像として合成されて行く。CSG表現
の多面体はこれらの図形の1表現形態として発生するも
ので、このときCSG多面体を画像メモリ9に正しく合
成表示する必要がある。All the 3 to be displayed in the first graphic memory 4 of FIG.
The dimensional figure data is stored. These graphic data are usually already described in the three-dimensional world coordinate system, and are sequentially read out, subjected to projection conversion by the coordinate converter 6 and scan conversion by the scan converter 7, and by the operation of the memory updater 8. The images are combined into the image memory 9 and the first z-buffer memory 10 as a three-dimensional image with depth. The polyhedron of CSG expression occurs as one expression form of these figures, and at this time, it is necessary to correctly synthesize and display the CSG polyhedron in the image memory 9.
CSG表現の多面体は第20図に例示されるような木
(トリー)構造をもつ。CSGトリーの葉に位置する
「基本立体」は第3図のように定義される。第3図(a)
のように基本立体に固定した座標系O−XYZにおい
て、基本立体の各頂点V1〜V8の座標を第3図(b)の
ように定義し、基本立体を囲む各面S1〜S6を第3図
(c)のように頂点の系列として定義する。各面は多角形
であって基本立体の外部から見て反時計回りになるよう
に頂点を順に並べたものとする。第20図のCSGトリ
ーの枝に位置する「変換」は基本立体または合成途中の
立体(以下これらを単に立体と呼ぶ)の座標変換を指定
するもので、拡大,縮小,平行移動,回転の組合せが許
される。この変換は次式のようなベクトルとマトリクス
の乗算である。The CSG representation polyhedron has a tree structure as illustrated in FIG. The "basic solid" located in the leaves of the CSG tree is defined as shown in FIG. Fig. 3 (a)
In the coordinate system O-XYZ fixed to the basic solid as described above, the coordinates of the vertices V 1 to V 8 of the basic solid are defined as shown in FIG. 3 (b), and the surfaces S 1 to S surrounding the basic solid are defined. 6 to FIG.
It is defined as a series of vertices as shown in (c). Each face is polygonal, and the vertices are arranged in order so as to be counterclockwise when viewed from the outside of the basic solid. The “transformation” located in the branch of the CSG tree in FIG. 20 designates coordinate transformation of a basic solid or a solid in the process of synthesis (hereinafter, simply referred to as solid), and is a combination of enlargement, reduction, translation, and rotation. Is allowed. This conversion is a multiplication of a vector and a matrix as shown below.
第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図と同じ合成
手続きにより合成すればよい。 The "composite" located in the node of the CSG tree in FIG. 20 is to perform a binary logic operation of either sum, product or difference on the two coordinate-transformed solids. In Fig. 20, the basic solid A 1 , A
2 is subjected to “Synthesis 1”, basic solids A 3 and A 4 are subjected to “Synthesis 2”, and these synthetic bodies are further subjected to “Synthesis 3” to obtain a final synthetic body. "Transformation 7" has a function of placing or moving this composite body at an appropriate position in the world coordinate system. This composite is further subjected to “projection conversion” and displayed on the screen. However, since the surface of this composite is one of the basic solids A 1 , A 2 , A 3 , and A 4 , as shown in FIG. 2, the basic solids A 1 , A 2 , A 3 , and A 4 are The solids converted to the screen coordinate system are designated as A 1S , A 2S , A 3S , and A 4S , respectively, and these converted basic solids may be synthesized by the same synthesis procedure as in FIG.
画面座標系に変換された基本立体データA1S,A2S,A3S,A
4Sは第2の図形メモリ5に記憶される。画面座標系os-x
syszsにおける基本立体データの1つ(例えばA1S)を
選び第4図に例示する。第4図(a)は同座標系における
A1Sの空間位置を示す図である。第4図(b)の頂点座標
は次式により求められる。Basic stereoscopic data converted to screen coordinate system A 1S , A 2S , A 3S , A
4S is stored in the second graphic memory 5. Screen coordinate system os-x
One of the basic stereoscopic data in syszs (for example, A 1S ) is selected and illustrated in FIG. FIG. 4 (a) is a diagram showing the spatial position of A 1S in the same coordinate system. The vertex coordinates in FIG. 4 (b) are calculated by the following equation.
〔xsiysizsiwsi〕=〔XiYiZi1〕・M1・M5・M7・Mp 但し、i=1,2,…,8 … ここにM1,M5,M7,Mpはそれぞれ「変換1」,「変換
5」,「変換7」,「投影変換」を表わす4×4の行列
であって、M1,M5,M7は式における行列と同じ形をも
つ。Mpは平行投影の場合は式における行列と同じ形
をもつが、中心投影の場合は第4列が〔0,0,0,1〕では
ない。基本立体A1の座標変換を行うにはまず行列同志
の乗算を行って M1S=M1・M5・M7・Mp … を求めておき、行列M1Sを乗算する。M1Sは平行投影の
場合は式の行列と同じ形をもつから式の結果はwsi
=1となるが、中心投影の場合はwsi=1が成立せず、
次式による除算 を行い、これらの商の値を改めてxsi,ysi,zsiとする必
要がある。[X si y si z si w si ] = [X i Y i Z i 1] ・ M 1・ M 5・ M 7・ M p However, i = 1,2, ..., 8 ... where M 1 , M 5 , M 7 , M p are 4 × 4 matrices representing “transform 1”, “transform 5”, “transform 7”, and “projection transform”, respectively, and M 1 , M 5 , M 7 are It has the same shape as a matrix. In the case of parallel projection, M p has the same form as the matrix in the equation, but in the case of central projection, the fourth column is not [0,0,0,1]. In order to perform the coordinate transformation of the basic solid A 1 , matrix multiplications are first performed to obtain M 1S = M 1 · M 5 · M 7 · M p ... And the matrix M 1S is multiplied. In the case of parallel projection, M 1S has the same form as the matrix of the formula, and the result of the formula is w si
= 1, but w si = 1 is not established in the case of central projection,
Division by And the values of these quotients need to be changed to x si , y si , z si .
第4図(c)は画面座標系に変換された基本立体の各面S
iに関するデータで、各面Siにつき、頂点系列の他、
三原色強度Ri,Gi,Bi及び外向き法線ベクトルのzs方向
成分n′ziをもっている。(R,G,B)の値として陰影を
付ける場合には、多面体全体に一定の色相(r,g,b)を
指定し、多面体が世界座標系内に置かれた時、ある光源
から照射した光の反射強度Iiを多面体の各面Siに対
して計算し、 Ri=r×Ii,Gi=g×Ii,Bi=b×Ii
… をもって(Ri,Gi,Bi)とする。この処理は以下の手順で
行われる。まず、 〔xwiywizwi1〕=〔XiYiZi1〕・M1・M5・M7
… により、基本立体データを世界座標系まで座標変換す
る。その結果を第5図に示す。多面体の各面Siの反射
強度Iiはその面に立てた法線と光の入射方向との傾角
(入射角)θiの余弦によって決まるから、各面Siの
単位法線ベクトルni=(nxi,nyi,nzi)を求め、これ
と光源方向への単位ベクトルl=(lx,ly,lz)から Ii=Iocosθi=Io(lxnxi+lynyi+lznzi) …
を求める。ここにIoは光源の強度、θiは入射角を示
す。面の法線ベクトルはその上の3点の座標値から計算
される。例えば第5図(a)に示すように面S1の外向き
単位法線ベクトルn1=(nx1,ny1,nz1)を求めるに
は、反時計回りの3つの頂点V1,V2,V3を用いて
次のように計算する。FIG. 4 (c) shows each surface S of the basic solid converted to the screen coordinate system.
data relating to i , for each surface S i , in addition to the vertex series,
It has the three primary color intensities R i , G i , and B i and the z s- direction component n ′ zi of the outward normal vector. When shading is applied as the value of (R, G, B), a certain hue (r, g, b) is specified for the whole polyhedron, and when the polyhedron is placed in the world coordinate system, it is illuminated from a certain light source. the reflection intensity I i of the light calculated for each surface S i of the polyhedron has, R i = r × I i , G i = g × I i, B i = b × I i
Let be (R i , G i , B i ). This process is performed according to the following procedure. First, [x wi y wi z wi 1] = [X i Y i Z i 1] · M 1 · M 5 · M 7
The coordinates of the basic stereoscopic data are converted to the world coordinate system by. The result is shown in FIG. Since the reflection intensity I i of each surface S i of the polyhedron is determined by the cosine of the inclination angle (incident angle) theta i of the incident direction of the normal to the light standing on the surface, the unit normal of each surface S i vectors n i = (N xi , n yi , n zi ) and from this and the unit vector l = (l x , l y , l z ) in the light source direction, I i = I o cos θ i = I o (l x n xi) + l y n yi + l z n zi )…
Ask for. Here, I o represents the intensity of the light source, and θ i represents the incident angle. The surface normal vector is calculated from the coordinate values of the three points above it. For example, as shown in FIG. 5 (a), in order to obtain the outward unit normal vector n 1 = (n x1 , n y1 , n z1 ) of the surface S 1 , three counterclockwise vertices V 1 , V The calculation is performed as follows using 2 and V 3 .
NX1=(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) … 各面Siの外向き法線ベクトルと反射強度の結果を第5
図(c)に示す。θi>180°の場合、式による反射強度
Iiが負の値をとり、その面は光源に対して裏となる
が、符号を反転した非負値−Iiはその面の内面を照射
する場合の反射強度を示している。こうして求められた
符号付の反射強度Iiに式により(r,g,b)を乗じた
ものが第4図(c)における(Ri,Gi,Bi)である。また、
平行投影の場合には、法線ベクトルを次式により画面座
標系に投影変換し、 〔n′xi n′yi n′zi 1〕 =〔nxi nyi nzi 1〕・Mp … によって、中心投影の場合には画面座標系に投影変換さ
れた頂点座標を用いて式〜によって、n′ziのみを
求めて第4図(c)に示すように記憶すれば、n′ziの符
号は基本立体の外面が視点に対して表か裏かを示してい
る。n′zi<0のときこの面は視点側を向いている表面
であるから前方面と呼び、n′zi>0のときこの面は視
点と反対側を向いている裏面であるから後方面と呼ぶ。
単一の多面体では前方面のみを表示すればよいが、CS
G表現多面体では第19図(d)における立体Bのように
基本立体の後方面が合成体の表面になり得るから、この
ような基本立体については後方面を表示する必要があ
る。N X1 = (y w2 -y w1 ) (Z w3 -z w1 )-(y w3 -y w1 ) (Z w2-
z w1 ) ... N y1 = (z w2 -z w1 ) (x w3 -x w1 )-(z w3 -z w1 ) (x w2-
x w1 ) ... N z1 = (x w2 -x w1 ) (y w3 -y w1 )-(x w3 -x w1 ) (y w2-
y w1 ) ... The result of the outward normal vector and the reflection intensity of each surface S i is
It is shown in Figure (c). When θ i > 180 °, the reflection intensity I i according to the formula has a negative value, and the surface is the back side of the light source, but the non-negative value −I i with the sign reversed, illuminates the inner surface of the surface. The reflection intensity in the case is shown. The (R i , G i , B i ) in FIG. 4 (c) is obtained by multiplying the signed reflection intensity I i thus obtained by (r, g, b) by the equation. Also,
In the case of parallel projection, the normal vector is projected and transformed into the screen coordinate system by the following formula, and [n′xi n′yi n′zi 1] = [nxi nyi nzi 1] · M p . In this case, if only n ′ zi is obtained by the equation (1) using the vertex coordinates projected to the screen coordinate system and stored as shown in FIG. 4 (c), the code of n ′ zi is the basic solid. It shows whether the outer surface is the front or back with respect to the viewpoint. When n'zi <0, this surface is the front surface because it is the front surface, and when n'zi > 0, this surface is the rear surface that faces the opposite side and is therefore the rear surface. Call.
With a single polyhedron, only the front face needs to be displayed.
In the G expression polyhedron, the rear surface of the basic solid can be the surface of the composite body like the solid B in FIG. 19 (d). Therefore, it is necessary to display the rear surface of such a basic solid.
次に画面座標系に変換された基本立体データA1S,A2S,A
3S,A4Sを使って合成体の画像を構成する方法を説明す
る。以後の説明では、A1S,A2S,A3S,A4Sを改めてA1,A2,A
3,A4と書き、画面座標系においてA1,A2,A3,A4はいずれ
も凸多面体であると仮定する。また、画面座標系はo−
xyzと記す。Next, basic stereoscopic data A 1S , A 2S , A converted to the screen coordinate system
A method of forming a composite image using 3S and A 4S will be described. In the following explanation, A 1S , A 2S , A 3S , A 4S will be referred to as A 1 , A 2 , A
It is written as 3 , A 4, and it is assumed that A 1 , A 2 , A 3 , and A 4 are convex polyhedrons in the screen coordinate system. The screen coordinate system is o-
It is written as xyz.
まず最も簡単な場合として、2つの凸多面体A1,A2の
和,差,積の表示方法を順に述べる。第6図は和A1∨
A2の、y座標が一定の走査線を含む水平面(走査平
面)による断面図である。多面体A1,A2の断面は凸多角
形であって、斜線を施した領域が多面体A1∨A2の内
部である。この図の白丸印及び黒丸印・は多面体A1
及びA2の前方面のみを走査変換した1行分の深度の付
与された画素を示している。視点はz軸上負の無限遠点
にあるから・印の画素が可視、印が不可視となる。ま
たA1,A2の後方面が不可視となることは第6図から明ら
かである。従ってA1∨A2を表示するには、まずA1
の前方面を順次走査変換して画像メモリ9及び第1のz
バッファメモリ10に隠面消去を伴う書き込みを行い、
次にA2の前方面について同じ処理を行えばよい。First, as the simplest case, a method of displaying the sum, difference, and product of two convex polyhedra A 1 , A 2 will be described in order. Figure 6 shows the sum A 1 ∨
Of A 2, it is a cross-sectional view taken along a horizontal plane (scan plane) y-coordinate contains a certain scan line. The cross sections of the polyhedra A 1 and A 2 are convex polygons, and the shaded area is the inside of the polyhedron A 1 ∨ A 2 . White circles and black circles in this figure are polyhedron A 1
And pixels with a depth of one row obtained by scan-converting only the front surface of A 2 . Since the viewpoint is at the point of negative infinity on the z axis, the pixel of the mark is visible and the mark is invisible. Further, it is clear from FIG. 6 that the rear surfaces of A 1 and A 2 are invisible. Therefore, to display A 1 ∨ A 2 , first, A 1
Of the front surface of the image memory 9 and the first z
Write with hidden surface erase to the buffer memory 10,
Next, the same process may be performed on the front surface of A 2 .
第7図は2つの凸多面体A1,A2の積A1∧A2の走査平
面による断面図を示している。第7図(a)はA1の前方
面の画素を印及び・印で示し、このうちA2の内部に
ある・印の画素がA1∧A2の前方面上にあることを示
している。第7図(b)はA2の前方面のうち・印の画素
がA1∧A2の前方面上にあることを示している。従っ
て合成体A1∧A2を表示するには、A1とA2の前方
面を走査変換し、第7図(a),(b)における・印の画素を
検出し、第1図の画像メモリ9及び第1のzバッファメ
モリ10に隠面消去を伴う書き込みを行えばよい。・印
の画素を選び出すためには、第2のzバッファメモリ1
1、及び論理演算メモリ12を使用する。Figure 7 is a cross-sectional view with two convex polyhedrons A 1, A 2 of the product A 1 ∧A 2 scan planes. FIG. 7 (a) shows the pixels on the front surface of A 1 by a mark and a mark, and among them, the pixels of a mark inside A 2 are on the front surface of A 1 ∧ A 2. There is. FIG. 7 (b) shows that, of the front surface of A 2 , the pixel marked with · is on the front surface of A 1 ∧ A 2 . Therefore, to display the composite A 1 ∧A 2 is, A 1 and scan converting the front face of the A 2, FIG. 7 (a), detects the pixel of-sign in (b), of Figure 1 Writing with hidden surface erasing may be performed in the image memory 9 and the first z buffer memory 10. The second z-buffer memory 1 for selecting the marked pixels
1 and the logical operation memory 12 are used.
A1の前方面のうち、A2の内部を検出し表示する手順
を第8図に示す。最初にステップ101で第2のzバッ
ファメモリ11全体をz座標の最大値zmaxで満たす。
次にステップ102でA1の前方面を走査変換し、画素
列(Xi,yi,zi)i=1,2,…を得たとき、第2のzバッフ
ァメモリ11の(xi,yi)番地にziを書き込む。すな
わちzi→zs(xi,yi)とする。次にステップ103
で論理演算メモリ12全体を0で満たす。そして、ステ
ップ104でA2の前方面を走査変換し、画素列(xi,y
i,zi)i=1,2,…を得たとき、第2のzバッファメモリ
11の(xi,yi)番地の内容zs(xi,yi)とziを比較
し、zizs(xi,yi)が成立すれば論理演算メモリ
12の(xi,yi)番地の値Cs(xi,yi)を1だけ増加さ
せる。次にステップ105でA2の後方面を走査変換
し、画素列(xi,yi,zi)i=1,2,…を得たとき、zi
zs(xi,yi)が成立すればCs(xi,yi)を1だけ減少
させる。その結果、A1の前方面の画素のうち、A2の
前方面の背後にあり、かつA2の後方面の手前にあるも
ののみがCs=1の値を有し、その他の画素はCs=0
となる。すなわち第7図の・印の画素はCs=1とな
る。そこでステップ106で多面体A1の前方面を再び
走査変換し、三原色強度と深度を含む画素列(xi,yi,
zi,Ri,Gi,Bi)i=1,2,…を得たとき、Cs(xi,yi)=
1かつzi<zM(xi,yi)ならばzi→zM(xi,
yi),Ri→RM(xi,yi),Gi→GM(xi,yi),B
i→BM(xi,yi)の書き込みを行う。その結果、A1
の前方面のうちA2の内部及び境界の部分が隠面消去を
伴って画像メモリ9及び第1のzバッファメモリ10に
書き込まれる。以後、このような隠面消去を伴うメモリ
書き込みを単に「表示する」と記す。FIG. 8 shows a procedure for detecting and displaying the inside of A 2 on the front surface of A 1 . First, in step 101, the entire second z buffer memory 11 is filled with the maximum value z max of the z coordinate.
Next, in step 102, when the front surface of A 1 is scan-converted to obtain a pixel row (X i , y i , z i ) i = 1,2, ..., (x i of the second z buffer memory 11 ) , y i ) Write z i at the address. That is, z i → z s (x i , y i ). Next step 103
The entire logical operation memory 12 is filled with zero. Then, in step 104, the front surface of A 2 is scan-converted, and the pixel row (x i , y
When i , z i ) i = 1,2, ... is obtained, the contents z s (x i , y i ) of the address (x i , y i ) of the second z buffer memory 11 are compared with z i. , z i z s (x i, y i) if satisfied (x i, y i) of the logical operation memory 12 address values C s (x i, y i) is increased by 1. Then the rear face of the A 2 and scan converted in step 105, the pixel row (x i, y i, z i) i = 1,2, when give ... a, z i
If z s (x i , y i ) is satisfied, C s (x i , y i ) is decreased by 1. As a result, of the pixels on the front surface of A 1 , only those that are behind the front surface of A 2 and in front of the back surface of A 2 have a value of C s = 1 and the other pixels are C s = 0
Becomes That is, the pixel marked with a mark in FIG. 7 has C s = 1. Therefore, in step 106, the front surface of the polyhedron A 1 is scan-converted again, and the pixel array (x i , y i ,
z i , R i , G i , B i ) i = 1,2, ... When C s (x i , y i ) =
If 1 and z i <z M (x i , y i ), then z i → z M (x i ,
y i ), R i → R M (x i , y i ), G i → G M (x i , y i ), B
i → B M (x i , y i ) is written. As a result, A 1
The inside of A 2 and the boundary portion of the front surface of A are written in the image memory 9 and the first z-buffer memory 10 with hidden surface removal. Hereinafter, memory writing accompanied by such hidden surface erasure will be simply referred to as “display”.
次に、A2の前方面のうち、A1の内部を検出し表示す
る。その手順は第8図においてA1とA2を交換したも
のである。以上により多面体A1∧A2が表示される。Next, of the front surface of A 2 , the inside of A 1 is detected and displayed. The procedure is such that A 1 and A 2 are exchanged in FIG. As described above, the polyhedron A 1 ∧A 2 is displayed.
第9図は2つの凸面体A1,A2の差A1−A2の走査平面
上の断面を示している。同図(a)はA1の前方面のうち
A2の外部にある画素・印がA1−A2の前方面である
ことを示し、同図(b)はA2の後方面のうちA1の内部
にある画素・印がA1−A2の前方面であることを示し
ている。A1の前方面のうちA2の外部を表示する手順
は第8図のステップ106において、Cs=0かつzi
<zMのとき、zi,Ri,Gi,Biの書き込みを行えばよい。
A2の後方面のA1の内部を表示する方法も同様であ
る。この場合、A2の内面はA1−A2の外面になって
いる。FIG. 9 shows a cross section on the scanning plane of the difference A 1 -A 2 between the two convex bodies A 1 and A 2 . The figure (a) shows that the pixels / marks outside the A 2 of the front surface of the A 1 are the front surface of the A 1 -A 2 , and the figure (b) shows the rear surface of the A 2 It is shown that the pixel / mark inside A 1 is the front surface of A 1 -A 2 . The procedure for displaying the outside of A 2 on the front surface of A 1 is C s = 0 and z i in step 106 of FIG.
<Z M , z i , R i , G i , and B i may be written.
The method of displaying the inside of A 1 on the rear surface of A 2 is similar. In this case, the inner surface of the A 2 is in the outer surface of the A 1 -A 2.
合成体の表面の三原色強度Ri,Gi,Biの値を決定するには
以下の注意が必要である。第4図(c)に記載されている
(Ri,Gi,Bi)の値は基本立体の外面に対する三原色強度
を符号付きで示しているので、その基本立体の外面を表
示する場合には、(Ri,Gi,Bi)の値が非負であればその
まま、(Ri,Gi,Bi)が負であれば(0,0,0)に設定す
る。また、A1−A2におけるA2のようにその基本立
体の内面を表示する場合には、(Ri,Gi,Bi)の符号を反
転して(-Ri,-Gi,-Bi)とし、これらの値が非負であれ
ばそのまま、負であれば(0,0,0)に設定する。しかし
この方法では光源に対して裏向きの面は黒レベルで表示
されることになるので、これを次のような方法で避け
る。光源からの直射光Ioによる散乱反射強度Io co
sθiに一定の周囲光強度I′oを加え、式の代わり
に I1=Io cosθi+I′o … を反射強度とする。多面体の色相(r,g,b)にI′oを
乗じた R′o=r×I′o,G′o=g×I′o,B′o=b
×I′o … を前記のように得られた非負の強度(Ri,Gi,Bi)に加算
した(Ri+R′o,Gi+G′o,Bi+B′o)を
周囲光の加味された三原色強度として画像メモリ9に書
き込む。一般に合成体の構成要素である各基本立体の外
面を表示すべきか内面を表示すべきかは、後述するよう
にCSGトリーを座標系に変換したとき、基本立体に反転
記号が付いているか否かより決定できるから、上記の各
面の三原色強度の計算は座標変換直後に実行し、その結
果を第4図(c)の(Ri,Gi,Bi)として第2の図形メモリ
5に記憶すればよい。The following precautions must be taken to determine the values of the three primary color intensities R i , G i , and B i on the surface of the composite. The values of (R i , G i , B i ) shown in FIG. 4 (c) indicate the intensity of the three primary colors with respect to the outer surface of the basic solid body with a sign. Therefore, when displaying the outer surface of the basic solid body, is set to (R i, G i, B i) it if the value is non-negative, (R i, G i, B i) if is negative (0,0,0). Further, when displaying the inner surface of the primitive as A 2 in A 1 -A 2 is, (R i, G i, B i) codes inverted (-R i of, -G i, -B i ), if these values are non-negative, set them as they are, and if they are negative, set them to (0,0,0). However, with this method, the surface facing down from the light source is displayed in black level, so avoid this by the following method. Scattered reflection intensity I o co due to the direct light I o from the light source
A constant ambient light intensity I ′ o is added to sθ i , and I 1 = I o cos θ i + I ′ o ... Multiplying the hue (r, g, b) of the polyhedron by I ′ o R ′ o = r × I ′ o , G ′ o = g × I ′ o , B ′ o = b
× I ′ o ... Is added to the non-negative intensities (R i , G i , B i ) obtained as described above, and (R i + R ′ o , G i + G ′ o , B i + B ′ o ) is surrounded. It is written in the image memory 9 as the intensity of the three primary colors to which light is added. Generally, whether to display the outer surface or the inner surface of each basic solid that is a component of the composite body depends on whether the basic solid has an inversion symbol when the CSG tree is converted into the coordinate system as described later. Since it can be determined, the above calculation of the three primary color intensities of each surface is executed immediately after the coordinate conversion, and the result is stored in the second graphic memory 5 as (R i , G i , B i ) in FIG. 4 (c). do it.
次に3つの凸多面体A1,A2,A3の合成体の表示方法を種々
の合成式について説明する。第10図(a)はA1∨A2
∨A3の走査平面による断面を示しており、これを表示
するにはA1,A2,A3の外面を順次走査変換して表示すれば
よい。第10図(b)はA1∧A2∧A3の断面を示して
おり、これを表示するには、A1の外面のA2∧A3内
部、A2の外面のA3∧A1内部、A3の外面のA1∧
A2内部を順に表示すればよい。この操作を次式のよう
に表わす。Next, a method of displaying a composite body of the three convex polyhedrons A 1 , A 2 , and A 3 will be described using various composite expressions. Figure 10 (a) shows A 1 ∨ A 2
∨A shows a section along the scanning plane 3 may be displayed by sequentially scanning converting the outer surface of A 1, A 2, A 3 to display it. FIG. 10 (b) shows a cross section of A 1 ∧A 2 ∧A 3 , which can be displayed by displaying the inside of A 2 ∧A 3 on the outer surface of A 1 and the A 3 ∧A on the outer surface of A 2. 1 inside, A 1 ∧ on the outside of A 3
The inside of A 2 may be displayed in order. This operation is expressed by the following equation.
A1∧A2∧A3=A1⊆(A2∧A3)+A2⊆(A1∧A3)+A3⊆(A
1∧A2) … ここにA1⊆(A2∧A3)はA1の外面のうちA2∧
A3の内部を示しており、+記号はこれによって結合さ
れた各項を順次表示すべきことを示している。A1⊆
(A2∧A3)を第2のzバッファメモリ11及び論理
演算メモリ12を使って求める手順を第11図に示す。
以下の説明では、論理演算メモリ12の1画素に対する
1語を16ビットとして第12図に示すようにCs,Cs1,C
s2,…,Cs8に区分したものを使用する。まずステージ
201で多面体A1の前方面を描き、その深度をzsに
書き込む。ステージ202でA2の前方面及び後方面を
描き、A1の各画素がA2の内部にあるか外部にあるか
を判定し、その結果をCs1に書き込む。ステージ203
でA3の前方面及び後方面を描き、A1の各画素がA3
の内部にあるか外部にあるかを判定し、その結果をCs2
に書き込む。ステージ204でCs1∧Cs2→Csなる論
理演算を画素毎に実行し、A2∧A3の内部にある画素
を検出する。ステージ205でA1の前方面のR,G,B,z
を求め、Cs=1の画素のみを表示する。A2,A3につい
ても同様の方法で表示する。A 1 ∧A 2 ∧A 3 = A 1 ⊆ (A 2 ∧A 3 ) + A 2 ⊆ (A 1 ∧A 3 ) + A 3 ⊆ (A
1 ∧A 2) ... wherein the A 1 ⊆ (A 2 ∧A 3 ) is A 2 ∧ of the outer surface of A 1
The inside of A 3 is shown, and the + sign indicates that the terms connected by this should be sequentially displayed. A 1 ⊆
FIG. 11 shows a procedure for obtaining (A 2 ∧A 3 ) using the second z buffer memory 11 and the logical operation memory 12.
In the following description, one word for one pixel of the logical operation memory 12 is 16 bits, and as shown in FIG. 12, C s , C s1 , C
The one classified into s2 , ..., C s8 is used. First, the front surface of the polyhedron A 1 is drawn on the stage 201, and its depth is written in z s . The front surface and the rear surface of A 2 are drawn on the stage 202, it is determined whether each pixel of A 1 is inside or outside A 2 , and the result is written in C s1 . Stage 203
Draw the front and back surfaces of A 3 , and let each pixel of A 1 be A 3
Whether it is inside or outside, and the result is C s2
Write in. In the stage 204, a logical operation of C s1 ∧ C s2 → C s is executed for each pixel to detect a pixel inside A 2 ∧ A 3 . R, G, B, z in front of A 1 on stage 205
And display only the pixel of C s = 1. Displaying in a similar manner for the A 2, A 3.
第10図(c)は(A1∧A2)−A3の断面を示す。こ
れを表示するにはA1の外面のA2∧3内部、A2の
外面のA1∧3内部、A3の内面のA1∧A2内部を
順に表示すればよい。この操作は次式のように表わされ
る。FIG. 10 (c) shows a cross section of (A 1 ∧A 2 ) -A 3 . Internal A 2 ∧ 3 of the outer surface of the A 1 to see this, A 1 ∧ 3 inside the outer surface of the A 2, may be displayed A 1 ∧A 2 inside the inner surface of the A 3 in order. This operation is expressed by the following equation.
(A1∧A2)−A3=A1⊆(A2∧3)+A2⊆(A1∧3)+3⊆
(A1∧A2) … ここにA1⊆(A2∧3)における3は多面体A3
の外部領域を示しており、3⊆(A1∧A2)におけ
る3は多面体A3の内面を示している。内面を表示す
るにはその後方面のみを表示すればよい。A1⊆(A2
∧3)をzs及びCsを使って求める手順は第11図
におけるステージ204をCs1∧s2→Csと変更した
ものである。(A 1 ∧ A 2 ) −A 3 = A 1 ⊆ (A 2 ∧ 3 ) + A 2 ⊆ (A 1 ∧ 3 ) + 3 ⊆
(A 1 ∧A 2) ... wherein the A 1 ⊆ (A 2 ∧ 3 ) 3 in the polyhedron A 3
Shows the external region, 3 in 3 ⊆ (A 1 ∧A 2) shows the inner surface of the polyhedron A 3. To display the inner surface, only the rear surface should be displayed. A 1 ⊆ (A 2
The procedure for obtaining ∧ 3 ) by using z s and C s is that the stage 204 in FIG. 11 is changed to C s1 ∧ s2 → C s .
第10図(d),(e),(f),(g),(h)の合成体はそれぞれ
以下の操作で表示される。The composites of FIGS. 10 (d), (e), (f), (g), and (h) are displayed by the following operations.
A1−A2)−A3=A1∧2∧3=A1⊆(2∧3)+2⊆(A1
∧3)+3⊆(A1∧3) …… A1∨A2)∧A3=A1⊆A3+A2⊆A3+A3⊆
(A1∨A2) …… (A1∧A2)∨A3=A1⊆A2+A2⊆A1+A3
…… (A1∨A2)−A3=A1⊆3+A2⊆3+3
⊆(A1∨A2) …… A1−(A2−A3)=A1∧2∨A3)=A1⊆(2∨A3)+2⊆A
1+A3⊆A1 …… 第10図(b)〜(h)の太線は式〜によって表示すべき
基本立体の境界面を示したもので前方面,後方面の区別
はしていない。A 1 -A 2 ) -A 3 = A 1 ∧ 2 ∧ 3 = A 1 ⊆ ( 2 ∧ 3 ) + 2 ⊆ (A 1
∧ 3 ) + 3 ⊆ (A 1 ∧ 3 ) …… A 1 ∨ A 2 ) ∧ A 3 = A 1 ⊆A 3 + A 2 ⊆A 3 + A 3 ⊆
(A 1 ∨A 2 ) ... (A 1 ∧A 2 ) ∨A 3 = A 1 ⊆A 2 + A 2 ⊆A 1 + A 3
...... (A 1 ∨A 2) -A 3 = A 1 ⊆ 3 + A 2 ⊆ 3 + 3
⊆ (A 1 ∨A 2) ...... A 1 - (A 2 -A 3) = A 1 ∧ 2 ∨A 3) = A 1 ⊆ (2 ∨A 3) + 2 ⊆A
1 + A 3 ⊆A 1 ... The thick lines in Fig. 10 (b) to (h) indicate the boundary surface of the basic solid to be displayed by the formula ~, and the front surface and the rear surface are not distinguished.
次に、4個の多面体のCSGトリーの表示方法を一例を
あげて説明する。第13図(a)は4個の凸多面体A1,
A2,A3,A4の論理式 F=(A1∨A2)−(A3∧A4) … による合成体FのCSGトリーを示す。表示処理は次の
3ステップから成る。Next, a method for displaying the four CSG trees of polyhedra will be described with an example. FIG. 13 (a) shows four convex polyhedrons A 1 ,
The CSG tree of the composite body F by the logical formula F = (A 1 ∨A 2 ) − (A 3 ∧A 4 ) ... Of A 2 , A 3 , and A 4 is shown. The display process consists of the following three steps.
(1)CSGトリーの標準形への変換 (2)反転表,関数表,干渉表の作成 (3)基本立体の順次表示処理 この中で(1),(2)の処理は、基本立体毎の座標変換以前
に実行してもよい。(1) Conversion of CSG tree to standard form (2) Creation of inversion table, function table, interference table (3) Sequential display process of basic solids In these, the processes of (1) and (2) are for each basic solid It may be executed before the coordinate conversion of.
第13図(a)のCSGトリーを標準形に変換した結果を
第13図(b)に示す。これは式の論理式を次式のよう
に差演算を含まない形に変換したもののCSGトリーで
ある。The result of converting the CSG tree of FIG. 13 (a) to the standard form is shown in FIG. 13 (b). This is a CSG tree obtained by converting the logical expression of the expression into a form that does not include the difference operation as in the following expression.
F=(A1∨A2)∧(3∨4) … 標準形への変換方法を第14図に示す。まずCSGトリ
ー中のすべての差演算を第14図(a)のように積演算と
反転演算に分解する。次にこれによって生じた反転演算
記号をトリーに沿って基本立体まで移動する。第14図
(b),(c)に示すようにトリーの節で和や積に出合った
ら、ドモルガンの法則に従って和を積に、積を和に変え
ることにより、分岐しながら移動できる。第14図(d)
に示すようにトリーの枝で別の反転演算に出合ったなら
ば相殺消去する。最後に第14図(e)に示すように反転
演算子の付いている基本立体Aiを反転記号iを使っ
て表現する。F = (A 1 ∨A 2 ) ∧ ( 3 ∨ 4 ) ... FIG. 14 shows the conversion method to the standard form. First, all difference operations in the CSG tree are decomposed into product operations and inversion operations as shown in FIG. Next, the inversion operation symbol generated thereby is moved to the basic solid along the tree. Fig. 14
As shown in (b) and (c), if you encounter sums and products in the Tory's clause, you can move by branching by changing the sum to the product and the product to the sum according to Domorgan's law. Fig. 14 (d)
If another inversion operation is encountered on the branch of the tree as shown in, the cancellation is performed. Finally, as shown in FIG. 14 (e), the basic solid A i with the inversion operator is represented by using the inversion symbol i .
第13図(b)の標準形CSGトリーを使って、反転表,
関数表,干渉表を作成した結果を第15図に示す。第1
5図(a)の反転表は基本立体毎に、反転=1,非反転=
0の区別を示す。第15図(b)の関数表は式または式
を真理値表として展開したものである。第16図はこ
の関数表を図示したものであり、A1〜A4の包含関係
とそれにより区分された各領域にA4A3A2A1の4ビットの
符号を記入し、Fが真となる領域に斜線を施したもので
ある。この図から合成体Fを表示する操作は次式で表わ
される。Using the standard CSG tree of Fig. 13 (b),
FIG. 15 shows the result of creating the function table and the interference table. First
The inversion table in Fig. 5 (a) shows inversion = 1, non-inversion = for each basic solid.
The distinction of 0 is shown. The function table of FIG. 15 (b) is an expression or an expanded expression of the expression as a truth table. FIG. 16 is a diagram showing this function table, in which the 4-bit code of A 4 A 3 A 2 A 1 is entered in each area divided by the inclusion relation of A 1 to A 4 and F is The true area is shaded. From this figure, the operation of displaying the composite F is represented by the following equation.
F=A1⊆(3∨4)+A2⊆(3∨4)+3⊆(A1∨A2)+
4⊆(A1∨A2) …… すなわちA1の外面の3∨4内部,A2の外面の
3∨4内部、A3の内面のA1∨A2内部、A4の内
面のA1∨A2内部を順次表示すればよい。第16図の
太線は式に従って表示すべき基本立体の境界部分を示
している。式でA1とA2が相互干渉を不要としてい
るのは第13図(b)でA1とA2が和演算∨で結ばれて
いるためであり、A3とA4との関係も同様である。こ
のような基本立体間の相互干渉を示す表が干渉表であ
り、結果を第15図(c)に示す。これを作成するには、
対角要素が0,非対角要素が1の行列を作り、第13図
(b)のCSGトリーにおいてA1からFに向かって進
み、和演算ノードに出合ったらその和の相手側に属する
すべてのAiとの関係を不干渉とすべく行列の対応要素
に0を書き込む。これをA2,A3,A4についても行う。F = A 1 ⊆ ( 3 ∨ 4 ) + A 2 ⊆ ( 3 ∨ 4 ) + 3 ⊆ (A 1 ∨A 2 ) +
4 ⊆ (A 1 ∨ A 2 ) ... That is, 3 ∨ 4 inside of the outer surface of A 1 and of the outer surface of A 2 .
3 ∨ 4 inside, A 1 ∨A 2 inside the inner surface of the A 3, may be A 1 ∨A 2 inside the sequential display of the inner surface of the A 4. The thick line in FIG. 16 indicates the boundary portion of the basic solid to be displayed according to the formula. In the formula, A 1 and A 2 do not require mutual interference because A 1 and A 2 are connected by the sum operation ∨ in FIG. 13 (b), and the relationship between A 3 and A 4 is also It is the same. A table showing the mutual interference between such basic solids is an interference table, and the results are shown in FIG. 15 (c). To create this,
Create a matrix with 0 diagonal elements and 1 off-diagonal elements
In the CSG tree of (b), proceeding from A 1 to F, and when encountering a sum operation node, write 0 to the corresponding element of the matrix so that the relationship with all A i belonging to the other party of the sum does not interfere. . This is also done for A 2 , A 3 , and A 4 .
第15図の3つの表を用いて基本立体の順次表示を行う
手順を第17図に示す。これは3つの多面体のCSGト
リーの表示手順を4個の多面体の場合に拡張したもので
ある。ステップ303及び317では第15図(a)の反
転表を参照し、Aiの前方面または後方面のいずれかを
走査変換する。ステップ309では第15図(c)の干渉
表を参照し、値が0ならばAiとAjの干渉処理を省略
する。ステップ316では式の合成規則に従ってCs1,
Cs2,Cs3,Cs4の論理演算を行っているがそれには第15
図(b)の関数表をメモリ更新器8内に記憶しておき、A
1=Cs1,A2=Cs2,A3=Cs3,A4=Cs4として
この表を索引し、Fの値を求め、Csに書き込めばよ
い。第12図のCs1〜Cs8を使用すれば、最大8個まで
の基本立体から合成された合成体を以上述べた処理手順
で表示することができる。例えば、8個の基本立体から
なる合成体であれば、CSGトリーの標準形への変換、
反転表、関数表、干渉表の作成の後、第17図におい
て、ステップ305に記載の「Cs1〜Cs4を1で満た
す」を「Cs1〜Cs8を1で満たす」と変更し、ステップ
307に記載の「Cs1〜Cs4を0で満たす」を「Cs1〜
Cs8を0で満たす」と変更し、ステップ314に記載の
「j=4」を「j=8」と変更し、ステップ318に記
載の「j=4」を「j=8」と変更し、ステップ316
は、Cs1〜Cs8を用いて与えられた合成体の論理式の値
を求めて結果をCsとするように変更すればよい。FIG. 17 shows a procedure for sequentially displaying basic solids using the three tables in FIG. This is an extension of the display procedure of the CSG tree of three polyhedra to the case of four polyhedra. In steps 303 and 317, either the front surface or the rear surface of A i is scan-converted by referring to the inversion table of FIG. 15 (a). In step 309, the interference table of FIG. 15 (c) is referred to, and if the value is 0, the interference process of A i and A j is omitted. At step 316, C s1 ,
The logical operation of C s2 , C s3 , C s4 is performed,
The function table of FIG. (B) is stored in the memory updater 8, and A
This table is indexed as 1 = C s1 , A 2 = C s2 , A 3 = C s3 , A 4 = C s4 , the value of F is calculated, and it is sufficient to write in C s . By using C s1 to C s8 in FIG. 12, it is possible to display a composite body composed of up to eight basic solids by the processing procedure described above. For example, in the case of a composite body consisting of 8 basic solids, conversion of CSG tree to standard form,
After creating the inversion table, the function table, and the interference table, in FIG. 17, change “fill C s1 to C s4 with 1” described in step 305 to “fill C s1 to C s8 with 1”, In step 307, “fill C s1 to C s4 with 0” described in “C s1 to
C s8 is filled with 0 ”,“ j = 4 ”described in step 314 is changed to“ j = 8 ”, and“ j = 4 ”described in step 318 is changed to“ j = 8 ”. , Step 316
May be changed so that the value of the logical expression of the composite field given using C s1 to C s8 is obtained and the result is Cs.
(発明の効果) 以上、詳細に説明したように本発明による3次元画像表
示装置を用いれば、CSG表現から境界表現への変換を
せずに直接表示することが可能となり、多面体間の交差
を陽に求めるための大量で複雑な処理が不要となる。本
発明の装置によるCSG多面体の表示処理は、座標変換
器、多角形の走査変換器のような従来のハードウェアで
装備されている高速な演算装置やメモリの増設手段を用
いて実現できるので、高速化が可能である。従って本発
明はソリッドモデリングシステムの利用者が試行錯誤的
に繰り返し設定するCSG表現モデルをディスプレイを
介して対話的に検証するのに適している。また、本発明
によれば、所望の形状が得られた時点で改めてホストプ
ロセッサ等が時間をかけて境界表現に変換すればよく、
境界表現の多面体も従来の処理手順により高速に表示す
ることができる。(Effects of the Invention) As described above in detail, by using the three-dimensional image display device according to the present invention, it is possible to directly display without converting from the CSG representation to the boundary representation, and the intersection between the polyhedra can be displayed. It eliminates the need for a large amount of complicated processing for explicit calculation. Since the display processing of the CSG polyhedron by the device of the present invention can be realized by using a high-speed arithmetic device equipped with conventional hardware such as a coordinate converter and a polygonal scan converter, or a memory expansion means, Speeding up is possible. Therefore, the present invention is suitable for interactively verifying a CSG expression model which a user of a solid modeling system repeatedly sets through trial and error through a display. Further, according to the present invention, when the desired shape is obtained, the host processor or the like may take another time to convert it into the boundary representation,
A boundary expression polyhedron can also be displayed at high speed by the conventional processing procedure.
第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……論理演算メモリ。FIG. 1 is a block diagram showing a configuration of a three-dimensional image display device according to the present invention, FIG. 2 is a diagram showing a modified CSG tree,
FIG. 3 is an explanatory diagram of a definition method of a basic solid, FIG. 4 is an explanatory diagram of basic stereoscopic data converted into a screen coordinate system, and FIG. 5 is an explanatory diagram of basic stereoscopic data converted into a world coordinate system. 6 is a cross-sectional view of the sum of polyhedra, FIG. 7 is a cross-sectional view of the product of polyhedra, FIG. 8 is a flowchart showing a display processing procedure of the product of polyhedra, FIG. 9 is a cross-sectional view of the difference of polyhedra, and FIG. Is a cross-sectional view showing a CSG operation of three polyhedra, FIG. 11 is a flowchart showing a display processing procedure of a CSG tree of three polyhedra, and FIG. 12 is a view showing a division of a logical operation memory.
FIG. 14 is a diagram showing an example of a CSG tree of four polyhedra, FIG. 14 is an explanatory diagram of a conversion method of the CSG tree to a standard form, FIG. 15 is a diagram showing a table used for displaying the CSG tree, and FIG.
FIG. 17 is a diagram showing the inclusion relationship of basic solids, FIG. 17 is a flow chart showing the display processing procedure of four basic solid CSG trees, and FIG. 18 is a block diagram showing the configuration of a conventional 3D image display device. FIG. 19 is an explanatory diagram of a conventional polyhedral model creating method, and FIG. 20 is an explanatory diagram of a basic solid synthesizing method. 1 ... Host processor, 2 ... Host interface, 3 ... Control processor, 4 ... First graphic memory, 5 ... Second graphic memory, 6 ... Coordinate converter, 7 ... Scan converter, 8 ... Memory updater, 9 ... Image memory, 10 ... First z-buffer memory, 11 ... Second z-buffer memory, 12 ... Logical operation memory.
Claims (1)
である基本立体データとを記憶する第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次元画像表示装置。1. A first graphic memory for storing CSG expression data of a polyhedron and basic stereoscopic data which is a component thereof, and coordinate conversion and projection conversion for the basic stereoscopic data according to the CSG expression and viewpoint information. A coordinate converter for applying, a second graphic memory for storing the converted basic stereoscopic data, a scan converter for scanning and converting a polygon surrounding the basic solid to decompose it into pixel data having three primary color intensities and depths, and a screen. An image memory for storing the three primary color intensities of the three-dimensional image for each pixel, a first z-buffer memory for temporarily storing the depth for each pixel, and a front surface or a rear surface of only one of the basic solids in the CSG representation. A second z-buffer memory that temporarily stores only the depths of the constituent pixels when the surface is scanned and converted, and a second z-buffer memory for each of the constituent pixels on the front surface or the rear surface of the basic solid. A logical operation memory that determines whether the object is inside or outside of the solid and stores the result, and an operation that writes the pixel data with the depth to the image memory and the first z buffer memory while erasing the hidden surface. A z-buffer memory and a memory updater for controlling a logical operation memory are provided, and the memory updater includes: (a) an inversion table for each basic solid created by converting the CSG representation of the polyhedron, and interference between basic solids. A table, a function table of CSG logical expressions, (b) previously filling the image memory with a background color and the first z-buffer memory with a maximum depth value, and (c) one particular basis that constitutes the CSG representation. According to the value of the inversion table, the solid is scan-converted on either the front surface or the rear surface, the depth distribution is created in the second z buffer memory, and (d) the front surface is scan-converted by the processing of (c). If you do the logic If the inside / outside determination result portion of the arithmetic memory is filled with 1 and the rear surface is scan-converted in the process of (c), the inside / outside determination result portion of the logical operation memory is filled with 0, and (e) according to the value of the interference table, Scan-convert the front surface and the rear surface of each of the other basic solids that interfere with the basic solid, and (f) whether the depth stored in the second z-buffer memory is between the front surface and the rear surface. Whether or not it is determined for each pixel by using the determination counter of the logical operation memory, the determination result is written in the internal / external determination result part of the logical operation memory, and (g) the function table is obtained using the value of the combination of the internal and external determination results. The function value of is determined for each pixel, and it is discriminated into a visible pixel having a function value of 1 and an invisible pixel having a function value of 0, and (h) the front surface or the rear surface of the specific basic solid is scan-converted again to obtain the three primary color intensities. And the depth is obtained, and the function value is 1 A portion of the surface of the particular elementary solid by updating the values of the first z-buffer memory and the image memory when the depth is less than the depth of the corresponding pixel of the first z-buffer memory for Is displayed, and (i) the processes of (c) to (h) are sequentially performed for all basic solids represented by CSG to display a three-dimensional image of a polyhedron represented by CSG. Display device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP13834086A JPH0634239B2 (en) | 1986-06-16 | 1986-06-16 | 3D image display device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP13834086A JPH0634239B2 (en) | 1986-06-16 | 1986-06-16 | 3D image display device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS62296282A JPS62296282A (en) | 1987-12-23 |
| JPH0634239B2 true JPH0634239B2 (en) | 1994-05-02 |
Family
ID=15219627
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP13834086A Expired - Lifetime JPH0634239B2 (en) | 1986-06-16 | 1986-06-16 | 3D image display device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0634239B2 (en) |
Families Citing this family (1)
| 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 |
-
1986
- 1986-06-16 JP JP13834086A patent/JPH0634239B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS62296282A (en) | 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 (en) | Three-dimensional graphics processing method and apparatus | |
| KR970003325B1 (en) | Computer graphics display method and system with shadow generation | |
| US5357599A (en) | Method and apparatus for rendering polygons | |
| JPH0757117A (en) | Method and computer controlled display system for generating an index to a texture map | |
| JPH06231275A (en) | Image simulation method | |
| JPH0916806A (en) | Stereoscopic image processing device | |
| WO2000002165A1 (en) | Method for generating polygon data and image display using the same | |
| JPH0727579B2 (en) | Graphics processing device and method and pixel memory device | |
| US5745667A (en) | 3d graphics apparatus using texture images with displacement information | |
| JPH10508715A (en) | Computer graphic modeling system | |
| JP2832463B2 (en) | 3D model reconstruction method and display method | |
| JPH06222899A (en) | Multiwindow display system | |
| US5926183A (en) | Efficient rendering utilizing user defined rooms and windows | |
| JPH0634239B2 (en) | 3D image display device | |
| JPH09305791A (en) | Device and method for generating three-dimensional image | |
| JP2952585B1 (en) | Image generation method | |
| JP4017351B2 (en) | 3D model generation apparatus and 3D model generation program | |
| JP3132220B2 (en) | 3D model shape creation method | |
| Tolba | A projective approach to computer-aided drawing | |
| JP3071495B2 (en) | Object model editing device | |
| JPH0773342A (en) | Image generator | |
| JPH0737121A (en) | Image processing method | |
| JP2000067266A (en) | Raster image display method and editing method, and computer-aided graphic processing system using the same |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |