JPS63261468A - Graphic processing system - Google Patents

Graphic processing system

Info

Publication number
JPS63261468A
JPS63261468A JP62095143A JP9514387A JPS63261468A JP S63261468 A JPS63261468 A JP S63261468A JP 62095143 A JP62095143 A JP 62095143A JP 9514387 A JP9514387 A JP 9514387A JP S63261468 A JPS63261468 A JP S63261468A
Authority
JP
Japan
Prior art keywords
data
graphic
intersection
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.)
Pending
Application number
JP62095143A
Other languages
Japanese (ja)
Inventor
Mayumi Uchiyama
内山 まゆみ
Tooru Sakaibara
徹 酒井原
Akinori Myojin
明神 昭紀
Shuichi Senda
仙田 修一
Seiichi Kanema
金間 誠一
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62095143A priority Critical patent/JPS63261468A/en
Publication of JPS63261468A publication Critical patent/JPS63261468A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To reduce data processing volume and to rapidly detect an intersecting point by comparing picture elements in graphic data read out from a data base with three-dimensional coordinates and detecting an intersecting part between both the graphics. CONSTITUTION:A host computer 3 reads out graphic data 1, 2 from the data base 9 and sends them to a graphic processing processor 4. The processor 4 processes the graphic data 1, 2 by Z-buffer method by means of a Z-buffer 6 to form display data and sends the display data to a frame buffer memory 5. A display device 8 displays the graphic of an object so as to erase a recessed face three-dimensionally. On the other hand, the processor 4 finds out an intersecting part between the parts of the object from the graphic data 1, 2 and sends the obtained intersecting part data to the Z-buffer memory 6. Thus, the data processing volume can be reduced and the intersecting point can be rapidly detected.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、図形の三次元表示のための図形処理方式に関
わシ、特に、該三次元図形が複数の図形の結合からなる
場合のこれら図形間の交差部分(相貫線を求める図形処
理方式)に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a graphic processing method for three-dimensional display of a figure, particularly when the three-dimensional figure is composed of a combination of a plurality of figures. Concerning intersections between figures (figure processing method for finding intersecting lines).

〔従来の技術〕[Conventional technology]

CADにおいては、三次元物体の図形を三次元的に表示
する場合、この三次元物体を構成する各物体間の交差部
分を表示図形上で色などによって明示したシ、加工変形
表示したりするために、交差部分を表わす相貫線を求め
ることが多々ある。
In CAD, when the figure of a three-dimensional object is displayed three-dimensionally, the intersections between the objects that make up the three-dimensional object are clearly indicated by color, etc. on the displayed figure, and the processing deformation is displayed. It is often necessary to find intersecting lines that represent intersections.

従来、この相貫線を求める方法としては、たとえば、山
口富士大著「形状処理工学〔ID」日刊工業新聞社発行
(1982年)P、48に示されるように、物体を細か
い三次元曲面(部分曲面)の集合で表わし、たとえば、
ニュートン法などにより、計算機を用いて部分曲面間の
交差部分を数値的に求める方法、また、たとえば特開昭
61−25215号公報に開示されるように、各物体毎
にある方向からみた表面の各点の奥行きを表わす値(2
値)を設定し、物体間の2値を比較することによってこ
れら物体の交差点を求める方法などが知られている。
Conventionally, the method of finding this intersection line has been to convert an object into a fine three-dimensional curved surface ( For example,
There are methods such as Newton's method to numerically determine the intersections between partial surfaces using a computer, and methods for calculating the surface of each object viewed from a certain direction, as disclosed in Japanese Patent Application Laid-Open No. 61-25215. The value representing the depth of each point (2
A method is known in which the intersection of these objects is determined by setting a value (value) and comparing the two values between the objects.

これらの方法はいずれも、まず、各物体を部分曲面に分
解し、一方の物体のどの部分曲面と他方のどの部分曲面
とが交差しているかを知る必要がある。
In each of these methods, it is first necessary to decompose each object into subsurfaces and to know which subsurface of one object intersects with which subsurface of the other object.

一方、三次元物体の図形表示方法として、ある方向から
三次元物体を見た場合の三次元物体の表面の前後関係を
管理し、三次元物体の影になる部分の表示を抑止して見
える部分のみを表示するようにした隠面消去表示がある
。この代表的な方法はZバッファ法と呼ばれている。こ
のZバッファ法は、たとえば、William M、 
Newman 、 Robert F。
On the other hand, as a graphic display method for a three-dimensional object, the front and back of the three-dimensional object's surface when viewed from a certain direction is managed, and the visible portion of the three-dimensional object is suppressed from being displayed in the shadow. There is a hidden surface removal display that only displays the hidden surface. This typical method is called the Z-buffer method. This Z-buffer method is described, for example, by William M.
Newman, Robert F.

5proul著1” Prnciples of In
teractive ComputerGraphic
s J ?グロウヒル社発行(1979年)Chapt
er 14および16 に記載されるように、三次元物
体の三次元図形表示において、物体を表わす図形の各画
素毎に奥行きを表わす2値を設定し、これらをメモリ、
すなわちZバッファメモリに順次記憶するとともに、こ
れらZ値を比較して物体表面の前後関係を判定し、影と
なる部分の2値を消去して物体図形の隠面消去を行なう
ものである。
Written by 5proul 1” Principles of In
teractiveComputerGraphic
s J? Published by Growhill Publishing (1979) Chapter
As described in er 14 and 16, in the three-dimensional figure display of a three-dimensional object, a binary value representing the depth is set for each pixel of the figure representing the object, and these values are stored in memory,
That is, the Z values are sequentially stored in the Z buffer memory, and the front and back relationship of the object surface is determined by comparing these Z values, and the binary values of the shadow portion are erased to erase hidden surfaces of the object figure.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

ところで、ニュートン法によって交差部分を数値的に求
める上記方法は、計算量が非常に多くて計算機の負荷が
大きくなり、計算に時間がかかりすぎるという問題があ
った。
By the way, the above method of numerically determining the intersection using Newton's method has the problem that the amount of calculation is extremely large, resulting in a heavy load on the computer and the calculation taking too much time.

また、特開昭61−23215号公報に開示される方法
は、相貫線を求める場合、各図形に対して横。
Further, in the method disclosed in Japanese Patent Application Laid-Open No. 61-23215, when finding a mutual line, a line is drawn horizontally with respect to each figure.

縦のx、y座標、奥行きの2座標からなる同一のxyz
座標系を設定し、2つの図形1.2の同一画素(x、y
)に対する奥行き値2が同一か否かを比較判定するもの
であるが、これらを比較する毎にそのための奥行き値2
を計算しており、このために、この方法も、三次物体を
構成する部分物体の数が多くなるほど計算量が多くなυ
、処理時間が長くなるという問題があった。
Same xyz consisting of vertical x, y coordinates and two depth coordinates
Set the coordinate system and select the same pixel (x, y
) is compared to determine whether the depth values 2 are the same or not, but each time these are compared, the depth value 2 for that purpose is
For this reason, this method also requires more calculations as the number of subobjects that make up the tertiary object increases.
, there was a problem that the processing time became long.

一方、Zバッファ法による表示方法では、Zバッファメ
モリに奥行き値が格納されるので、この奥行き値2を用
いて2部分物体間の交差点を求めることが考えられる。
On the other hand, in the display method using the Z-buffer method, since the depth value is stored in the Z-buffer memory, it is possible to use this depth value 2 to find the intersection between two partial objects.

しかし、交差部分としては、三次元物体を見た方向から
みて見える部分ばフシでなく、見えない部分についても
知りたい場合があり、このような場合には、Zバッファ
法で見えない部分の奥行き値2が消去されてしまうこと
から、全ての交差部分を検出するということができず、
消去された部分での交差部分は再度2値を求めなければ
ならない。このために、やはシ交差部分検出に長時間を
要することになる。
However, when it comes to intersections, you may want to know not only the parts that are visible from the direction in which the three-dimensional object is viewed, but also the parts that are invisible. Since the value 2 is deleted, it is not possible to detect all intersections,
Binary values must be calculated again for the intersections of the erased parts. For this reason, it takes a long time to detect the intersection.

本発明の目的は、かかる問題点を解消し、交差部分検出
のためのデータ処理量を大幅に低減し、迅速に交差点を
検出することができるようにした図形処理方式を提供す
ることにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide a graphic processing method that solves these problems, significantly reduces the amount of data processing required for detecting intersections, and allows intersections to be detected quickly.

〔問題点を解決するための手段〕[Means for solving problems]

上記目的を達成するために、本発明は、データベースか
ら読み出される図形を表わす図形データ毎に画素の三次
元座標と該図形を細分化した区分を表わすIDとを形成
し、該三次元座標とIDとをメモリに記憶するとともに
、次にデータベースから読み出される該図形データの各
画素毎に、該メモリに記憶されているデータベースから
前に読み出された図形データの画素と三次元座標を比較
して図形間の交差部分を検出し、該交差部分の画素の三
次元座標とIDとを出力する。
In order to achieve the above object, the present invention forms three-dimensional coordinates of pixels and an ID representing a division into which the figure is subdivided for each figure data representing a figure read out from a database, and combines the three-dimensional coordinates and ID. and then compares the three-dimensional coordinates of each pixel of the graphic data read from the database with the pixel of the graphic data previously read from the database stored in the memory. Intersections between figures are detected, and three-dimensional coordinates and IDs of pixels at the intersections are output.

〔作用〕[Effect]

−Hデータベースから読み出された図形データに対して
は、画素の三次元座標やIDを形成するための処理が不
要となシ、計算機でのデータ処理量が大幅に低減できる
し、また、IDによって図形間の交差部分がよシ明確に
なる。
- For the graphic data read from the H database, there is no need for processing to form three-dimensional coordinates of pixels or IDs, and the amount of data processing by a computer can be significantly reduced. This makes the intersections between shapes much clearer.

〔実施例〕〔Example〕

以下、本発明の実施例を図面によって説明する。 Embodiments of the present invention will be described below with reference to the drawings.

−第1図は本発明による図形処理方式の一実施例を示す
ブロック図であって、1.2は図形データ、5はホスト
計算機、4は図形処理プロセッサ、5はフレームバッフ
ァメモリ、6は隠面消去用のZバッファメモリ、7は交
差検出用の2バッファメモリ群、71〜7nは交差検出
用のZバッファ、8は表示装置、9は図形データベース
である。
- FIG. 1 is a block diagram showing an embodiment of the graphic processing method according to the present invention, in which 1.2 is graphic data, 5 is a host computer, 4 is a graphic processing processor, 5 is a frame buffer memory, and 6 is a hidden A Z buffer memory for surface erasure, 7 a two-buffer memory group for intersection detection, 71 to 7n Z buffers for intersection detection, 8 a display device, and 9 a graphic database.

次に、第2図をもとにこの実施例の動作を説明する。Next, the operation of this embodiment will be explained based on FIG.

図形データベース9には、表′示に必要な種々の三次元
対象物が夫々単純な部分に分解されたときの各部分に対
する図形データが格納されている。
The graphic database 9 stores graphic data for each part when various three-dimensional objects required for display are decomposed into simple parts.

そこで、外部から所望の対象物を指定すると、ホスト計
算機3により、この対象物を構成する部分の図形データ
1,2が図形データベース9から読み出され、図形処理
プロセッサ4に送られる。この図形処理プロセッサ4は
Zバッファメモリ6を用い Z バッファ法によってこ
れら図形データ1゜2を処理して表示データを作成し、
これをフレームバッファメモリ5に送る。これにより、
表示装置8では、対象物に対する図形が三次元的に隠面
消去表示される。以上が第2図(a)のステップ111
である。これとともに、図形処理プロセッサ4は交差検
出用Zバッファメモリ群7を用いて、図形データ1,2
によシ、対象物の部分間の交差部分(相貫線)を求め、
得られた交差部分データをZバッファメモリ6または他
の手段に送る。以上が第2図(a)のステップ112で
ある。これによシ、表示装置ii8では、表示された全
体図形上に対象物の部分間の交差部分が特定の色などで
もって表示され、あるいは他の手段でもってこの交差部
分が指示される。
Therefore, when a desired object is specified from the outside, the host computer 3 reads out the graphic data 1 and 2 of the parts constituting this object from the graphic database 9 and sends it to the graphic processor 4 . This graphic processing processor 4 uses the Z buffer memory 6 to process the graphic data 1.2 by the Z buffer method to create display data.
This is sent to the frame buffer memory 5. This results in
On the display device 8, the figure for the object is displayed three-dimensionally with hidden surfaces removed. The above is step 111 in FIG. 2(a).
It is. At the same time, the graphic processor 4 uses the intersection detection Z buffer memory group 7 to process the graphic data 1 and 2.
Finally, find the intersection (intersection line) between parts of the object,
The obtained intersection data is sent to the Z-buffer memory 6 or other means. The above is step 112 in FIG. 2(a). Accordingly, on the display device ii8, the intersection between the parts of the object is displayed in a specific color on the displayed overall figure, or the intersection is indicated by other means.

以上がこの実施例の全体的な処理動作である。The above is the overall processing operation of this embodiment.

次に、第2図(a)のステップ112を詳細に説明する
が、その前にこの説明に必要な2値、IDについて説明
する。
Next, step 112 in FIG. 2(a) will be explained in detail, but before that, the binary values and ID necessary for this explanation will be explained.

2値は隠面消去表示や交差部分検出を行なうに必要なデ
ータである。いま、表示対象物が円柱状の物とその曲面
に差し込まれた円柱状のものとからなり、これら物品の
図形を図形1.2として第3図(a)に示す方向から見
た図形表示を行なうものとする。また、第1図の図形デ
ータ1は図形1を表わし、図形データ2は図形2を表わ
すものとする。
Binary values are data necessary to perform hidden surface removal display and intersection detection. Now, the objects to be displayed consist of a cylindrical object and a cylindrical object inserted into the curved surface of the object, and the figures of these objects are assumed to be figure 1.2, and the figure displayed as seen from the direction shown in Figure 3(a) is shall be carried out. Further, it is assumed that graphic data 1 in FIG. 1 represents graphic 1 and graphic data 2 represents graphic 2.

一方、1つの物体を考えると、第4図に示すように、1
つの物体Aは1つあるいは複数の部品AI。
On the other hand, considering one object, as shown in Figure 4, 1
One object A is one or more parts AI.

A2.・・・からなυ、各部品も1つあるいは複数の部
品要素B1 、B2.B3.B4 、・・・からなる。
A2. ...from υ, each part also has one or more part elements B1, B2. B3. Consists of B4,...

また。Also.

これらの部品要素も1つあるいは複数のパッチCI。These component elements also have one or more patch CIs.

C2,C3,・・・からなっている。このように% 1
つの物体は各部分に分解することができ、さらに、各部
分はよυ小さな部分に分解することができるように、順
次細分化していくことができる。たとえば、円柱状の物
品を例にすると、たとえば、第5図に示すように、その
表面を多数の平面1a。
It consists of C2, C3,... Like this %1
An object can be broken down into parts, and each part can be further subdivided into smaller parts. For example, if we take a cylindrical article as an example, its surface may be covered with a number of flat surfaces 1a, as shown in FIG.

1b、1c、1d、・・・の集合とすることができ、こ
の物品を部品要素とすると、これら平面が夫々パッチと
いうことになる。図形データベース9に格納される図形
データは、夫々表示対象物を構成する各物品の図形を表
わしているが、それを細分化した区分を表わすデータの
集合である。たとえば。
1b, 1c, 1d, . . . , and if this article is a component element, each of these planes will be a patch. The graphic data stored in the graphic database 9 represents the graphic of each item constituting the display object, and is a collection of data representing subdivisions thereof. for example.

第5図に示すように、物品が部品要素であるとすると、
この部品要素の図形データはパッチ1a。
As shown in Fig. 5, if the article is a component element,
The graphic data of this part element is patch 1a.

1b、1c、1d、・・・の夫々に対するデータからな
っている。
It consists of data for each of 1b, 1c, 1d, .

図形データが物品の全ての図形を表わすデータからなる
ものとすると、データ量が膨大となって図形データベー
ス9の容量が非常に大きなものとなる。このために、図
形データとしては、物品を構成する各区分について、そ
れの図形を特徴づけるデータのみからなるものとしてい
る。たとえば第5図のような場合、各パッチ1 a 、
 1 b 、 1c、Id。
If the graphic data consists of data representing all the graphics of the article, the amount of data will be enormous and the capacity of the graphic database 9 will be extremely large. For this reason, the graphic data consists only of data that characterizes the graphic of each category constituting the article. For example, in the case shown in FIG. 5, each patch 1 a,
1b, 1c, Id.

・・・の各図形は少なくとも角部を表わすデータ(矩形
、正方形の場合には、対角線上にある2つの角部)だけ
でその平面を表わすことができ、これら特徴点のデータ
の集合を部品要素の図形の図形データとすることができ
る。
The plane of each figure can be represented by at least the data representing the corners (in the case of a rectangle or square, the two diagonal corners), and the set of data of these feature points can be expressed as a part. It can be the graphical data of the element's graphic.

さて、第3図(a)に示すように図形表示を行なう場合
、ホスト計算機3はこれら図形1.2を見る方向を2軸
とし、これを基単として横方向をX軸、高さ方向を、、
y軸とするxyz座標系を設定し、図形データベース9
から読み出した図形データ1゜2からこのx7z座標系
における図形1.2の各点のX値、y値、2値を求める
。このy値が生の2値であって、奥行きを表わす値であ
る。ここで、X値、y値は、第2図(a)のXy平面か
ら図形1゜2をみると第6図のように表わされるが、こ
のXy平面をX軸、y軸に平行に表示装置8(第1図)
の画面上の各画素に対して区分したときの原点(0,0
)からのX軸方向、y軸方向の画素単位の位置を表わし
ている。2値についても、奥行きに対して同じ画素単位
を規定し、x7z座標系での原点(0,0,0)からの
2軸方向の画素単位の位置を表わしている。
Now, when displaying a figure as shown in FIG. 3(a), the host computer 3 uses the directions in which these figures 1 and 2 are viewed as two axes, and based on these, the horizontal direction is the X axis, and the height direction is the axis. ,,
Set the xyz coordinate system as the y-axis, and create the figure database 9.
The X value, y value, and binary values of each point of the figure 1.2 in this x7z coordinate system are determined from the figure data 1°2 read from the figure data 1°2. This y value is a raw binary value that represents depth. Here, the X and y values are expressed as shown in Figure 6 when the figure 1°2 is viewed from the Xy plane in Figure 2 (a), and this Xy plane is expressed parallel to the X and y axes. Device 8 (Figure 1)
The origin (0, 0
) represents the position of each pixel in the X-axis direction and the y-axis direction. For binary values, the same pixel unit is defined for depth, and represents the position of the pixel unit in the two axis directions from the origin (0, 0, 0) in the x7z coordinate system.

ところで、第3図(a)の場合、2つの図形1.2の交
差部分相貫線は符号200で示す部分である。
By the way, in the case of FIG. 3(a), the intersecting line of the two figures 1.2 is the part indicated by the reference numeral 200.

この交差部分200を表示装置8で開示する場合には問
題ないが、これを他の手段(たとえば、文字表示など)
で表示する場合には、図形1のどの部分と図形2のどの
部分とが交差しているかを明らかにしなければならない
。このために、IDが用いられるのである。このIDは
図形1.2の細分化された区分毎に設定される。先に説
明したように、図形データベース9に格納されている各
図形データ1,2.・・・は、夫々図形における区分の
特徴を表わすデータの集合であり、このデータ毎にID
が異なる。したがって、このIDは図形とその細分化さ
れた区分とを表わしている。たとえば、第5図に示す物
品の図形の場合、各パッチ1a、1b。
There is no problem if this intersection 200 is displayed on the display device 8, but it can be displayed by other means (for example, character display, etc.).
When displaying the figure, it is necessary to clarify which part of figure 1 and which part of figure 2 intersect. For this purpose, IDs are used. This ID is set for each subdivision of the figure 1.2. As explained above, each figure data 1, 2 . . . . is a collection of data each representing the characteristics of the division in the figure, and each of this data has an ID.
are different. Therefore, this ID represents the figure and its subdivisions. For example, in the case of the shape of the article shown in FIG. 5, each patch 1a, 1b.

Ic、1d 、・・・毎にIDが設定される。An ID is set for each Ic, 1d, .

i@1図における交差検出用2バツフアメモリ71゜7
2、・・・、7nは、夫々、第3図(a)のように設定
されたxyz座標系でのX軸、y軸との対(x、y)を
アドレスとし、これらX軸、y軸に対するX値とIDと
を対するデータ(第7図)をアドレス(x。
2 buffer memory for intersection detection in i@1 diagram 71°7
2, . . . , 7n are respectively addressed by the pair (x, y) of the X-axis and y-axis in the xyz coordinate system set as shown in FIG. 3(a). Address (x.

y)に記憶するZバッファメモリである。y).

以上のことをもとにして、第2図(a)のステップ11
2の詳細を第2図(b)〜(d)によって説明する。な
お、ここでは、説明を簡単にするために、各図形データ
1.2はパッチを表わすデータからなるものとする。
Based on the above, step 11 in Fig. 2(a)
2 will be explained in detail with reference to FIGS. 2(b) to 2(d). Here, in order to simplify the explanation, it is assumed that each graphic data 1.2 consists of data representing a patch.

まず、第2図(b)において、ホスト=を算機sは、図
形データベース9から所定の図形データ1.2を読み出
す前に、交差検出用Zバッファメモリ71゜72、・・
・、7nを全て初期化する。これは、夫々のアドレス(
x、y)に対して、IDの領域をクリアするとともに、
2値の領域を最大値にプリセットする(ステップ112
1 )。次に、ホスト計算機3は図形データベース9か
ら一方の図形データ1を読み出し、各2値にIDを付加
して交差検出用Z/<ラフアメモリ群7に記憶される(
ステップ1122)のであるが、これを第2図(c)に
よって詳細に説明する。
First, in FIG. 2(b), before reading predetermined graphic data 1.2 from the graphic database 9, the host computer s uses the intersection detection Z buffer memories 71, 72, . . .
・, 7n are all initialized. This is the respective address (
x, y), clear the ID area and
Preset the binary area to the maximum value (step 112
1). Next, the host computer 3 reads one of the graphic data 1 from the graphic database 9, adds an ID to each binary value, and stores it in the intersection detection Z/< rough memory group 7 (
Step 1122) will be explained in detail with reference to FIG. 2(c).

まず、ホスト計算機3は、図形データ1の最初に読み出
すべきパッチに付すべきIDを設定しくステップ112
21 )、図形データ1を読み出す前に、最初の交差検
出用Zバッファメモリ71を選択する(ステップ112
22 )。次に、図形データ1の読み出しを開始するの
であるが、この読み出し方法を次の通りである。
First, in step 112, the host computer 3 sets an ID to be attached to the patch to be read first in the graphic data 1.
21), before reading the graphic data 1, select the first Z buffer memory 71 for intersection detection (step 112).
22). Next, the reading of the graphic data 1 is started, and the reading method is as follows.

すなわち、第5図(a)において、図形1は各y値V、
+ 72 、’15 +・・・毎にxyz平面で区分さ
れ、これらxz平面のデータが順番にホスト計算機3で
読み出される。ホスト計算機3は1つのxz平面につい
て、X値毎の2値を求めるとともに、これによりt−付
加する。すなわち、第3図(a)の図形1をy値がy、
であるxz平面についてみた場合を第8図で示すと、こ
の図形1の表面上でのX値X1.X2゜:・・+ x+
+での点(画素)が夫々”+ *P2 + ”’ I 
P2+として表わされ、これら画素p、、p2.・・・
、P2.に対する2値が求められる。
That is, in FIG. 5(a), figure 1 has each y value V,
+ 72 , '15 + . . . on the xyz plane, and the data on these xz planes are sequentially read out by the host computer 3. The host computer 3 calculates two values for each X value for one xz plane, and adds t- to the two values based on the two values. That is, the y value of figure 1 in FIG. 3(a) is y,
When looking at the xz plane, which is shown in FIG. 8, the X value on the surface of figure 1 is X1. X2゜:...+ x+
Each point (pixel) at + is ``+ *P2 + ''' I
P2+, and these pixels p, , p2 . ...
, P2. The binary values for are calculated.

また、図形1の側面が画素P、乍P6、点P6〜P1.
Also, the side surface of figure 1 is pixel P, 乍P6, points P6 to P1.
.

画素p、1〜P169画素P、6〜P、の4個のパッチ
からなるものとすると、夫々のパッチに対して図形1と
ハ、ツチとを表わすIDが指定される。ここでは、夫々
のパッチのrDを図示するように、  ID、、ID2
゜ID、、ID4としている。
Assuming that the patch consists of four patches: pixel p, 1 to P169 and pixel P, 6 to P, IDs representing figures 1, C, and Tsuchi are designated for each patch. Here, to illustrate the rD of each patch, ID, , ID2
゜ID,,ID4.

ところで、先に説明したように、図形データベース9か
ら読み出される図形データ1がノ(ツチの特徴点を表わ
すデータからなるものとすると、この特徴点のデータか
らパッチの各点のX値、y値。
By the way, as explained earlier, if the graphic data 1 read from the graphic database 9 consists of data representing the feature points of .

2値を求める必要があるが、これらは、たとえば、線型
補間によって求めることができる。すなわち、第9図に
おいて、パ、ンチ1aが矩形状をなして一方の対向する
2つの辺がX軸に平行、他方の対向する2つの辺がy軸
に平行とし、対角線上にある一方の頂点となる画素の座
標値がX。、yol 20 、他方の頂点となる画素の
座標値がXy + ’11 ’ zmとすると、このパ
ッチ1a上の任意の画素の座標値(xh 1y、 、 
z、 )は、線型補間により、次のように表わされる。
Although it is necessary to obtain binary values, these can be obtained, for example, by linear interpolation. That is, in FIG. 9, the punch 1a has a rectangular shape, one of which has two opposing sides parallel to the X-axis, and the other two opposing sides which are parallel to the y-axis. The coordinate value of the pixel that becomes the vertex is X. , yol 20 , and the coordinate value of the pixel serving as the other vertex is Xy + '11' zm, then the coordinate value of any pixel on this patch 1a (xh 1y, ,
z, ) is expressed as follows by linear interpolation.

パッチ1aがy軸に平行な直線を中心軸とする円柱表面
の一部となしていれば%ZOIZ、とこの円柱の断面半
径などから各(xh、 y、 )上の2値を求めること
ができる。なお、第8図のようにs’11のときのxz
平面の各画素の2値を求めるということは。
If patch 1a is part of the surface of a cylinder whose central axis is a straight line parallel to the y-axis, we can calculate the binary values on each (xh, y, ) from %ZOIZ and the cross-sectional radius of this cylinder. can. In addition, as shown in Fig. 8, xz at s'11
What does it mean to find the binary value of each pixel on a plane?

第9図においては、y=y、のときのバッチ1a上の線
LK沿う各画素の2値を求めることである。
In FIG. 9, the purpose is to obtain the binary value of each pixel along the line LK on the batch 1a when y=y.

第8図についてみると、ホスト計算機3が図形1におけ
るy、でxz平面での酵み出しを開始する画素はどこで
もよいが、いま、画素P1から読み出しを開始するとす
れば、画素P、の(X1+ yl 、 Z、)が求めら
れ、この2値2.にステップ11221で設定されたI
D(ここでは、ID、)を付加して(ステップ1122
4 ) X、 、ylとともに図形プロセッサ4に送る
Referring to FIG. 8, the host computer 3 may start reading out any pixel on the y, xz plane in the figure 1, but if it starts reading from the pixel P1, the pixel P ( X1+ yl, Z,) is obtained, and this binary value 2. I set in step 11221 to
D (in this case, ID) is added (step 1122
4) Send it to the graphic processor 4 along with X, , yl.

図形処理プロセッサ4では、ステップ11222で選択
された交差検出用2バツフアメモリ71のアドレス(x
、、y、)に既に2値とIDとが記憶されているか否か
を判定する(ステップ11226 )。
In the graphic processor 4, the address (x
,,y,) is already stored with a binary value and an ID (step 11226).

このアドレス(xl t 11 )が未記憶状態にある
ときには、第10図に示すように、2.をID、ととも
にこのアドレス(xHl yl )に記憶する(ステッ
プ11228)。以下同様にして、画素P2.・・・、
P5について夫々の2値Z2.・・・+Z5がID、と
ともに交差検出用2バツフアメモリ71に記憶される。
When this address (xl t 11 ) is in an unstored state, as shown in FIG. 10, 2. is stored at this address (xHly yl ) along with the ID (step 11228). Similarly, pixel P2. ...,
For P5, each binary value Z2. . . . +Z5 is stored in the two-buffer memory 71 for intersection detection together with the ID.

次に読み出される画素P6が次のパッチに属しているも
のとすると、これが判定され(ステップ11224)で
IDがより2に更新され(ステップ11225)、この
より2がこの画素P6の2値に付加されてX値、y値と
ともに図形処理プロセッサ4に供給される。以下、この
パッチの各画素P7〜Ptoに対するy値にID2が付
加され、上記と同様にして、交差検出用2バツフアメモ
リ71のアドレス(X。
Assuming that the next pixel P6 to be read belongs to the next patch, this is determined (step 11224), the ID is updated to 2 (step 11225), and 2 is added to the binary value of this pixel P6. and is supplied to the graphics processor 4 along with the X value and the y value. Thereafter, ID2 is added to the y value for each pixel P7 to Pto of this patch, and in the same manner as above, the address (X) of the two-buffer memory 71 for intersection detection is added.

y、)に順次記憶されす。y, ).

このようにして画素P4.(但し、この点のIDはより
5とする)までの2値が交差検出用Zバッファメモリ7
1に記憶され、次に、画素P、2についてX値、y値(
但し、)’、)、y値が求められてこれらとID3が図
形処理プロセッサ4に供給されると、図形処理プロセッ
サ4はこの画素”+2に対する交差検出用Zバッファメ
モリ71のアドレス(X、。。
In this way, pixel P4. (However, the ID of this point is set to 5.) The two values up to
1, and then the X value, y value (
However, when )', ), y values are determined and these and ID3 are supplied to the graphic processor 4, the graphic processor 4 determines the address (X, .

y、)には既に画素P、oに対する2値z1oとID2
とが記憶されている。このために、i=2として交差検
出用Zバッファメモリ72を選択しくステップ1122
7 )、そこのアドレス(xlo 、)’、) K z
12とID、を記憶する。以下同様にして、画素P、5
〜P2.の2値がIDを付加されて交差検出用Zバッフ
ァメモリ72に記憶される。
y,) already contains the binary values z1o and ID2 for pixels P and o.
is remembered. For this purpose, the intersection detection Z buffer memory 72 is selected with i=2 in step 1122.
7), its address (xlo,)',) K z
12 and ID. Similarly, pixels P, 5
~P2. The two values are added with an ID and stored in the Z-buffer memory 72 for intersection detection.

以上の動作により、第8図に示したxz平面上の図形1
の交差検出用Zバッファメモ1J71に記憶される部分
は、第11図(a)に実線で示すように、xy平面から
見える部分(前面)であシ、交差検出用Zバヴフ7メモ
リ72記憶される部分は、第11図(b)に実線で示す
ように、上記前面に隠れた部分である。
Through the above operations, figure 1 on the xz plane shown in FIG.
The part stored in the Z buffer memo 1J71 for intersection detection is the part (front) visible from the xy plane, as shown by the solid line in FIG. The portion hidden behind the front surface is shown by the solid line in FIG. 11(b).

以上のように、xz平面での図形形状が円の場合には、
とのxz平面に対し、その前面とこれの影となった部分
との2値を記憶するだめの2個の交差検出用2バツフア
メモ1J71,72が用いられるが、たとえば、第12
図(a)に示すようなxz平面での形状が平行四辺形で
あるとし、夫々の頂点をQ、 、Q2 、Q3 、Q4
として図形データを画素Q。から矢印方向に読み出すと
すると、第2図(c)における上記の動作では1画素Q
。から画素Q、を経て画素Q2までの2値が交差検出用
2バツフアメモリ71に記憶され(第12図(b))、
画素Q2から画素Q、を経て画素Q4″1での2値が交
差検出用Zバッファメモリ72に記憶され(*12図(
C))、画素Q4から画素Qotでの2値が交差検出用
Zバッファメモリ73に記憶される(第12図(d))
ことになシ、3個の交差検出用Zバッファメモリが使用
される。このように、xz平面より図形に応じて使用さ
れる交差検出用Zバッファメモリの数が変わってくる。
As mentioned above, when the figure shape on the xz plane is a circle,
For the xz plane of
Assume that the shape on the xz plane as shown in figure (a) is a parallelogram, and the respective vertices are Q, , Q2 , Q3 , Q4
The graphic data as pixel Q. If we read out in the direction of the arrow from
. The binary values from pixel Q to pixel Q2 are stored in the two-buffer memory 71 for intersection detection (FIG. 12(b)).
From pixel Q2 to pixel Q, the binary values at pixel Q4''1 are stored in Z buffer memory 72 for intersection detection (*12 figure (
C)), the binary values from pixel Q4 to pixel Qot are stored in the Z buffer memory 73 for intersection detection (FIG. 12(d))
In particular, three cross-detection Z-buffer memories are used. In this way, the number of Z buffer memories used for intersection detection changes depending on the shape of the xz plane.

y、に対するxz平面の各点の2値とIDとが交差検出
用Zバッファメモリ群7に記憶される(ステップ112
29)と、次に、y2に対するxz平面について(ステ
ップ112211 )同様の処理を行ない、以下、順次
y5 、y41・・・について処理を行なって図形デー
タ1に対する処理が終了すると(ステップ112210
 )、使用した交差検出用Zバッファメモリの数N、す
なわち、何番目の交差検出用Zバッファメモリを使用し
たかを表わすデータを最終の交差検出用Zバッファメモ
リ7nに記憶する(ステップ112212)。
The binary values and IDs of each point on the xz plane with respect to y are stored in the intersection detection Z buffer memory group 7 (step 112
29), and then the same process is performed for the xz plane for y2 (step 112211), and thereafter, the process is sequentially performed for y5, y41, etc., and when the process for graphic data 1 is completed (step 112210)
), the number N of Z-buffer memories for intersection detection used, that is, data representing the number of Z-buffer memories for intersection detection used, is stored in the final Z-buffer memory 7n for intersection detection (step 112212).

以上が第2図(b)におけるステップ1122の動作で
あり、図形データベース9から最初に読み出される図形
データ1に対する2値とrDとが全て交差検出用Zバッ
ファメモリ群7に記憶される。
The above is the operation of step 1122 in FIG. 2(b), and all the binary values and rD for the graphic data 1 read first from the graphic database 9 are stored in the Z buffer memory group 7 for intersection detection.

なお、この処理中において、図形データ1の各2値はZ
バッファメモリ6にも記憶され、Zバッファ法によって
処理されて図形1の見る方向から見える部分の2値のみ
が最終的にZバッファメモリに残ることになる。
Note that during this process, each binary value of graphic data 1 is Z
The data is also stored in the buffer memory 6 and processed by the Z-buffer method, so that only the binary values of the portion visible from the viewing direction of the figure 1 ultimately remain in the Z-buffer memory.

次に、第2図(b)のステップ1123に移シ、第3図
における図形1.2間の交差部分200の検出処理が行
なわれるが、これは、例えば、第13図に示すように、
パッチ1a、1b、1c、1d、・・・からなる図形1
とパッチ2a 、 2b 、 2c 、 2d 、・・
・からなる図形2との交差部分の座i(x、y、z)と
交差する図形1.2のパッチを表わすIDを求める処理
である。
Next, the process moves to step 1123 in FIG. 2(b), and a process for detecting an intersection 200 between figures 1 and 2 in FIG. 3 is performed, for example, as shown in FIG.
Figure 1 consisting of patches 1a, 1b, 1c, 1d,...
and patches 2a, 2b, 2c, 2d,...
This process calculates the ID representing the patch of figure 1.2 that intersects with the locus i (x, y, z) of the intersection with figure 2 consisting of .

表示装置8でこの交差部分を明示する場合には、座標(
x+ y+Z)を用いてZバッファメモリ6やフレーム
バッファメモリ5の内容を処理すればよいが1文字など
でこの交差部分を表示する場合には、IDが用いられる
When displaying this intersection clearly on the display device 8, the coordinates (
x+y+Z) may be used to process the contents of the Z buffer memory 6 or frame buffer memory 5, but if this intersection is to be displayed using one character or the like, an ID is used.

この交差部分検出処理動作を概略的に説明すると、第3
図のx7z座標系に対しであるy値ykでのxz平面を
みると、第14図のようになる。この場合、図形1に対
する図形データ1は既に交差検出用Zバッファメモリ群
7に記憶されており、図形2に対する図形データ2を図
形データベース9から読み出し、図形データ1による座
標(x。
To roughly explain this intersection detection processing operation, the third
When looking at the xz plane at a certain y value yk with respect to the x7z coordinate system in the figure, it becomes as shown in FIG. 14. In this case, figure data 1 for figure 1 has already been stored in Z buffer memory group 7 for intersection detection, figure data 2 for figure 2 is read from figure database 9, and the coordinates (x) according to figure data 1 are read out from figure database 9.

y、z)と図形データ2による座標(x、y 、z)と
の−散点を見つけ出すのである。
y, z) and the coordinates (x, y, z) according to the graphic data 2.

以下、この交差部分の検出処理動作を第2図(d)によ
って具体的に説明する。
The operation of detecting this intersection will be specifically explained below with reference to FIG. 2(d).

ステップ11231〜11235は図形データ1に対す
る第2図(c)のステップ11221〜11225と同
様である。すなわち、図形データ2のy値へに対するX
値と2値2.とが求められ、このzaにIDが付加され
る。但し、図形2のパッチに付されるIDは図形1のパ
ッチに付されたIDと異なる。
Steps 11231 to 11235 are similar to steps 11221 to 11225 in FIG. 2(c) for graphic data 1. In other words, X for the y value of graphic data 2
Value and binary 2. is obtained, and an ID is added to this za. However, the ID given to the patch of figure 2 is different from the ID given to the patch of figure 1.

次に、図形処理プロセッサ4は交差検出用2バツフアメ
モリ71のアドレス(x、yk)から図形1に対する2
値2βを読み出しくステップ11237)、これを図形
2に対する上記2値2゜と比較する(ステラ7’112
3B)。両者が一致していれば、この座標(x、yk、
z、)が図形1.2の交差部分の一点(一画素)となシ
、これを出力する(ステップ11259)、とともに、
この画素を含む図形2のIDと交差検出用2バツフアメ
モリ71におけるアドレス(x 、 yk)の図形1に
対するIDを出力する(ステップ112310)。これ
ら座標とIDとは交差部分を明示するために用いられる
。しかる後、次の交差検出用Zバッファメモリ72に移
り(ステップ112511 )、同様の交差部分検出動
作を行なう。2.が2βに一致しない場合には、直ちに
次ノ交差検出用Zバックアメモリ72に移る。
Next, the graphic processor 4 uses the address (x, yk) of the two-buffer memory 71 for intersection detection to generate two
Read the value 2β (Step 11237) and compare it with the binary value 2° for figure 2 (Stella 7'112).
3B). If both match, this coordinate (x, yk,
z,) is one point (one pixel) at the intersection of figure 1.2, output this (step 11259), and
The ID of figure 2 including this pixel and the ID for figure 1 at the address (x, yk) in the two-buffer memory for intersection detection 71 are output (step 112310). These coordinates and ID are used to clearly indicate the intersection. Thereafter, the process moves to the next Z buffer memory 72 for intersection detection (step 112511), and a similar intersection detection operation is performed. 2. If it does not match 2β, the process immediately moves to the next Z-back memory 72 for cross detection.

以上の動作は、第14図に示したxz平面についてみる
と、図形2の各点毎にその座標を、まず、図形1の交差
検出Zバ・ノファメモリ71に記憶されている各点の座
標と比較し、次に交差検出用2バツフアメモリ72に記
憶されている各点の座標と比較していることになり、交
差検出用Zバッファメモリ71に対しては、第15図(
a)のように、両者が交差する画素Pa、Pbが検出さ
れるが、交差検出用2バツクアメモリ72に対しては、
第15図(b)に示すように、両者の交差する画素は得
られない。
In the above operation, regarding the xz plane shown in FIG. Then, the coordinates of each point stored in the two-buffer memory 72 for intersection detection are compared.
As shown in a), pixels Pa and Pb where the two intersect are detected, but for the two-backer memory 72 for intersection detection,
As shown in FIG. 15(b), pixels where the two intersect cannot be obtained.

画素(x、y、)に対して図形データ1の2値が記憶さ
れている交差検出用Zバッファメモリ71.72、・・
・、7Nの処理が終了すると(ステップ11266)、
次の点に移って同様の処理を行なう。y値ykでのxz
平面の全ての点の処理が終了すると(ステシブ1123
12)、次のyk+1でのxz平面(ステップ1123
14)の各画素について処理を行ない、図形データ2で
の全てのy値に対する処理が行なわれた時点で交差部分
検出処理動作が完了する(ステップ112313 )。
Intersection detection Z buffer memories 71, 72, . . . in which binary values of graphic data 1 are stored for pixels (x, y,)
・When the processing of 7N is completed (step 11266),
Move on to the next point and perform the same process. xz at y value yk
When all the points on the plane have been processed (Stepsive 1123
12), xz plane at next yk+1 (step 1123
14) is performed for each pixel, and the intersection detection processing operation is completed when all y values in graphic data 2 have been processed (step 112313).

ところで、第2図(d)に示した交差部分処理では、図
形データ1.2の画素の座標の一致点を検出するもので
あったが、第16図に示すように、図形1のxZ平面で
の一表面を線分10とし、図形2の同じxz平面での一
表面を線11としてこれら表面が交差しているものとし
た場合、これら表面は、実際には、夫々線分10.11
で表わされるのではなく、線分10.11に沿う丸印で
示す画素(1つの升目)の列で表わされることになる。
By the way, in the intersection processing shown in FIG. 2(d), the point where the coordinates of the pixels of figure data 1.2 match is detected, but as shown in FIG. If we assume that one surface of figure 2 is line segment 10 and one surface of figure 2 on the same xz plane is line 11, and that these surfaces intersect, then these surfaces are actually line segments 10 and 11, respectively.
Instead of being represented by , it is represented by a row of pixels (one square) indicated by circles along line segment 10.11.

すなわち、丸印を付した画素の座標(x、y、z)が交
差部分検出用に用いられる。
That is, the coordinates (x, y, z) of the pixel marked with a circle are used for intersection detection.

そこで、線分10上の画素の座標(xj Y * Z 
)と線分11上の画素の座m (x 、 7 、 z 
)とが上記のように比較されても、線分10.11が実
際に交差しているにもかかわらず、互いに一致する図形
1.2の画素が検出できないことになる。
Therefore, the coordinates of the pixel on line segment 10 (xj Y * Z
) and the location of the pixel on line segment 11 m (x, 7, z
) are compared as described above, the pixels of the figure 1.2 that match each other cannot be detected even though the line segments 10.11 actually intersect.

これを防止するためには、第2図(d)のステシブ11
238において、次のような処理を行なえばよい。
In order to prevent this, it is necessary to
At step 238, the following processing may be performed.

すなわち、第16図において、X、+ X2 *・・・
の順に、 Δ2:=(線分11上の画素の2値)−(線分10上の
画素の2値) の比較処理を行なうとすると、線分10.11の交差点
の直前のx5までは、線分11の画素は線分10の画素
よりも奥にあり、線分10.11の交差点の直後のx4
からは、線分11の画素は線分10の画素よりも手前に
あるから、X、における線分10上の画素の2値をzl
o(Xi)、線分11上の画素の2値をz、1(xi)
とすると、交差点の直前まではz、1(xi)>z、。
That is, in FIG. 16, X, + X2 *...
If we perform the comparison process in the following order: Δ2:=(binary values of pixels on line segment 11) - (binary values of pixels on line segment 10), up to x5 immediately before the intersection of line segment 10.11, , the pixel of line segment 11 is deeper than the pixel of line segment 10, and the x4 immediately after the intersection of line segment 10.11
From, since the pixel of line segment 11 is in front of the pixel of line segment 10, the binary value of the pixel on line segment 10 at X is zl
o(Xi), the binary value of the pixel on line segment 11 is z, 1(xi)
Then, z, 1(xi)>z, until just before the intersection.

(X、)となシ、交差点直後からはz、。(X,) and Z, right after the intersection.

(xs ) < Zl。(Xρ となる。したがって、
交差点の前後で上記のΔ2は正、負の符号が反転する。
(xs) < Zl. (Xρ. Therefore,
Before and after the intersection, the positive and negative signs of Δ2 are reversed.

このことから、逆に、Δ2の符号が反転したことによ)
、線分10.11が交差したことがわかる。
From this, conversely, the sign of Δ2 has been reversed)
, it can be seen that the line segments 10.11 intersect.

以下、第16図をもとにし、かかる処理動作を第17図
によって具体的説明する。なお、説明を簡単にするため
に、第16図の線分10上の各画素の座標およびIDは
交差検出用Zバックアメモリ71に記憶されているとし
、かつ、この第16図に示されている部分の処理のみに
ついて説明する。
Hereinafter, based on FIG. 16, this processing operation will be specifically explained using FIG. 17. In order to simplify the explanation, it is assumed that the coordinates and ID of each pixel on the line segment 10 in FIG. 16 are stored in the Z backup memory 71 for intersection detection, and that We will explain only the processing for the parts that are present.

まず、図形2の線分11の端部にあるX、を指定して(
ステップ141)そこでの2値z1.(xl)を求め(
ステップ142)%交差検出用Zバッファメモリ群7の
選択された交差検出用Zバッファメモリ71のアドレス
(x、y)から2値2.。(×、)を読み出して(ステ
ップ143)、zll (xj ) l zl。(X、
)が一致するか否かを判定する(ステップ144)。両
者が一致すれば、交差部分として座標(X、+ 7 +
 Zll(xl))を出力するとともに、この座標にお
ける図形1.2のIDも出力する(ステップ145)。
First, specify X at the end of line segment 11 of figure 2 (
Step 141) The binary value z1. Find (xl) (
Step 142) % Binary value 2. . (x,) (step 143), zll (xj) l zl. (X,
) match (step 144). If both match, coordinates (X, + 7 +
Zll(xl)) and also outputs the ID of figure 1.2 at these coordinates (step 145).

そして、 ΔzN*W=zi1 (xl )”10 (xl )”
・”・(1)の演算を行なう(ステップ146)。zl
、(x、)  とzlo(x、)とが一致しない場合に
は、直接この演算を行なう。
And ΔzN*W=zi1 (xl)”10 (xl)”
・”・Perform the operation (1) (step 146).zl
, (x,) and zlo(x,) do not match, this operation is performed directly.

以上が図形201表面の端部の処理動作である。The above is the processing operation for the end portion of the surface of the figure 201.

端部ではΔ2の符号の変化による交差部分の検出が行な
えないので、このように2値が一致するかどうかで交差
部分の検出を行なう。なお、上式のΔzNetは現時点
で得られたΔ2を表わす。
Since it is not possible to detect an intersection based on a change in the sign of Δ2 at the end, an intersection is detected based on whether or not the two values match. Note that ΔzNet in the above equation represents Δ2 obtained at the present moment.

以上の端部についての処理が終ると1次のX座標X2を
指定しくステップ148)、上式(1)で得られたΔz
newを前に求めたΔ2.すなわちΔzo□、とする(
ステップ149)。そして、このX2に対する線分11
上の画素の2値z1.(x2)を求めるとともに、交差
検出用2バツクアメモリ71のアドレス(x2.y)か
らzf[z、。(x2)を読み出しくステップ1410
)、 Δznew ” zl 1 (x2 )−21゜(x2
)    ・・・・・・(2)の演算を行なう(ステッ
プ1411)。
When the above processing for the end is completed, the first-order X coordinate X2 is specified (Step 148), and Δz obtained by the above formula (1)
Δ2.new was previously determined. That is, Δzo□, (
Step 149). And line segment 11 for this X2
Binary value z1 of the upper pixel. (x2) and zf[z, from the address (x2.y) of the two-backer memory 71 for intersection detection. Step 1410 to read (x2)
), Δznew ” zl 1 (x2 )−21°(x2
)...The calculation of (2) is performed (step 1411).

次に、この座標(X21)’#Z1.(X2))が交差
部分であるか否かを判定するために、まず、式(2)の
Δznewが零か否かを判定しくステップ1412)、
零であれば交差部分として座標(X2ey+zH(X2
))とIDとを出力する(ステップ1415)が、零で
なくとも、Δzold ”であって(ステップ1413
)かつ式(2)のΔzn、WとΔz0.4との積が負で
あれば(ステップ1414)、交差部分として座標(x
2+y。
Next, this coordinate (X21)'#Z1. In order to determine whether (X2)) is an intersection, first, it is determined whether Δznew in equation (2) is zero (step 1412),
If it is zero, the intersection is the coordinate (X2ey+zH(X2
)) and the ID (step 1415), even if it is not zero, it is Δzold'' (step 1413).
) and the product of Δzn,W and Δz0.4 in equation (2) is negative (step 1414), the coordinate (x
2+y.

zl、(x2))とIDとを出力する(ステップ141
5)。
zl, (x2)) and the ID (step 141
5).

すなわち、先に説明したように、線分10.11の交差
点の直前と直後とではΔ2の符号が反転するから、現時
点に得られたΔzn、wと前回得られたΔz0.4との
積が負となれば、現時点の線分11上の画素と前回の線
分11上の画素との間に線分10との交差点があること
になシ、現時点の線分11上の画素の座標を交差点とし
て近似するのである。
That is, as explained earlier, the sign of Δ2 is reversed immediately before and after the intersection of line segment 10.11, so the product of Δzn,w obtained at the present moment and Δz0.4 obtained last time is If it is negative, there is an intersection with line segment 10 between the current pixel on line segment 11 and the previous pixel on line segment 11, and the coordinates of the pixel on line segment 11 at the current time are calculated. It is approximated as an intersection.

以下同様にして、X5 + X4 +・・・と線分11
上の全ての画素について処理を行ない(ステップ147
)、線分10.11の交差点を近似的に求めるのである
が、第16図の場合には、交差点の座標は(x47 、
 zll (x4’) )となる。
Similarly, X5 + X4 +... and line segment 11
Processing is performed on all pixels above (step 147
), the intersection of line segment 10.11 is approximately found, but in the case of Figure 16, the coordinates of the intersection are (x47,
zll (x4') ).

以上のように、この実施例では、三次元表示システムに
交差検出用Zバッファ群7を設け、ホスト計算機3、図
形処理プロセッサ4で上記の処理動作を行なわせること
によシ、三次元図形表示とともに交差部分の座標を求め
ることができ、さらにIDによって交差部分を任意の手
段でもって指示できる。
As described above, in this embodiment, the 3D display system is provided with the Z buffer group 7 for intersection detection, and the host computer 3 and graphics processor 4 perform the above processing operations, thereby displaying 3D graphics. In addition, the coordinates of the intersection can be determined, and the intersection can be specified by any means using the ID.

なお、この実施例では、交差検出用Zバッファメモリの
分解能が不足すると、実際の交差部分以外のところでも
Z値が同じになる。このときには、交差検出用Zバック
アメモリの分解能が増すように、このような部分を拡大
して再処理すればよい。
In this embodiment, if the resolution of the intersection detection Z buffer memory is insufficient, the Z value will be the same even at locations other than the actual intersection. In this case, such a portion may be enlarged and reprocessed so as to increase the resolution of the Z-backer memory for intersection detection.

また、上記実施例では、2つの図形の交差部分を検出す
るものであったが、一般に任意数の図形の相互の交差部
分検出も同様に処理すればよく、図形の数をM(但し、
Mは2以上の整数)とすると、最終的には(M−1)個
の図形に対して図形データを交差検出用Zバッファメモ
リに記憶させなければならないことは当然であり、m番
目に図形データベース9から読み出される図形データは
、交差検出用バッファデータ群7に記憶されている(m
−1)個の図形データと上記の交差部検出処理がなされ
る。この場合、物体をn個に部分分解したm個の物体間
の交差部分を求める場合、従来では、nXm回の処理が
必要であったが、この実施例では、IDを用いることに
よシ、n回の処理ですむことになる。
Further, in the above embodiment, the intersection between two figures is detected, but in general, the intersection between any number of figures can be detected in the same way, and the number of figures is set to M (however,
M is an integer of 2 or more), it is natural that the figure data for (M-1) figures must be stored in the intersection detection Z buffer memory, and the mth figure The graphic data read from the database 9 is stored in the intersection detection buffer data group 7 (m
-1) graphic data and the above-described intersection detection process is performed. In this case, in order to find the intersection between m objects obtained by dividing the object into n parts, in the past, nXm times of processing were required, but in this embodiment, by using the ID, Only n times of processing is required.

さらに、交差部分を詳しく求める場合も、得られた値を
初期値とすると収束が速くなり、計算時間をさらに短縮
できる。
Furthermore, when determining the intersection in detail, using the obtained value as the initial value speeds up convergence and further reduces calculation time.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明によれば、物体間の交差部
分検出に際し、一旦得られた画素の三次元座標やIDは
メモリで保持されるから、一度データベースから読み出
された図形データの三次元座標やIDを得る処理が不要
となり、計算機の負荷を大幅に低減できて検出処理時間
を大幅に短縮でき、しかも交差部分を明示することが容
易となる。
As explained above, according to the present invention, when detecting intersections between objects, once obtained three-dimensional coordinates and IDs of pixels are retained in memory, Processing to obtain original coordinates and IDs is no longer necessary, the load on the computer can be significantly reduced, the detection processing time can be significantly shortened, and intersections can be easily indicated.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明(よる図形処理方式の一実施例を示すブ
ロック図、第2図はこの実施例の交差部分検出処理動作
を示すフローチャート、第3図は交差部分を求める図形
の一例を示す図、第4図は物体の階層構造を示す図、第
5図はパッチ分割した物品の一例を示す図、第6図はx
yz座標系での画素を説明する図、第7図は第1図にお
ける交差検出Zバッファメモ9群に記憶されるデータを
示す図、第8図は第3図における1図形のxz平面の2
値、IDの例を示す図、第9図はバッチにおける各画素
の座標の求め方を示す図、第10図は第1図における交
差検出用Zバッファメモリの2値記憶状態を示す図、第
11図は第1図における各交差検出用Zバッファメモリ
への第2図に示した1図形の2値記憶方法を示す図、第
12図は同じく他の図形の2値記憶方法を示す図、第1
3図は第3図の全図形をパッチ分割して示した図。 第14図は同じく全図形をxz平面から見た図、第15
図は第1図における図形処理プロセッサの交差検出処理
動作を説明するだめの図、第16図は交差部分検出の近
似処理を示す図、第17図はこの近似処理の動作を示す
フローチャートである。 1.2・・・図形データ 3・・・ホスト計算機 4・・・図形プロセッサ 5・・・7レームバツフアメモリ 6・・・隠面消去用Zバッファメモリ 7・・・交差検出用Zハソファメモリ群71〜7n・・
・交差検出用Zバッファメモリ8・・・表示装置。 ′−\
FIG. 1 is a block diagram showing an embodiment of the graphic processing method according to the present invention, FIG. 2 is a flowchart showing the intersection detection processing operation of this embodiment, and FIG. 3 is an example of a shape for which intersections are to be found. Figure 4 is a diagram showing the hierarchical structure of objects, Figure 5 is a diagram showing an example of an article divided into patches, and Figure 6 is a diagram showing the hierarchical structure of objects.
A diagram explaining pixels in the yz coordinate system, FIG. 7 is a diagram showing data stored in the nine groups of intersection detection Z buffer memos in FIG. 1, and FIG.
Figure 9 is a diagram showing examples of values and IDs. Figure 9 is a diagram showing how to determine the coordinates of each pixel in a batch. Figure 10 is a diagram showing the binary storage state of the Z buffer memory for intersection detection in Figure 1. FIG. 11 is a diagram showing a binary storage method of one figure shown in FIG. 2 in each intersection detection Z buffer memory in FIG. 1, and FIG. 12 is a diagram showing a binary storage method of another figure. 1st
Figure 3 is a diagram showing all the figures in Figure 3 divided into patches. Figure 14 is a diagram of the entire figure seen from the xz plane, Figure 15
This figure is a diagram for explaining the intersection detection processing operation of the graphic processor in FIG. 1, FIG. 16 is a diagram showing the approximation process for detecting an intersection, and FIG. 17 is a flowchart showing the operation of this approximation process. 1.2...Graphic data 3...Host computer 4...Graphic processor 5...7 frame buffer memory 6...Z buffer memory for hidden surface removal 7...Z buffer memory for intersection detection Memory groups 71 to 7n...
-Z buffer memory 8 for intersection detection...Display device. ′−\

Claims (1)

【特許請求の範囲】 1、夫々が図形を表わす複数の図形データを格納したデ
ータベースから該図形データを読み出し、複数の該図形
を三次元表示するようにした図形処理方式において、読
み出される該図形データ毎に各画素の三次元座標と該図
形の細分化された区分を表わすIDとを形成し、該三次
元座標と該IDとをメモリに記憶するとともに、次に該
データベースから読み出された該図形データの画素毎に
既に該メモリに記憶された該図形データの画素と該三次
元座標を比較して該図形間の交差部分を検出し、該交差
部分の該画素の三次元座標とIDとを出力することを特
徴とする図形処理方式。 2、特許請求の範囲第1項において、前記メモリは前記
三次元座標での縦、横値をアドレスとし、奥行き値とI
Dとを該アドレスに記憶することを特徴とする図形処理
方式。
[Scope of Claims] 1. In a graphic processing method in which graphic data is read from a database storing a plurality of graphic data each representing a graphic, and the plurality of graphic data are displayed three-dimensionally, the graphic data read out. For each pixel, three-dimensional coordinates and an ID representing a subdivided section of the figure are formed, and the three-dimensional coordinates and the ID are stored in memory, and the next time the figure is read out from the database. For each pixel of the graphic data, the three-dimensional coordinates are compared with the pixel of the graphic data already stored in the memory to detect the intersection between the figures, and the three-dimensional coordinates and ID of the pixel at the intersection are determined. A graphic processing method characterized by outputting. 2. In claim 1, the memory uses vertical and horizontal values in the three-dimensional coordinates as addresses, and has depth values and I
A graphic processing method characterized in that D is stored at the address.
JP62095143A 1987-04-20 1987-04-20 Graphic processing system Pending JPS63261468A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62095143A JPS63261468A (en) 1987-04-20 1987-04-20 Graphic processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62095143A JPS63261468A (en) 1987-04-20 1987-04-20 Graphic processing system

Publications (1)

Publication Number Publication Date
JPS63261468A true JPS63261468A (en) 1988-10-28

Family

ID=14129579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62095143A Pending JPS63261468A (en) 1987-04-20 1987-04-20 Graphic processing system

Country Status (1)

Country Link
JP (1) JPS63261468A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007179419A (en) * 2005-12-28 2007-07-12 Canon Software Inc Information processor, geometric model concealing method, concealment geometric model restoring method, program and recording medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007179419A (en) * 2005-12-28 2007-07-12 Canon Software Inc Information processor, geometric model concealing method, concealment geometric model restoring method, program and recording medium

Similar Documents

Publication Publication Date Title
US4935879A (en) Texture mapping apparatus and method
WO2002007089A2 (en) Apparatus and method for volume rendering
US6822658B1 (en) Rendering a silhouette edge
JPH02173878A (en) Display device for three-dimensional section
US20020047841A1 (en) Apparatus and method for drawing three dimensional graphics by converting two dimensional polygon data to three dimensional polygon data
JPS63261468A (en) Graphic processing system
JP6025615B2 (en) Image drawing device
US6587103B1 (en) Method and apparatus for determining coincident lines
JP2776793B2 (en) Image display method and display device thereof
JPH0544063B2 (en)
JPH0355676A (en) Control system for display of hidden line in cubic picture
JP2682191B2 (en) Aliasing removal method and device
JPH0679214B2 (en) Segment management device
JP2952585B1 (en) Image generation method
JP2000207576A (en) Method and device for processing image and recording medium recording image processing program
JP2706341B2 (en) Segment conversion / management device and active polygon generator
JP3098092B2 (en) Simulated view generator
JP3071495B2 (en) Object model editing device
JPS63223886A (en) Three-dimensional display device
JPS63167977A (en) Three-dimensional shape picking method
JPH0687252B2 (en) Three-dimensional figure data calculation method
JPH02281386A (en) Image display method
JPH03252874A (en) Stereoscopic display processing system for plane
JPH05189203A (en) Sorting device
JPH05282428A (en) Graphic data generating method for three-dimensional computer graphics