Method of displaying image
Abstract
A method of displaying graphic image surface information data of an object lying within a three-dimensional space on a two-dimensional display screen when seen from a predetermined observing point is disclosed. A patch of the surface of an object is separated into plural triangular units, and image information data (luminance, visible-nonvisible, and distance) are all represented at the three apexes of each triangular unit area which includes a number of display pixels. The positional data at the three apexes are transformed from three- to two-dimensional space. The other image information data are calculated in accordance with interpolation calculation. Prior to the interpolation calculation a display area is determined and a triangular area including pixels to be processed is determined to reduce the processing time. This process is repeated for the entire surface to be displayed.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method of processing, by means of a programmed computer, electronic, image data signals representative of surfaces of an object lying within a three-dimensional space for display at corresponding pixels of a two-dimensional, electronic display screen in accordance with a perspective transformation method when seen from a predetermined observing point, which comprises the following steps of: (a) dividing a surface of the object into a plurality of triangular unit areas and obtaining first plural data representative of surface image information for the object at the three apexes of each triangular unit area; (b) perspectively transforming only positional data representative of positions of the three apexes of each triangular unit area, which positional data are among the first plural data, onto a two-dimensional plane corresponding to the display screen in relation to the predetermined observing point to obtain second positional data representative of positions of second sets of three apexes, corresponding, respectively, to the three apexes of each triangular unit area on the two-dimensional plane; (c) vertically setting other object surface image information data included in the first data separately at the three apexes of each triangular unit area on the two-dimensional plane to separately form plural triangular image data planes at the tops of each three vertically set object surface image information data; (d) obtaining by interpolation calculation each point of intersection between each formed triangular image data plane and each straight line vertically set at a different point included within each triangular area surrounded by the three apexes on the two-dimensional plane, which points, referred to hereinafter as processed points, correspond to different and corresponding individual pixels of the display screen, to separately obtain surface image information data for the object; and (e) separately displaying said surface image information data at each such corresponding pixel on the display screen.
2. The method as set forth in claim 1, which further comprises the steps, to be executed between steps (b) and (c), of determining a display area within which an object image is to be displayed on the two-dimensional plane by selecting the maximum and minimum values of the second positional data representative of positions of the three apexes on the two-dimensional plane and calculating a center of the displayed object image, and therefore completing the remaining steps (c) through (e) only for pixels included within the determined display area.
3. The method as set forth in claim 1, which further comprises the following steps, to be executed between steps (b) and (c), of: (a) calculating each center of gravity of each triangular unit area on the two-dimensional plane; and (b) determining a triangular unit area within which the current processed point lies on the basis of each calculated center of gravity and the three sides of the triangular unit area before vertically setting object surface image information data included in the first data at the three apexes of the triangular unit area on the two-dimensional plane.
4. The method as set forth in claim 1, wherein in step (c) one of the object surface image information data is luminance data obtained at the three apexes of each triangular unit area fo providing shadow on the displayed object image and further comprising the step of calculating the luminance data as the product of each normal unit vector N* and each light source vector K* at each apex of each triangular unit area, divided by the product of their absolute values.
5. The method as set forth in claim 4, wherein one of the object surface image information data is visible-nonvisible data at the three apexes of each triangular unit area for representing hidden surfaces on the displayed object image, the visible-nonvisible data being calculated as the inner product of each normal unit vector N* and each sight line unit vector E* at each apex of each triangular unit area, the visible and nonvisible points being determined as a function of the positive or negative signs of the calculated inner product, respectively, and displaying the luminance data when each processed point is determined to be visible but not displaying the luminance data when the processed point is determined to be nonvisible.
6. The method as set forth in claims 4 or 5, wherein one of the object surface image information data is distance data at the three apexes of each triangular unit area for providing hidden surface on the displayed object image, the distance data being calculated on the basis of calculating a sight-line vector E o * and each apex position vector S*, and, when plural visible data exist at the same processed point of pixel, displaying only the luminance data having the smallest distance data and not displaying the remaining luminance data so as to represent a hidden surface.
7. A method of computing data for displaying an image of an object lying within a three-dimensional space on a two-dimensional display plane by means of a programmed computer having a memory unit in which three-dimensional graphic image information data are previously stored, which comprises the following steps of: (a) entering into the computer data representing a position of an observing point, a position of a light source, and the number of patches into which the curved surfaces of the object are to be divided, and then, using the programmed computer, automatically; (b) forming a perspective transformation matrix for perspectively transforming onto a view plane determined on the basis of the observing point, positional data representing the curved surface of the object, which positional data had been previously-stored in the computer memory as part of other three-dimensional graphic image information data; (c) reading from memory the graphic image information data corresponding to one patch of the object surface to be transformed; (d) dividing the read positional data DATA into a plurality of triangular unit areas UA1, UA2 to determine the number of processing points (hereinafter "pixel points") each representing a seperate display plane pixel included within each triangular unit area and to obtain apex positional data at each triangular apex PX; (e) calculating each normal unit vector N* at each triangular apex PX of each unit area UA1, UA2; (f) forming a visible-nonvisible data table in memory by calculating an inner product of the normal unit vector N* and a sight-line unit vector E* from each triangular apex PX to the observing point and by storing the calculated results VI, VI 2 , VI 3 corresponding to each apex PX within the computer memory for background shadow processing; (g) forming a distance table in memory by calculating a distance vector D* from each triangular apex PX to the observing point using a sight-line vector E o * and a triangular apex positional vector S* and by storing the calculated results D 1 , D 2 , D 3 corresponding to each apex PX within the computer memory for hidden surface processing; (h) forming a luminance table in memory by calculating a luminance value I at each triangular apex PX as the product of a light source positional vector K* and the normal unit vector N*, at each apex PX, divided by the product of their absolute values, and by storing the calculated results I 1 , I 2 , I 3 corresponding to each apex PX within the computer memory; (i) perspectively transforming each triangular apex positional data DATA for the curved surface of the object obtained in step (d) above onto the two-dimensional x-y plane in accordance with the previously formed perspective transformation matrix, the calculated results being stored within the computer memory as transformed positional data DATAX, P(X, Y); and (j) repeating the above steps from (c) to (i) for all patches.
8. A display data computing method as recited in claim 7 comprising the further steps of: (k) determining a display area DES on the two-dimensional plane by obtaining a center (x c , y c ) on the basis of the maximum and minimum values x max , x min , y max , y min of the transformed positional data DATAX, P(X, Y) using an averaging calculation; (1) sequentially reading the triangular apex PX positional data DATAX, P(X, Y) for each patch and (m) determining a triangular unit area UA1X, UA2X within which the current pixel, point lies by calculating a center of gravity and three sides of the cut triangle UA1, UA2; (n) reading the stored visible-nonvisible data VI 1 , VI 2 , VI 3 corresponding to the separate apexes PX and, using linear interpolation calculation, determining each visible-nonvisible value VIpc at each pixel point; (o) reading the stored luminance data I 1 , I 2 , I 3 corresponding to the separate apexes PX and, using linear interpolation calculation, determining each luminance value Ipc at each pixel point; (p) reading the stored distance D 1 , D 2 , D 3 corresponding to the separate apexes PX and determining by linear interpolation calculation, each distance value Dpc at each pixel point; (q) forming pixel data by collecting luminance data Ipc and visible-nonvisible data VIpc for each pixel point having the minimum distance data Dpc and by selecting luminance data Ipc at each pixel point at which the visible data is obtained; and (r) repeating the above steps (1) to (q) above for all the patches.
9. The display method as recited in claim 8 including the further steps of sequentially reading out said pixel data and forming on an electronic display screen a two dimensional display of and three dimensional object.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.