Method and apparatus for three dimensional display with cross section

Abstract: A method and an apparatus for three dimensional display with cross section capable of displaying three dimensionally in real time, according to which a surface image in which the object is cut at the cutting plane and the cross section is left open is generated from the surface data and the cutting plane data, while at the same time a cross sectional image in which an interior region of the cross section is painted out in a prescribed color is generated from the surface data and the cutting plane data, and the surface image and the cross sectional image are displayed with the cross sectional image superposed on the surface image.

Description: The present invention relates to apparatus for three dimensionally displaying an object with a cross section, comprising: surface data memory means for storing surface data representing a surface of the object; cutting plane buffer means for storing cutting plane data representing a cutting plane on which the cross section lies; surface image generating means for generating a surface image, in which the object is cut at the cutting plane and the cross section is left open, from the surface data and the cutting plane data; and display means for displaying the surface image. Such apparatus is described in "ultrasonic imaging of arterial structures using 3D solid modelling" by Kitney et al (Computers in Cardiology, New York, USA, pp 3-6). Further display apparatus is described in EP-A-0 216 156. The invention also relates to a method of three dimensional display of an object and is applicable to medical apparatus and industrial measurement apparatus. Recent progress in a filed of computer graphics makes real time display possible, and is prompting the increasing usage of three dimensional display, which is more realistic than two dimensional display. In three dimensional display, it is known to be effective to show a cross section at a specified cutting plane, so that the three dimensional display is often shown with a cross section. In such a three dimensional display with cross section, if a cross section is displayed in such a manner that those portions of an object which are closer to a viewer than a cutting plane are erased so that the cross sectional face is left open, the other portions of the object behind the cutting plane become visible and the cutting edge becomes obscure. For this reason, in the three dimensional display, the cross sectional face is also treated as a surface and is displayed as being painted out in a prescribed color. However, in displaying such an object with cross section three dimensionally, it has conventionally been necessary to produce surface data representing the object with the cross sectional face as a part of surface for each cross section, so that when the cutting plane is to be changed, a great amount of time has been required in obtaining the new surface data. An object of the present invention is to provide a method and an apparatus for three dimensional display with cross section capable of producing cross sectional faces easily such that an object with cross section can be displayed three dimensionally in real time. According to one aspect of the present invention there is provided an,apparatus for three dimensionally displaying an object with a cross section, comprising: surface data memory means (1) for storing surface data representing a surface of the object in the form of a collection of two dimensional figures defined in three-dimensional space; cutting plane buffer means (9) for storing cutting plane data representing a cutting plane on which the cross section lies; surface image generating means (5, 7, 8) for generating a surface image, in which the object is cut at the cutting plane and the cross section is left open, from the surface data and the cutting plane data; and display means (6) for displaying the surface image, cross sectional image generating means (3, 4, 10, 11) for generating a cross sectional image, in which an interior region of the cross section is painted in a prescribed color, from the surface data and the cutting plane data, the cross sectional image generating means being operable to generate the cross sectional image during a generation of the surface image by the surface image generating means, in parallel to a generation of the surface image by the surface image generating means; and said display means (6) being operable to display the surface image and the cross sectional image by superposing the cross sectional image as generated by the cross sectional image generating means on the surface image as generated by the surface image generating means. According to another aspect of the present invention there is provided a method of three dimensional display of an object with a cross section, comprising the steps of: storing surface data representing a surface of the object in the form of a collection of two dimensional figures defined in three-dimensional space; storing cutting plane data representing a cutting plane on which the cross section lies; generating a surface image, in which the object is cut at the cutting plane and the cross section is left open, from the surface data and the cutting plane data; and displaying the surface image, generating a cross sectional image, in which an interior region of the cross section is painted in a prescribed color, from the surface data and the cutting plane data, the cross sectional image being generated during a generation of the surface image at the surface image generating step, in parallel to a generation of the surface image at the surface image generating step; and displaying the surface image and the cross sectional image by superposing the cross sectional image as generated at the cross sectional image generating step on the surface image as generated at the surface image generating step. Other features and advantages of the present invention will become apparent from the following description taken in conjunction with the accompanying drawings , in which: Fig. 1 is a schematic block diagram of one embodiment of an apparatus for three dimensional display according to the present invention. Fig. 2 is an illustration of a table of a triangular patch data to be utilized in the apparatus of Fig. 1. Fig. 3 is a perspective illustration of an example of an object to be displayed by the apparatus of Fig. 1. Fig. 4 is a perspective illustration of an example of a cutting plane to be specified in the apparatus of Fig. 1. Fig. 5 is a perspective illustration of the object of Fig. 3 with a cross section at the cutting plane of Fig 4. Fig. 6 is a display of the apparatus of Fig. 1 with the cross section left open. Fig. 7 is a perspective illustration of a cutting edge at the cross section of Fig. 5. Fig. 8 is a perspective illustration of the cutting edge of Fig. 7 with its interior region painted out. Fig. 9 is a display of the apparatus of Fig. 1 with the cross section painted out. Fig. 10 is a block diagram of an edge extraction unit of the apparatus of Fig. 1. Fig. 11 is a perspective illustration of another example of a cutting plane to be specified in the apparatus of Fig. 1 for explaining he operation of the edge extraction unit of Fig. 10. Fig. 12 is a perspective illustration of another example of an object to be displayed by the apparatus of Fig. 1 for explaining he operation of the edge extraction unit of Fig. 10. Fig. 13 is a cross sectional view of the cutting edge of Fig. 11 and the object of Fig. 12 for explaining he operation of the edge extraction unit of Fig. 10. Fig. 14 is another cross sectional view of the cutting edge of Fig. 11 and the object of Fig. 12 for explaining he operation of the edge extraction unit of Fig. 10. Fig. 15 is an illustration of the picture elements to be processed in the edge extraction unit of Fig. 10 at one stage of its operation. Fig. 16 is another illustration of the picture elements to be processed in the edge extraction unit of Fig. 10 at another stage of its operation. Fig. 17 is another illustration of the picture elements to be processed in the edge extraction unit of Fig. 10 at another stage of its operation. Fig. 18 is another illustration of the picture elements to be processed in the edge extraction unit of Fig. 10 at another stage of its operation. Fig. 19 is another illustration of the picture elements to be processed in the edge extraction unit of Fig. 10 at another stage of its operation. Fig. 20 is another illustration of the picture elements to be processed in the edge extraction unit of Fig. 10 at another stage of its operation. Fig. 21 is an illustration of the picture elements to be displayed by the apparatus of Fig. 1 as a cross sectional image. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Referring now to Fig. 1, there is shown one embodiment of an apparatus for three dimensional display according to the present invention. In this embodiment, the apparatus comprises a surface data memory 1 for storing surface data representing a surface of a three dimensional object to be displayed, a buffer unit 2 for temporarily storing various data necessary in producing a display image, an edge extraction unit 3 for extracting a cutting edge of a cross section, a painting unit 4 for painting out the extracted cutting edge of the cross section, a CPU 5 for coordinating operations of the apparatus and performing various calculations necessary in the operations, and a display unit 6 for displaying the three dimensional object with the cross section. In this apparatus, when a cutting plane is specified, an image of the surface cut at the cutting plane are generated from the surface data and data representing the cutting plane by utilizing a so called Z-buffer algorithm, while an image of the cross section is also generated from the surface data and the data representing the cutting plane, which is superposed on the surface image in a final display. The surface data memory 1 stores the surface data in a form of a collection of triangular patches, each of which is given by X, Y, and Z coordinates of three vertices and a luminance of a triangle specified by the three vertices, as shown in Fig. 2. The buffer unit 2 includes an I-buffer 7 for storing the luminance of the surface to be displayed at each X and Y coordinates of a display plane, which is taken to be a X-Y plane in this embodiment, a Z-buffer 8 for storing Z coordinates of the surface to be displayed at each X and Y coordinates of the display plane, a cutting plane buffer 9 for storing cutting plane data, a cutting edge buffer 10 for storing the cutting edge of the cross section at the cutting plane, and a cross section buffer 11 for storing data of cross sectional image to be superposed on the surface image. The cutting plane is specified externally by an operator from which the cutting plane data to be entered to the cutting plane buffer 9 are calculated by the CPU 5, whereas data stored in the I-buffer 7, Z-buffer 8, the cutting edge buffer 10, and the cross section buffer 11 are changed in a course of operations to generate display images. In these I-buffer 7, Z-buffer 8, cutting plane buffer 9, cutting edge buffer 10, and cross section buffer 11, two dimensional memory addresses represent X and Y coordinates, and memorized quantity at each address represents the luminance in a case of the I-buffer 7 and the Z coordinate in cases of the other buffers. It is to be noted that contents of the I-buffer 7 effectively represents the surface to be displayed with the cross section excluded. The edge extraction unit 3 extracts the cutting edge of the cross section at the cutting plane from the cutting plane data in the cutting plane buffer 9 and the surface data in the surface data memory 1 obtained through the CPU 5, and stores the extracted cutting edge in the cutting edge buffer 10. This edge extraction unit 3 will be described in further detail below. The painting unit 4 takes the cutting edge stored in the cutting edge buffer 10 and paint out its interior region with a prescribed color different from that of the surface in order to obtain the cross sectional image, and stores the obtained cross sectional image in the cross section buffer 11. The CPU 5 reads out the surface data from the surface data memory 1, calculates the luminance and the Z coordinate at each X and Y coordinates of the display plane from the surface data, and enters the appropriate luminance and 2 coordinates into the I-buffer 7 and the Z-buffer 8, respectively, in order to obtain the surface image, as will be described in detail below. Meanwhile, the CPU 5 also controls the operations of the edge extraction unit 3 and the painting unit 4 in order to obtain the cross sectional image. The display unit 6 superposes the cross sectional image on the surface image, and display the three dimensional object with the cross section looked from a X-Y plane. With references to Figs. 3-9, the operation of the apparatus of Fig. 1 will now be described. First, a case in which the cutting plane is not specified will be described. In this case, CPU 5 reads out the surface data from the surface data memory 1, and calculates the luminance and the Z coordinate at each X and Y coordinates of the display plane from the surface data. Then the CPU 5 reads out the Z coordinate stored in the Z-buffer 8 for each X and Y coordinates, and compares the Z coordinate calculated from the surface data and the Z coordinate read from the Z-buffer 8. If the calculated Z coordinate is closer to a X-Y plane, this calculated Z coordinate is entered into the Z-buffer 8 and the corresponding luminance is entered into the corresponding address of the I-buffer 7, whereas otherwise the Z-buffer 8 and the I-buffer 7 are left unchanged. By going through this operation for all the X and Y coordinates, the luminances and Z coordinates of each portion of the surface which are visible from X-Y plane and are therefore to be displayed can be obtained in the I-buffer 7 and Z-buffer 8. Now, when the cutting plane is externally specified in the cutting plane buffer 9, the following operations are performed. For an object shown in Fig. 3, when the cutting plane shown in Fig. 4 is specified such that a display for a state of the object shown in Fig. 5 can be obtained, the CPU 5 calculates Z coordinates of the cutting plane at each X and Y coordinates and stores them as the cutting plane data in the cutting plane buffer 9. Then, the CPU 5 reads out the surface data from the surface data memory 1, and calculates the luminance and the Z coordinate at each X and Y coordinates of the display plane from the surface data, as in the previous case. Next, the CPU 5 reads out the Z coordinate stored in the cutting plane buffer 9 for each X and Y coordinates, and compares the Z coordinate calculated from the surface data and the Z coordinate read from the cutting plane buffer 9. If the calculated Z coordinate is closer to a X-Y plane, a picture element corresponding to these X, Y, and Z coordinates is labeled invalid so as not to be displayed, whereas otherwise the picture element is labeled valid. Next, for those picture elements which are labeled valid, the operation similar to that in the previous case is performed by the CPU 5. Namely, for such picture elements, the CPU 5 reads out the Z coordinate stored in the Z-buffer 8 for each X and Y coordinates, and compares the Z coordinate calculated from the surface data and the Z coordinate read from the Z-buffer 8. If the calculated Z coordinate is closer to a X-Y plane, this calculated Z coordinate is entered into the Z-buffer 8 and the corresponding luminance is entered into the corresponding address of the I-buffer 7, whereas otherwise the Z-buffer 8 and the I-buffer 7 are left unchanged. By going through these operations for all the X and Y coordinates, the luminances and Z coordinates of each portion of the surface which are visible from X-Y plane and are therefore to be displayed can be obtained in the I-buffer 7 and Z-buffer 8, such that a display in which the cross section is left open as shown in Fig. 6 is displayed at the display unit 6. Meanwhile, at the same time the display of Fig. 6 is being obtained, the following operations are carried out by the edge extraction unit 3 and the painting unit 4. Namely, the edge extraction unit 3 extracts the cutting edge shown in Fig. 7 from the cutting plane data in the cutting plane buffer 9 and the Z coordinate at each X and Y coordinates of the display plane obtained from the surface data by the CPU 5, and stores the Z coordinates of the cutting edge in the cutting edge buffer 10. Then, the painting unit 4 paints out the interior region enclosed by the cutting edge by the prescribed color different from that of the surface as shown in Fig. 8 in order to obtain the cross sectional image, and stores the obtained cross sectional image in the cross section buffer 11. Finally, the display unit 6 superposes the cross sectional image in the cross section buffer 11 on the surface image in the I-buffer 7, and display the three dimensional object with the cross section distinctively painted out as shown in Fig. 9. In further detail, these operations by the edge extraction unit 3 and the painting unit 4 are carried out as follows. The edge extraction unit 3 in further detail comprises a picture element separation unit 20 for separating out picture elements of the display unit 6 in a vicinity of the cutting plane, an upper picture element processor 21 for image processing those picture elements among the separated picture elements which are located immediately above the cutting plane, a lower picture element processor 22 for image processing those picture elements among the separated picture elements which are located immediately below the cutting plane, an AND processor 23 for taking AND (or intersection) of the outputs of the upper and lower picture element processors 21 and 22, and a thinning unit 24 for thinning the output of the AND processor 23. The picture element separation unit 20 further comprises a picture element searching unit 29, in which whether each of the Z coordinates calculated from the surface data by the CPU 5 is within a prescribed range around the Z coordinates of the cutting plane in the cutting plane buffer 9 is checked by subtracting the Z coordinate of the cutting plane from the Z coordinate calculated from the surface data and comparing the difference with a magnitude of the prescribed range in order to search out the picture elements in the vicinity of the cutting plane, and a picture element distributing unit 30, in which the searched out picture elements are distributed to the upper and lower picture element processors 21 and 22 in accordance with the sign of the difference between the Z coordinate of the cutting plane and the Z coordinate calculated from the surface data, i.e., when the difference is positive the picture element is given to the upper picture element processor 21, whereas otherwise the picture element is given to the lower picture element processor 22. For example, for a cutting plane C shown in Fig. 11 which is parallel to the X-Y plane, and for a spherical object shown in Fig. 12, those picture elements above the cutting plane C by not more than a prescribed range D as shown in Fig. 13 are separated by the picture element separation unit 20 and are given to the upper picture element processor 21 in binary data, whereas those picture elements below the cutting plane C by not more than a prescribed range D as shown in Fig. 14 are separated by the picture element separation unit 20 and are given to the lower picture element processor 22 in binary data. The upper picture element processors 21 includes a first buffer 25 for temporarily storing the picture elements given from the picture element separation unit 20 in binary data, an expansion unit 27 for expanding the binarized picture elements into four nearest neighbors, and a second buffer 28 for temporarily storing the expanded picture elements. For the above example of Fig. 13, the binarized picture elements at the first buffer 25 is as shown in Fig. 15, and the expanded picture elements at the expansion unit 27 is as shown in Fig. 16 in which triangles represents those picture elements expanded. Similarly, the lower picture element processors 22 includes a first buffer 25 for temporarily storing the picture elements given from the picture element separation unit 20 in binary data, an expansion unit 27 for expanding the binarized picture elements into four nearest neighbors, and a second buffer 28 for temporarily storing the expanded picture elements. For the above example of Fig. 14, the binarized picture elements at the first buffer 25 is as shown in Fig. 17, and the expanded picture elements at the expansion unit 27 is as shown in Fig. 18 in which triangles represents those picture elements expanded. The AND of the expanded picture elements in the buffers 28 of the upper and lower picture element processors 21 and 22 are then taken at the AND processor 23, as shown in Fig. 19, and are then thinned at the thinning unit 24, as shown in Fig. 20 to obtain the cutting edge data to be stored in the cutting edge buffer 10. The cutting edge data thus obtained are then taken by the painting unit 4 which paints out the interior region enclosed by the cutting edge by the prescribed color as shown in Fig. 21. This can be achieved in any known method such as that utilizing the decomposition of the cutting edge into 4- or 8-connected closed loops, and the calculation of vector data for chain chords of each closed loop. As described, according to this embodiment, the surface image with the cross section left open and the cross sectional image painted out in different color from the surface image are generated simultaneously and are displayed as the cross sectional image superposed on the surface image, so that an object with cross section can be displayed three dimensionally in real time.

Claims: An apparatus for three dimensionally displaying an object with a cross section, comprising: surface data memory means (1) for storing surface data representing a surface of the object in the form of a collection of two dimensional figures defined in three-dimensional space; cutting plane buffer means (9) for storing cutting plane data representing a cutting plane on which the cross section lies; surface image generating means (5, 7, 8) for generating a surface image, in which the object is cut at the cutting plane and the cross section is left open, from the surface data and the cutting plane data; and display means (6) for displaying the surface image; cross sectional image generating means (3, 4, 10, 11) for generating a cross sectional image, in which an interior region of the cross section is painted in a prescribed color, from the surface data and the cutting plane data; the cross sectional image generating means being operable to generate the cross sectional image during a generation of the surface image by the surface image generating means, in parallel to a generation of the surface image by the surface image generating means; and said display means (6) being operable to display the surface image and the cross sectional image by superposing the cross sectional image as generated by the cross sectional image generating means on the surface image as generated by the surface image generating means. Apparatus according to claim 1, wherein the cross sectional image generating means (3, 4, 10, 11) includes: edge extracting means(3) for extracting a cutting edge of the object at the cutting plane from the surface data and the cutting plane data; and painting means(4) for painting an interior region enclosed by the extracted cutting edge in the prescribed color. Apparatus according to claim 2, wherein the edge extracting means (3) is operable to extract the cutting edge by searching out picture elements located in a vicinity of the cutting plane within a prescribed range. Apparatus according to claim 3, wherein the edge extracting means (3) is operable to extract the cutting edge by taking intersection of a projection of picture elements located immediately above the cutting plane and a projection of picture elements located immediately below the cutting plane as the cutting edge. A method of three dimensional display of an object with a cross section, comprising the steps of: storing surface data representing a surface of the object in the form of a collection of two dimensional figures defined in three-dimensional space; storing cutting plane data representing a cutting plane on which the cross section lies; generating a surface image, in which the object is cut at the cutting plane and the cross section is left open, from the surface data and the cutting plane data; and displaying the surface image, generating a cross sectional image, in which an interior region of the cross section is painted in a prescribed color, from the surface data and the cutting plane data; the cross sectional image being generated during a generation of the surface image at the surface image generating step, in parallel to a generation of the surface image at the surface image generating step; and displaying the surface image and the cross sectional image by superposing the cross sectional image as generated at the cross sectional image generating step on the surface image as generated at the surface image generating step. A method according to claim 5, wherein the generation of the cross sectional image includes the steps of: extracting a cutting edge of the object at the cutting plane from the surface data and the cutting plane data; and painting an interior region enclosed by the extracted cutting edge in the prescribed color. A method according to claim 6, wherein the cutting edge is extracted by searching out picture elements located in a vicinity of the cutting plane within a prescribed range. A method according to claim 7, wherein the cutting edge is extracted by taking intersection of a projection of picture elements located immediately above the cutting plane and a projection of picture elements located immediately below the cutting plane as the cutting edge.

Inventors: TAKAHASHI KAZUSHIGE, TAKAHASHI, KAZUSHIGE
Applicants: TOSHIBA KK, KABUSHIKI KAISHA TOSHIBA
Application year: 1989
Main classification: G06T15
IPC codes: G06T15, G06T17