US3816726A - Computer graphics clipping system for polygons - Google Patents

Computer graphics clipping system for polygons Download PDF

Info

Publication number
US3816726A
US3816726A US00298084A US29808472A US3816726A US 3816726 A US3816726 A US 3816726A US 00298084 A US00298084 A US 00298084A US 29808472 A US29808472 A US 29808472A US 3816726 A US3816726 A US 3816726A
Authority
US
United States
Prior art keywords
vertex
polygon
electrical signals
clipping
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US00298084A
Inventor
I Sutherland
G Hodgman
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.)
Evans and Sutherland Computer Corp
Original Assignee
Evans and Sutherland Computer Corp
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 Evans and Sutherland Computer Corp filed Critical Evans and Sutherland Computer Corp
Priority to US00298084A priority Critical patent/US3816726A/en
Priority to US401479A priority patent/US3889107A/en
Priority to JP48115372A priority patent/JPS4974861A/ja
Application granted granted Critical
Publication of US3816726A publication Critical patent/US3816726A/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G1/00Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
    • G09G1/06Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows

Definitions

  • the clipping system should produce a quadrilateral output that corresponds to the entire viewing area. That is, each corner of the output quadrilater should lie at a corner of the viewing screen. For example, if the triangle were yellow, the entire screen would be filled with yellow color unless some object nearer to the observer obscured a part of the yellow triangle.
  • the clipping process to define the desired quadrilateral from the large triangle has been considered exceedingly difficult and complex with regard to computer graphics.
  • FIG. 1 is a graphic representation illustrative of certain aspects of a system according to the present invention
  • FIGS. 2a-2d are graphic representations illustrative of certain operational phases of a system according to the present invention.
  • FIG. 5 is a block diagram representative of one embodiment of the present invention.
  • FIG. 6 is a block and logic diagram illustrative of a component of the system of FIG. 5;
  • perspective depth transformations may be accomplished rather simply; however, in dealing with straight lines and planes as well as curved surfaces, the problem becomes more complex.
  • the existence of a fully three-dimensional perspective transformation is crucial to the presentation of hiddensurface images.
  • the existence of the transformation enables a collection of objects to be viewed in perspective which is exactly equivalent to a similar but transformed collection of objects viewed in parallel projection. That is, the X and Y coordinates of an object can be transformed into actual final positions on a screen while preserving the depth in the numbers which will correctly interpolate along straight lines across planes defined in the screen coordinate space.
  • independent data defining a plurality of individual polygons repre sentative of objects in a scene may be compiled and composed for presentation as a perspective image.
  • a physical structure e.g. a vehicle
  • the data can be manipulated and translated to view the object from various locations and in various positions.
  • The'transformation places the clipping planes at any desired locations.
  • the distance D can be made infinite as can the position of the yon plane 24 without causing any anomalous behavior of the transformation matrix. It is convenient that the transformation matrix can obtain all information for an arbitrary, truncated pyramid, because the clipping process can thenbe standardized to very simple limits in accordance with the system as set forth in detail below.
  • a polygon 28 (FIG. 1) of irregular shape is indicated, a portion of which is deemed to reside within the polyhedron 12 while other portions are external.
  • the polygon 28 is de; fined byvertices P1, P2, P3, P4, P5, and-P6.
  • the system functions to .consider a polygon (as'the polygon 28) eliminating those portions which lie outside the polyhedron 12 to redefine a polyand attains the homogeneous characteristic.
  • the W coordinate enables transformations as explained below which essentially vary the polygonal viewing field, e.g. truncated pyramid.
  • One of the basic components of the present system functions to clip the polygon against a limiting plane, e.g. one of the planes of the polyhedron 12, and in that manner the vertices are treated one at a time. For each vertex considered, zero, one or two new vertices will be generated, depending upon the position of the input vertices with respect to the limiting plane.
  • Each input vertex (excepting the first) is considered to be a terminal vertex of an edge, namely the edge defined by an input vertex value herein termed P, and the position of the just previous input vertex saved internally in a re gister and termed the saved vertex S.
  • the system produces vertices defining the clipped polygon depending upon the relationship between the input vertex P and the saved vertex S as thesepoints relate to the limiting plane.
  • the edge may be entirely on the visible side of the limiting plane, e.g. the edge between vertices P1 and P2 (FIG. 1) is above bottom plane 18. Also, the edge between vertices P1 and P2 (FIG. 1) is above bottom plane 18. Also, the edge between vertices P1 and P2 (FIG. 1) is above bottom plane 18. Also, the edge between vertices P1 and P2 (FIG. 1) is above bottom plane 18. Also, the edge between vertices P1 and P2 (FIG. 1) is above bottom plane 18. Also, the edge between vertices P1 and P2 (FIG. 1) is above bottom plane 18. Also, the edge between vertices P1 and P2 (FIG. 1) is above bottom plane 18. Also, the edge between vertices P1 and P2 (FIG. 1) is above bottom plane 18. Also, the edge between vertices P1 and P2 (FIG. 1) is above bottom plane 18. Also, the edge between vertices P1 and P2 (FIG. 1) is
  • edge may be entirely outside the polyhedron, e.g. the edge between vertices P3 and P4. Another possibility is that the edge leaves the visible side of a plane, eg the edge between vertices P2 and P3. Finally, the edge may enter the visible side of a limiting plane, eg the edge defined between the vertices P4 and P5.
  • the situation as depicted in FIG. 2b involves an edge defined between vertices S and P, which lies entirely outside the field-of-vision, i.e., right of the plane 15.
  • the vertex S was dismissed in a prior test and the vertex P is now dropped, as neither is to be preserved for the display image being formulated.
  • the vertex P becomes the new vertex S (saved) and no output is provided.
  • the process operates with a current input vertex P, a registered or saved-last vertex S and a registered first vertex F.
  • the registered vertex F is registered for purposes of closure. Otherwise, the process involves determining whether or not the vertices P and S are on the same side of a clipping plane (block 36) and if so, whether or not that side is the visible side (block 46). Alternatively, the process pursues the computation to determine an intersection in the path between the vertices S and P thereby defining a new vertex at the intersection I with the clipping plane, as indicated by the block 40.
  • each entry of data representative of a fresh vertex P may result in either: (1) no output data representative of a vertex; (2) output data representative of a single vertex; or (3) output data representative of two vertices.
  • the step represented by the block 46 determines that the value so registered as a vertex S is not on the visible side of the clipping plane 18 with the consequence that the process is indicated to be complete with regard to the vertex Pl.
  • the vertex P2 is entered and determined to be on the same side as the vertex P1 (now registered as vertex S) with the consequence that P2 is registered as the vertex S, as indicated by the block 38.
  • S is determined to be below the limiting plane 18 with the result that no output is produced.
  • the homogeneous-coordinate data from the matrix multiplier 68 is applied vertex-by-vertex initially to the clipper CL.
  • the clipper CL determines a first vertex of the clipped polygon, such a vertex is specified to the clipper CR.
  • clipping is performed vertex-byvertex and those vertices which are developed (Q1) from each clipper are applied to the following clipper until the polygon definitive of the desired presentation is specified by a group of vertices provided from the clipper CY. Accordingly, any vertex provided from the clipper CY.is known to have been clipped with regard to each of the six clipping planes and represents a vertex that is to be displayed.
  • a clipping method for processing data that is representative of a polygon and is manifest by electrical signals specifying vertex locations of such polygon comprising the steps of:
  • intersection locations of said polygon with said pyramidal field of vision to define a portion of said polygon within said field of vision in combination with said selected vertex locations.
  • a system according to claim 17 wherein said means for sequentially testing includes a plurality of individual processing units.

Abstract

A system is disclosed for clipping three-dimensional polygons for use in a computer-graphics display. The system removes from each polygon all parts that lie outside an arbitrary, planefaced, convex polyhedron, e.g. a truncated pyramid defining a viewing volume. The polygon is defined by data representing a group of vertices and is clipped separately in its entirety against each clipping plane (of the polyhedron). In a multiplestage structure as disclosed, each stage clips the polygon against a single plane and requires storage for only two vertex values. A time-sharing embodiment of the system is also disclosed. The disclosed system also incorporates the use of a perspective transformation matrix which provides for arbitrary field-of-view angles and depth-of-field distances while utilizing simple, fixed clipping planes.

Description

United States Patent 1 91 Sutherland et al.
[ COMPUTER GRAPHICS CLIPPING SYSTEM FOR POLYGONS [75] inventors: Ivan E. Sutherland; Gary W.
Hodgman, both of Salt Lake City, Utah [73] Assignee: Evans & Sutherland Computer Corp., Salt Lake City, Utah [22] Filed: Oct. 16, 1972 [2]] Appl. No.: 298,084
[56] References Cited UNITED STATES PATENTS 8/l97l Warnack 235/151 2/1972 Sutherland 235/152 OTHER PUBLlCATlONS A. Appel, The Notion of Quantitive Visibility & Ma-
chine Rendering of Solids Proceeding ACM, 1967,
[451 June it, 1974 Primary Examiner-Malcolm A. Morrison Assistant Examiner-David l-l. Malzahn Attorney, Agent. or FirmNilsson, Robbins & Berliner [5 7] ABSTRACT A system is disclosed for clipping three-dimensional polygons for use in a computer-graphics display. The system removes from each polygon all parts that lie outside an arbitrary, plane-faced, convex polyhedron, e.g. a truncated pyramid defining a viewing volume. The polygon is defined by data representing a group of vertices and is clipped separately in its entirety against each clipping plane (of the polyhedron). In a multiplestage structure as disclosed, each stage clips the polygon against a single plane and requires storage for only two vertex values. A time-sharing embodiment of the system is also disclosed. The disclosed system also incorporates the use of a perspective transformation matrix which provides for arbitrary field-of-view angles and depth-of-field distances while utilizing simple, fixed clipping planes.
19 Claims, ll Drawing Figures COMPUTER GRAPHICS CLIPPING SYSTEM FOR POLYGONS BACKGROUND AND SUMMARY OF THE INVENTION In general, the present invention relates to the computer processing of three-dimensional data to produce realistic two-dimensional pictures. A considerable amount of development work has been done in the field, and a variety of different approaches have been taken to process the data. One problem that is usually somewhat inherent in the operation relates to selecting the portion of a data-defined image that will lie within the field of vision. The process of selecting the desired portion of an image component has generally been termed polygon clipping. That is, polygon clipping is a process whereby a polygonal surface extending beyond the boundary of some three-dimensional viewing volume is reduced to a surface which does not extend beyond the boundary. Essentially, as indicated above, the process involves clipping off those parts of the polygon which lie outside a volume defining the field of view, to eliminate off-screen portions of objects from the actual developed image.
One technique of polygon clipping which has been employed in the past involves a simple extension of line clipping. That is, in accordance with a prior system, a polygon is considered to be closed by a number of edges, each of which is clipped as a line,'against all the clipping boundaries. Unfortunately, that approach involves complications in determining locations for added edges along a boundary. For example, if a given polygon surrounds a corner of a viewing area, then two new edges mustbe developed which share a vertex at the corner of the viewing area. It is difficultand complex to compute whether a polygon surrounds a corner of a viewing area, and in fact if the polygon is not planar, there may be no clearly defined answer.
Considering another situation suppose the presence of a large area that is to be displayed. Further suppose that the area is so large that all its edges lie outside'the field of view. For example, the area might be a triangle with all its vertices well outside the field of view. As the area or surface presented by the triangle passes completelyacross the field of view, the clipping system should produce a quadrilateral output that corresponds to the entire viewing area. That is, each corner of the output quadrilater should lie at a corner of the viewing screen. For example, if the triangle were yellow, the entire screen would be filled with yellow color unless some object nearer to the observer obscured a part of the yellow triangle. The clipping process to define the desired quadrilateral from the large triangle has been considered exceedingly difficult and complex with regard to computer graphics.
Accordingly, a need exists for a polygon clipping method that may be embodied in a relatively simple structure and which may be more easily utilized to accomplish clipping operations as in relation to computer graphics.
ln distinction of the conventional system of clipping, the present system abandons the notion of defining a polygon in terms of its edges and rather considers the polygon to be defined solely by its vertices. Accordingly, each vertex may be processed somewhat independently of other vertices with a view toward closing the polygon on processingthe last vertex. The system hereof also abandons the notion of clipping each separate edge against all clipping boundaries simultaneously in favor of clipping the entire polygon intact, against each clipping boundary in sequence. Consequently, it is not necessary to reassemble a polygon from a collection of disjoint, clipped edges. Such a change in fundamental approach results in dramatic simplification of the polygon clipping process. Furthermore, the simplification is achieved without increased requirements for computing capability or storage- In the operation of a system embodying the invention, the preliminary results from one stage of clipping may be used by subsequent stages without waiting for (nor storing) the entire polygon between stages.
BRIEF DESCRIPTION OF THE DRAWINGS In the drawings, which constitute a part of this specification, exemplary embodiments exhibiting various objectives and features hereof are set forth, specifically:
FIG. 1 is a graphic representation illustrative of certain aspects of a system according to the present invention;
FIGS. 2a-2d are graphic representations illustrative of certain operational phases of a system according to the present invention;
FIG. 3 is another graphic representation illustrative of operations by a system in accordance with the present invention;
FIG. 4 is a flow diagram representative of the process of the present invention;
FIG. 5 is a block diagram representative of one embodiment of the present invention;
FIG. 6 is a block and logic diagram illustrative of a component of the system of FIG. 5;
FIG. 7 is a graphic presentation illustrative of the operation of a component inthe structure of FIG. 6; and v v FIG. 8'is a block diagram representative of an alternative embodiment of the present invention.
DESCRIPTION OF THE ILLUSTRATIVE EMBODIMENTS As required, detailed illustrative embodiments of the invention are disclosed herein. The embodiments merely exemplify the invention which may, of course, be constructed in various other forms, some of which may be quite different from the disclosed illustrative embodiments. However, specific structural and functional details disclosed herein are merely representative and in that regard provide a basis for the claims herein which define the scope of the invention.
The perspective projection process is truly a transformation from'one three-dimensional space to another.
A camera transforms the three-dimensional scene being photographed into a three-dimensional image located near the film plane. The fact that cameras must be focused is evidence of the three-dimensional nature of the image. That is, the film must be moved within the image volume until its position corresponds with the. position of the portion of the scene or image being recorded. Similarly, depth information can be preserved through mathematical perspective transformation.
In dealing merely with points of an image, perspective depth transformations may be accomplished rather simply; however, in dealing with straight lines and planes as well as curved surfaces, the problem becomes more complex. In fact, only a single transformation and certain trivial scalings of the transformation exist. The existence of a fully three-dimensional perspective transformation is crucial to the presentation of hiddensurface images. The existence of the transformation enables a collection of objects to be viewed in perspective which is exactly equivalent to a similar but transformed collection of objects viewed in parallel projection. That is, the X and Y coordinates of an object can be transformed into actual final positions on a screen while preserving the depth in the numbers which will correctly interpolate along straight lines across planes defined in the screen coordinate space. Accordingly, independent data defining a plurality of individual polygons repre sentative of objects in a scene may be compiled and composed for presentation as a perspective image. For example, by resolving a physical structure, e.g. a vehicle, into a plurality of polygons and specifying the polygons mathematically, the data can be manipulated and translated to view the object from various locations and in various positions.
Because the perspective depth computation involves the mathematical process of division, there is always a possibility of an overflow. Additionally, a line which connects a point in front of an observer with a point he hind him would transform into a very strange line if its ends are simply transformed by'the perspective transformation. For these and other reasons, it is important fies the horizontal (left and right); the Y coordinate specifies the vertical (top and bottom). In accordance herewith, clipping is also performed in the depth plane, represented by the Z coordinate (hither and yon). A W coordinate also may be employed as described herein The limited transformation, as mentioned above, attains perspective results in clipping to a truncated pyramidal polyhedron with a 90 field-of-view. Generally, a 90 field-of-view is exceedingly broad with the consequence that pyramidal forms of smaller angles are frequently to be preferred. In fact, in accordance herewith, the present system enables clipping to any field of view, as well as theplacement of the hither and yon planes 22 and 24 as desired. The transformation is accomplished by a matrix multiplication applied to the raw data prior to the clipping operations as described in detail below. Specifically, referring to FIG. I, the matrix involves the distances D, S and F-as follows:
The'transformation places the clipping planes at any desired locations. In fact, the distance D can be made infinite as can the position of the yon plane 24 without causing any anomalous behavior of the transformation matrix. It is convenient that the transformation matrix can obtain all information for an arbitrary, truncated pyramid, because the clipping process can thenbe standardized to very simple limits in accordance with the system as set forth in detail below.
Pursuing a specific example, a polygon 28 (FIG. 1) of irregular shape is indicated, a portion of which is deemed to reside within the polyhedron 12 while other portions are external. Generally, the polygon 28 is de; fined byvertices P1, P2, P3, P4, P5, and-P6. In accordance herewith, the system functions to .consider a polygon (as'the polygon 28) eliminating those portions which lie outside the polyhedron 12 to redefine a polyand attains the homogeneous characteristic. For example, the W coordinate enables transformations as explained below which essentially vary the polygonal viewing field, e.g. truncated pyramid. i
Systems in accordance herewith will generally afford improvement by limiting the values of X, Y, Z after perspective division. For example, it is generally convenient to confine values of X and Y to a specified range between --1 and +1, to accomplish simplified scaling operations in the coordinate system. It is also convenient to provide values of Z ina range of 0 to 1, again for simplified scaling. Accordingly, it is normally advisable to clip on limits which establish the X and Y values between W and +W, and Z values between 0 and +W.
I These clipping limits correspond to six planes termed, as suggested above, left," right, bottom," top, hither, and yon. Generally, these planes define a truncated pyramid as depicted in FIG. 1. Specifically, considering an observation point, represented by an eye 10, at the apex of a pyramidal polyhedron 12,
gon for presentation. In instances when a portion of the polygon extends out of the polyhedron, e. g. the portion between vertices P3 and P4, it is necessary to define an edge of the polygon coinciding to the clipping plane.
Generally, in accordance with the operation of the present system, such edges are defined to close the redefined polygon.
One of the basic components of the present system functions to clip the polygon against a limiting plane, e.g. one of the planes of the polyhedron 12, and in that manner the vertices are treated one at a time. For each vertex considered, zero, one or two new vertices will be generated, depending upon the position of the input vertices with respect to the limiting plane. Each input vertex (excepting the first) is considered to be a terminal vertex of an edge, namely the edge defined by an input vertex value herein termed P, and the position of the just previous input vertex saved internally in a re gister and termed the saved vertex S. The system produces vertices defining the clipped polygon depending upon the relationship between the input vertex P and the saved vertex S as thesepoints relate to the limiting plane.
Pursuing the basic clipping operation, there are four possible relationships between the edge and the limiting plane. The edge may be entirely on the visible side of the limiting plane, e.g. the edge between vertices P1 and P2 (FIG. 1) is above bottom plane 18. Also, the
edge may be entirely outside the polyhedron, e.g. the edge between vertices P3 and P4. Another possibility is that the edge leaves the visible side of a plane, eg the edge between vertices P2 and P3. Finally, the edge may enter the visible side of a limiting plane, eg the edge defined between the vertices P4 and P5. These four possible cases are illustrated in FIG. 2 and now will be considered in somewhat greater detail.
Each of the FIGS. 20, 2b, 2c and 2d indicates a visible plane so that portions of a polygon existing on the visible side of the plane 15 (as viewed from the edge) are to be preserved for display while portions thereof lying on the non-visible side of the plane 15 are to be clipped, and accordingly eliminated. To illustrate the possible situations, a polygonal edge is defined in each case by vertices S and P, i.e., saved and input vertices. As indicated above the vertex P is the currently presented point and the vertex S is the saved, last vertex P in the progression.
Considering the initial case represented in FIG. 2a, the edge defined by the vertices S and P lies entirely on the visible side of plane 15. Accordingly, no clipping operation is performed; rather the vertices S and P continue to exist definitive of an edge in the polygon which will actually be presented. The vertex P becomes the new vertex S (for the next test) and is also provided as an output.
The situation as depicted in FIG. 2b involves an edge defined between vertices S and P, which lies entirely outside the field-of-vision, i.e., right of the plane 15. As a consequence, the vertex S was dismissed in a prior test and the vertex P is now dropped, as neither is to be preserved for the display image being formulated. The vertex P becomes the new vertex S (saved) and no output is provided.
In the situation depicted in FIG. 20, they edge of the polygon under consideration extends from within the field-of-vision to without, as indicated between the vertices S and P. Consequently, the portion to the left of the plane 15 is to be preserved while the portion to the right is to be clipped. Consequently, the vertex S (a valid point preserved in a prior operation) initiates a vector that terminates, not at the vertex P, but at the intersection point I. Accordingly, the point I is provided as an output. Vertex P will as always become a fresh value of the saved vertex S. v
In the situation depicted in FIG. 2d, the polygonal edge moves from the vertex S located outside the fieldof-vision, to the point P located in the field-of-vision. As a consequence, two outputs are to be provided in the form of the intersection I and the vertex P. That is, to define the clipped edge (between I and P) both points are provided as outputs and P becomes the fresh value of vertex S.
It may be seen that by treating a polygon with respect to each of the clipping planes as described above, a new polygon may be developed that is definitive of a fragment of the original polygon which is actually to be exhibited or displayed. Consider a rather-complex polygon defined by the vertices PI-P6 (FIG. 3) with reference to a bottom edge-viewed plane 18 and a top edgeviewed plane 20. In summary, the operation involves defining another polygon (by the vertices QI-Q7) manifesting the portion of the original polygon which is to be exhibited within the pyramidal polyhedron. As indicated above, the clipping operation is accomplished with reference to each of the limiting planeswhich define the polyhedron.
As illustrated in FIG. 3, the initial vertex P1 lies below the limiting plane 18 with the consequence that it is to be eliminated. Accordingly, data definitive of the vertex P1 is not registered. Next, the vertex P2 is encountered, and a similar situation exists. That is, as the vertex lies below the limiting plane 18, the definitive data is of no interest. In moving from the vertex P2 to the vertex P3, the limiting plane 18 is penetrated. Consequently, at the point of intersection a vertex O1 is developed which becomes the initial or first vertex of the clipped polygon. As indicated above, with reference to FIG. 2d, this situation must result in two recorded or output data units definitive of the vertices Q1 and Q2.
Progressing from the point or vertex P3 to the vertex P4, the situation of FIG. 2a occurs which commands a single output definitive of the vertex Q3. Progressing from each of the vertices P4, P5 and so on, it may be seen that one of the situations depicted in FIG. 2 exists and the resulting outputs are provided. These outputs may immediately command a display or, alternatively as suggested above, may be recorded for a subsequent display operation. Although illustrated against two clipping planes only in FIG. 3, the operation of the system as described in detail below involves six planes and the progression of output vertices for testing against one plane after another.
Some special care must be taken at the beginning and end of each polygon processed. For example, the system might be given N 1 input vertices to define a polygon, the last vertex being a duplicate of the first so as to generate M output vertices Ql-Qm. If this were done, symmetry would require that the system include a mechanism to produce the duplicate output vertex Qm l. The system disclosed here, unlike previous embodiments, never needs to be given the duplicate N lst input nor does it generate the duplicate output Qm 1. Of course, alternative embodiments may be provided; however, as embodied herein, the additional mechanism to eliminate need for such duplicate vertices simply amounts to an internal storage register (gen erally termed F) for containing the first arriving vertex and enabling closure thereto for the final edge.
Considering the process for implementing the operations as described above, reference will now be made to the flow diagram of FIG. 4. Generally, the diagram represents the clipping operation as applied to a single plane. Recapitulating, the process simply involves accepting data representative of a vertex P, performing logical conclusions with respect to the data representative of the vertex P in relation to a prior vertex S, and producing appropriate outputs.
As indicated in FIG. 4, the initial step involves registering or accepting the data indicative of the vertex P as represented by the block 30. The information or data provided is next considered in a decisional stage indicated by the block 32 to determine whether or not the represented vertex P is a first point. Of course, the first point can be flagged or, alternatively, as disclosed in the structure embodied below, the last point can be flagged to simply indicate that the next-following point is a first point.
If the data representative of the vertex P is representative of a first point, the data is registered in an S register (for the vertex S) and an F register (for the first point F). On completion of the registration process as indicated by the block 34, an intermediate stage is at tained.
Should the data representative of the vertex P not be indicative of the first point, the process proceeds from the test stage (indicated by the block 32) to another decisional stage indicated by a block 36. Specifically, the logical test is directed to the query: Are the vertices P and S on the same side of a clipping plane Should the query step result in a positive determination, the data representative of the vertex P is registered as the value S and again an intermediate stage is completed. However, if a negative result should occur, the process proceeds to compute the intersection l of the vector defined by the vertices S and P with the clipping plane, as indicated by the block 40. The intersection l is represented by developed data indicative of that point which becomes a vertex. Upon completing the computation, by any of a variety of techniques, examples of which are disclosed below, the data representative of the vertex P is transferred to become data representative of the vertex S as indicated by the box 42. Subsequently, the vertex I is provided as an output as indicated by the box 44 and the intermediate stage is again attained.
From the intermediate stage, the process enters a step as indicated by a box 46, which queries whether or not the data representative of the fresh vertex S defines a vertex on the visible side of the plane. If the determination is in the negative, the process immediately passes to an exit as indicated by the block 48. However, if an affirmative determination results, then the value of the fresh vertex S is provided as an output as indicated by the block 50.
The process operates with a current input vertex P, a registered or saved-last vertex S and a registered first vertex F. The registered vertex F is registered for purposes of closure. Otherwise, the process involves determining whether or not the vertices P and S are on the same side of a clipping plane (block 36) and if so, whether or not that side is the visible side (block 46). Alternatively, the process pursues the computation to determine an intersection in the path between the vertices S and P thereby defining a new vertex at the intersection I with the clipping plane, as indicated by the block 40. Thus, as indicated above, each entry of data representative of a fresh vertex P may result in either: (1) no output data representative of a vertex; (2) output data representative of a single vertex; or (3) output data representative of two vertices.
As indicated above, in accordance with one embodiment of the process, an instruction is provided after processing the last vertex to close the polygon. The closing process is initiated at the step of a box 52 as indicated. Of course, as a condition to closing a polygon, some portion of the polygon must be determined to lie within the field of vision. That is, at least one point must have been provided as an output to indicate a location within the field of vision. Accordingly, a query indicated by a box 53 is: was there an output. If not, then there is nothing to close. If so,the process proceeds to determine whether or not the vertices F and S are on the same side of the clipping plane as indicated by the block 54. An affirmative response to the query step simply involves resetting a flag as indicated by the block 56 and providing an output to the closure command as indicated by the block 58 which in turn results in an exit" as indicated by the block 60. Alternatively,
if the query step results in a negative, an intersection must again be computed to define a vertex 1 at the clipping plane as indicated by the block 62. Subsequently, the vertex I is provided as an output as indicated by the block 64. Then, the process proceeds to the operation of the block 56. Thus, the system closes to define the clipped polygon.
Considering the process illustrated in FIG. 4 in operation, reference will be made to FIG. 3. In that regard, an un-clipped polygon is defined by a plurality of vertices Pl-P6; while the clipped polygon that is to be generated is defined by the vertices Ql-Q7. Relating the graphic presentation of FIG. 3 to the process flow diagram of FIG. 4, an initial step involves presenting the vertex Pl as a vertex P to the process step as represented by the block 30. The vertex P1 is in fact the first point, and, accordingly, will be registered as values of S and F as indicated by the block 34. However, the step represented by the block 46 determines that the value so registered as a vertex S is not on the visible side of the clipping plane 18 with the consequence that the process is indicated to be complete with regard to the vertex Pl. Next, the vertex P2 is entered and determined to be on the same side as the vertex P1 (now registered as vertex S) with the consequence that P2 is registered as the vertex S, as indicated by the block 38. On the step of testing thereafter, S is determined to be below the limiting plane 18 with the result that no output is produced.
Next, data representative of the vertex P3 is supplied for application to the step indicated by the block 36 which indicates that P3 (now P) and P2 (now S) are not on the same side of the clipping plane 18. As a consequence, the step represented by the block 40 is performed to compute the intersection 01 (FIG. 3) as the initial vertex of the clipped polygon. Thereafter, the value of the intersection vertex I (O1) is provided as an output while P3 (P) is registered as the vertex S. Subsequently, the test indicated by the block 46 concludes that S (P3) is on the visible side of the plane and, accordingly, results in another output, i.e., vertex Q2 as indicated by the block 50.
Thus, the cycling system processes the points vertexby-vertex with regard to each limiting plane to develop a finally clipped polygon. Generally, the process may be performed by a structural embodiment as illustrated in FIG. 5. Specifically, a data source 66 supplies data through a matrix multiplier 68, the output of which is applied to a series of clippers CL, CR, CB, CT, CH and CY, each of which embodies the structure for performing the process as disclosed above. Specifically, in the exemplary six-sided format, the sequence of clipping is: left, right, bottom, top, hither and yon in accordance with the order indicated in FIG. 5. The output from the finalclipper CY then is applied to a structure 70 which may comprise a display unit or, alternatively, a memory for recording the data, as for subsequent display.
It is to be appreciated that clipping of polygons could be performed in accordance herewith to fit in any polyhedral space. However, the addition of the hither and yon planes is deemed to be particularly significant. That is, a system in accordance herewith is deemed to incorporate a significant advance by the inclusion of operation to clip against the hither and yon planes. Previous systems have not included such facility.
The data source 66 may take the form of any of a variety of detailed structures including simply a transfer path for electrical signals, as from a memory structure. Generally, the data will comprise digital signals representative of vertices, which in the exemplary embodiment are defined in homogeneous coordinates to attain simplified operation. Such signals are received by the matrix multiplier 68 which may take the form of a structure disclosed in a pending U.S. Pat. application, Ser. No. 219,720, filed Jan. 21, 1972, now U.S. Pat. No. 3,763,365 and entitled Computer Graphics Matrix Multiplier. Alternatively, other forms of matrix multipliers may be employed to accomplish the matrix translation as considered in depth above.
The homogeneous-coordinate data from the matrix multiplier 68 is applied vertex-by-vertex initially to the clipper CL. When the clipper CL determines a first vertex of the clipped polygon, such a vertex is specified to the clipper CR. Again, clipping is performed vertex-byvertex and those vertices which are developed (Q1) from each clipper are applied to the following clipper until the polygon definitive of the desired presentation is specified by a group of vertices provided from the clipper CY. Accordingly, any vertex provided from the clipper CY.is known to have been clipped with regard to each of the six clipping planes and represents a vertex that is to be displayed.
The individual clippers as illustrated in FIG. 5 may be structurally similar, each including apparatus for the performance of the process as illustrated in FIG. 4. Exemplary of the clippers, the clipper CL is indicated in substantial detail in FIG. 6 and will now be explained. Generally, the lines or transfer paths indicated in FIG. 6 may comprise multi-conductor cables for parallelinformation transfer or, alternatively, may involve sequential signal transfer paths, both forms being very well known in the art. Such a path receives the input vertices P1, P2, and is designated in FIG. 6 as path 72 (near top). As indicated, the data represented will be in the form of homogeneous coordinates. Specifically, each vertex is represented by digital signals to manifest:
X, Y, Z, W, C and I.
In such a representation, the specific representations are:
X is the horizontal displacement of the vertex from the viewing axis Y is the vertical offset from the viewing axis Z is the depth from the near plane (hither) W is the fourth dimension value as employed in the matrix transformations C may or may not exist and indicates a value of color I may or may not exist and indicates a value of intensity.
With regard to the values of C and I, it may be that specific intensity or other representative levels are attributed to each point with the result that blending is developed between a pair of points to indicate a gradation in a display.
The representative data for a vertex, as considered above, is received through the path 72 for application to several separate structures which will be independently considered. First, the path 72 is connected to an and logic gate 74 (upper right) which may take the form of a gang gate in the event that the path 72 comprises a cable of individual conductors. The gate 74 is operative during an interval of time manifest by a signal tl, which constitutes the initial operating interval of the structure. Additionally, the gate 74 is connected to receive an input from a flip flop 76 which is set (explained below) by the last vertex of a polygon. Consequently, on receipt of the first vertex of a polygon, the gate 74 is qualified and supplies the received vertex signals (definitive of P) through the gate 74 to be registered in a pair of digital registers 78 and 80 (right center).
In accordance with the designations adopted above, the register 78 contains the first point and is designated F while the register 80 receives the saved vertex and is designated S. In summary, the gate 74 functions to place the first vertex (point data P) in the registers 78 and 80. Also, with the qualification of the gate 74, a reset path back to the flip flop 76 and a flip flop 77 (discussed below). Resetting the flip flop 76 inhibits the gate 74 until the last polygon is processed when the flip flop 76 is again set.
After the first vertex has been received and registered, the signals representative of data defining the second vertex (and subsequent) are not permitted to clear the gate 74 (as the flip flop 76 is reset); however, the sets of data signals are applied to an and logic gate 86 (center left) which may be similar to the gate 74 (as each of the other and gates herein, utilizing various well known structures). The gate 86 is qualified during the interval of timing signal t2 when the flip flop 76 is reset. Accordingly, the vertex data after the initial set is supplied to a unit 88 along with signals representative of S from the register 80 via path 89.
The unit 88 is a translator or distance-resolving structure that translates the signals to a form specifying the vertices P and S, referenced to the clipping plane, i.e., left plane of the truncated pyramid, rather than in absolute coordinates. Various forms of such structures are well known. The distance-resolving unit 88 receives signals representative of the clipping plane (defining the reference from a register 90 (lower left) and, accordingly, simply converts distances from absolute coordinates to distances that are related to the clipping plane. The sign signals of the representations that specify the distances in relation to the clipping plane 16 (graphically. illustrated in FIG. 7) are indicative of whether or not the points designated by P and S are on the same side of the plane. The representations then also may be employed to compute the intersection I of the vector between points S and P with the plane 16 as an output.
Preliminarily, the query is directed to determine whether or not points P and S are on the same side of the plane 16 (either visible or out of field). That is, if the signs of the points P and S are identical, then both are either above or below the plane 16. Accordingly, the sign bits of the signal representations for P and S are applied to an exclusive or gate 92 having an output to line 94 which is high if the two points are on opposite sides of the plane.
If the points S and P are on opposite sides of the clipping plane 16 (output to line 94 high), then the intersection I as indicated in FIG. 7 is to be computed. The command for such a computation is provided by a binary signal from the line 94 passing to a pair of and gates 98 and 99, the gate 98 being qualified by a timing signal t3. Essentially, qualification of the gate 98 commands an arithmetic blending unit 100 to compute values defining the intersection l in the plane of concern.
In that regard, the unit 100 receives signals representative of the input vertex point (P) from the path 72, as well as the contents of the register 80, i.e., vertex S. Also in addition to locating the intersection I, color and intensity blending'may be performed in relation to the signals C and I if employed.
It is to be noted that various structures may be employed to compute the intersection I, one of which is disclosed in US. Pat. No. 3,639,736. However, it has been found convenient to employ the process with respect to a technique and structure as will now be considered. Essentially, the philosophy of operation involves ratios of the two similar triangles (FIG. 7) having apexes at the intersection I. That is, considering the similar triangles enables computation of the fraction a of the line between points S and P which exists before or after the line intersects the limiting plane 16. Having such a fraction computed, the intersection point is given by:
The value of a may be determined in accordance with the following:
In view of the ratio of distances specified between It may be seen from the above that by establishing ratios, values are assigned which enable computation of the distances. Consequently, the value of a is computed simply by subtracting and dividing some simple coordinate values. The arithmetic blending unit 100 may simply apply the arithmetic set forth above to attain a value of a then determine the coordinates of the intersection I which are provided at output as indicated. Specifically, signals representative of the intersection I pass from the arithmetic blending unit 100 through and gate 101 during the interval of t4, then through an or" gate 103 to the output.
Regardless of whether or not the vertices S and P are on the same side of the plane 16, and whether or not the intersection I is computed, in due course, the signals definitive of the vertex P are registered in the S register 80 ( blocks 38 and 42, FIG. 4). That registration occurs during the interval of t4 through an and gate 104 (center) as well as the or" gate 75.
After freshly loading the save register 80, the next operation involves determining whether or not its contents define a point on the visible side of the clipping plane. That test may be determined again by the distance-resolving unit 88 in cooperation with the exclusive or" gate 92. However, for simplicity of explanation, redundant structure is illustrated in the system of FIG. 6. Specifically, during the interval of timing signal t5, data from the register 80 is supplied through an and gate 108 to a visibleside indicator 110, along with data from the plane register 90. The indicator 110 provides a high signal to the output line 102 in the event that the point defined by the contents of the save register 80 is on the visible side of the plane. Alternatively, in the opposite situation, no output is provided. If the line 102 receives a high signal during the interval of t5, the contents of the register is passed through an and gate 109, then to the output through the or" gate 103. The output is connected to provide a pulse, to initiate the operation of the next clipper. Generally, such signal is applied to a timing unit 115 in the next clipper thereby causing that unit to provide a sequence of timing signals tl-t7 as indicated in FIG. 6.
The structure as depicted in FIG. 6 is thus operative through a number of points P1, P2, P3 in sequence to perform clipping operations as explained above. Upon arrival of data specifying the last point of a polygon, providing that an output has occurred, the closing process is actuated. Specifically, the last point of a polygon bears a flag which is detected by a sensor 114 (center top) which partially qualifies a pair of and gates 116 and 118. These gates are fully qualified if an output flip flop 77 was set by an occurring output, whereupon the gates pass data from the registers 78 and 80 (F and S) for application to the distance-resolving unit 88 for determination of whether or not the first point (contained in the first register 78) and the saved point (contained in the save register 80) are on the same side of the clipping plane. Thus, the closure operation is similar to those described above, however, involves the first and last vertices.
During the interval of timing period t6, the contents of the registers 78 and 80 are applied to the distanceresolving unit 88. If the points are determined to be on opposed sides of the plane, as manifest by the exclusive or" gate 92, the intersection is computed as previously explained by the blending unit to provide signals definitive of an intersection at the output during t7, through the gate 101. In any event, an output close command occurs by qualification of an and gate 122 (top center) which sets the flip flip 76. Thus, the vertices are closed to define a clipped polygon which lies within the truncated pyramid.
As indicated above, a plurality of structures (as represented in FIG. 6) are connected together in tandem as illustrated in FIG. 5 to clip a succession of planes. The output of each clipper is passed along as the input to the next. If clipping is to be done to six planes, as disclosed in the illustrative embodiment, a total of only 12 vertex storage locations are required, i.e., six for the first vertices and six for the saved vertices. Accordingly, considerable economy and speed results.
In an alternative embodiment (FIG. 8) the limited number of registers are provided along with a control system to time share a single processing structure. In such a system, processing time is increased in he interests of manufacturing economy.
As indicated in FIG. 8, the first point registers FL, FR, FB, FT, FH and FY are connected to a control system 126 along with a series of save registers, i.e., SL, SR, SB, ST, SH and SY. The control system affords access by the registers to a processing system 128 incorporating computing apparatus substantially as disclosed with reference to FIG. 6. The control system provides access in an organized manner by means of a list record or push-down register 130.
In operation of the time-shared system, a single vertex is entered in the registers FL and SL to be processed against the left plane (recorded in the control system 126). If the vertex lies on the visible side of the left plane, it will be transferred as the first point for the registers PR and SR. Clipping operations are thus performed in a sequence and each time the control system advances down the registers, the interrupted stage of operation is indicated in the list record 130 so as to reestablish operation during the return pattern.
Of course, a variety of other control patterns may be incorporated in accordance herewith as may a wide variety of different structures. Consequently, the scope hereof shall be deemed to be in accordance with the claims as set forth below.
What is claimed is:
1. A clipping method for defining select data, as for a perspective display comprising the steps of:
representing data in the form of electrical signals manifesting coordinate locations;
defining a polyhedron for containing select data;
testing said electrical signals to generate those signals defining data within said polyhedron as said select data.
2. A clipping method according to claim 1 wherein said electrical signals represent vertices in threedimensional space by four-dimensional coordinates.
3. A method according to claim 1 wherein said electrical signals represent vertex locations defining a polygon, whereby said select data defines the portion of said polygon that lies within said polyhedron.
4. A method according to claim 3 wherein said testing step includes testing said vertex locations in relation to sides of said polyhedron in sequence.
5. A clipping method according to claim 3 wherein said testing step includes a step of computing data representative of intersections between represented data and a plane of said polyhedron to thereby define other vertex locations.
6. A method according to claim 3 wherein said polyhedron comprises a pyramidal vision projection.
7. A method according to claim 6 wherein said pyramid is truncated.
8. A method according to claim 6 wherein said testing step includes testing said vertex locations sequentially in relation to each side of said pyramidal vision projection.
9. A system according to claim 6 further including a preliminary step of processing said electrical signals to produce matrix-multiplied signals whereby to translate said pyramidal vision projection.
10. A clipping method for processing data that is representative of a polygon and is manifest by electrical signals specifying vertex locations of such polygon, comprising the steps of:
defining a pyramidal field of vision by at least four defined surfaces;
testing said electrical signals representing said vertex locations in relation to said defined surfaces to identify selected vertex locations as are within said field of vision;
determining intersection locations of said polygon with said pyramidal field of vision to define a portion of said polygon within said field of vision in combination with said selected vertex locations.
11. A system for clipping a polygon comprising:
means for providing vertex electrical signals representative of vertex locations specifying said polygon;
means for registering a pyramidal projection figure including a plurality of planes;
means for receiving said electrical signals representative of vertex locations, and coupled to said means for registering, to identify certain of said vertex electrical signals as representative of vertex locations internal of said figure; and
means for receiving said electrical signals representative of vertex locations, and coupled to said means for registering, to provide intersection electrical signals representative of intersections between said polygon and said figure to specify, in combination with said certain vertex electrical signals, the portion of said polygon within said figure.
12. A system according to claim 11 wherein said means for providing vertex electrical signals comprises means for providing signals representative of homogeneous coordinates to define vertices in threedimensional space.
13. A system according to claim 12 further including a matrix multiplier for acting on said vertex electrical signals for translating said signals in relation to said pyramidal projection.
14. A system according to claim 11 wherein said means for registering a figure includes means for registering data to specify six planes definitive of a truncated pyramid.
15. A system according to claim 11 wherein said means for registering a figure includes means for registering data to specify a plurality of planes definitive of a field of vision.
16. A system according to claim 15 wherein said means for providing vertex electrical signals provides coordinate signals representative of coordinate values dimensionally related to said planes definitive of said field of vision and wherein said means for identifying includes means for identifying vertex signals in relation to said planes.
17. A system according to claim 16 wherein said means for identifying vertex signals in relation to said planes includes a plurality of registers for said vertex signals and means for sequentially testing said coordinate signals in relation to each of said planes.
18. A system according to claim 17 wherein said means for sequentially testing includes an arithmetic unit and means for time sharing said unit in relation to said plurality of registers.
19. A system according to claim 17 wherein said means for sequentially testing includes a plurality of individual processing units.

Claims (19)

1. A clipping method for defining select data, as for a perspective display comprising the steps of: representing data in the form of electrical signals manifesting coordinate locations; defining a polyhedron for containing select data; testing said electrical signals to generate those signals defining data within sAid polyhedron as said select data.
2. A clipping method according to claim 1 wherein said electrical signals represent vertices in three-dimensional space by four-dimensional coordinates.
3. A method according to claim 1 wherein said electrical signals represent vertex locations defining a polygon, whereby said select data defines the portion of said polygon that lies within said polyhedron.
4. A method according to claim 3 wherein said testing step includes testing said vertex locations in relation to sides of said polyhedron in sequence.
5. A clipping method according to claim 3 wherein said testing step includes a step of computing data representative of intersections between represented data and a plane of said polyhedron to thereby define other vertex locations.
6. A method according to claim 3 wherein said polyhedron comprises a pyramidal vision projection.
7. A method according to claim 6 wherein said pyramid is truncated.
8. A method according to claim 6 wherein said testing step includes testing said vertex locations sequentially in relation to each side of said pyramidal vision projection.
9. A system according to claim 6 further including a preliminary step of processing said electrical signals to produce matrix-multiplied signals whereby to translate said pyramidal vision projection.
10. A clipping method for processing data that is representative of a polygon and is manifest by electrical signals specifying vertex locations of such polygon, comprising the steps of: defining a pyramidal field of vision by at least four defined surfaces; testing said electrical signals representing said vertex locations in relation to said defined surfaces to identify selected vertex locations as are within said field of vision; determining intersection locations of said polygon with said pyramidal field of vision to define a portion of said polygon within said field of vision in combination with said selected vertex locations.
11. A system for clipping a polygon comprising: means for providing vertex electrical signals representative of vertex locations specifying said polygon; means for registering a pyramidal projection figure including a plurality of planes; means for receiving said electrical signals representative of vertex locations, and coupled to said means for registering, to identify certain of said vertex electrical signals as representative of vertex locations internal of said figure; and means for receiving said electrical signals representative of vertex locations, and coupled to said means for registering, to provide intersection electrical signals representative of intersections between said polygon and said figure to specify, in combination with said certain vertex electrical signals, the portion of said polygon within said figure.
12. A system according to claim 11 wherein said means for providing vertex electrical signals comprises means for providing signals representative of homogeneous coordinates to define vertices in three-dimensional space.
13. A system according to claim 12 further including a matrix multiplier for acting on said vertex electrical signals for translating said signals in relation to said pyramidal projection.
14. A system according to claim 11 wherein said means for registering a figure includes means for registering data to specify six planes definitive of a truncated pyramid.
15. A system according to claim 11 wherein said means for registering a figure includes means for registering data to specify a plurality of planes definitive of a field of vision.
16. A system according to claim 15 wherein said means for providing vertex electrical signals provides coordinate signals representative of coordinate values dimensionally related to said planes definitive of said field of vision and wherein said means for identifying includes means for identifying vertex signals in relation to said planes.
17. A system according to claim 16 wherein said means for identifYing vertex signals in relation to said planes includes a plurality of registers for said vertex signals and means for sequentially testing said coordinate signals in relation to each of said planes.
18. A system according to claim 17 wherein said means for sequentially testing includes an arithmetic unit and means for time sharing said unit in relation to said plurality of registers.
19. A system according to claim 17 wherein said means for sequentially testing includes a plurality of individual processing units.
US00298084A 1972-10-16 1972-10-16 Computer graphics clipping system for polygons Expired - Lifetime US3816726A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US00298084A US3816726A (en) 1972-10-16 1972-10-16 Computer graphics clipping system for polygons
US401479A US3889107A (en) 1972-10-16 1973-09-27 System of polygon sorting by dissection
JP48115372A JPS4974861A (en) 1972-10-16 1973-10-16

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US00298084A US3816726A (en) 1972-10-16 1972-10-16 Computer graphics clipping system for polygons

Publications (1)

Publication Number Publication Date
US3816726A true US3816726A (en) 1974-06-11

Family

ID=23148954

Family Applications (1)

Application Number Title Priority Date Filing Date
US00298084A Expired - Lifetime US3816726A (en) 1972-10-16 1972-10-16 Computer graphics clipping system for polygons

Country Status (2)

Country Link
US (1) US3816726A (en)
JP (1) JPS4974861A (en)

Cited By (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3889107A (en) * 1972-10-16 1975-06-10 Evans & Sutherland Computer Co System of polygon sorting by dissection
US4023025A (en) * 1974-11-09 1977-05-10 Ferranti, Limited Apparatus for processing data relating to information represented by lines on a chart
US4152766A (en) * 1978-02-08 1979-05-01 The Singer Company Variable resolution for real-time simulation of a polygon face object system
US4208719A (en) * 1978-08-10 1980-06-17 The Singer Company Edge smoothing for real-time simulation of a polygon face object system as viewed by a moving observer
US4208810A (en) * 1978-09-11 1980-06-24 The Singer Company Clipping polygon faces through a polyhedron of vision
EP0027766A1 (en) * 1979-10-18 1981-04-29 Thomson-Csf System for numerical production of animated images of identical targets for electronic incrustation in a landscape image
US4449201A (en) * 1981-04-30 1984-05-15 The Board Of Trustees Of The Leland Stanford Junior University Geometric processing system utilizing multiple identical processors
EP0132573A2 (en) * 1983-06-21 1985-02-13 Daikin Industries, Limited Clip circuit of CRT display units
EP0146250A2 (en) * 1983-11-03 1985-06-26 Bts-Broadcast Television Systems, Inc. System and method for a data processing pipeline
US4590465A (en) * 1982-02-18 1986-05-20 Henry Fuchs Graphics display system using logic-enhanced pixel memory cells
US4616217A (en) * 1981-05-22 1986-10-07 The Marconi Company Limited Visual simulators, computer generated imagery, and display systems
US4620288A (en) * 1983-10-26 1986-10-28 American Semiconductor Equipment Technologies Data handling system for a pattern generator
US4625289A (en) * 1985-01-09 1986-11-25 Evans & Sutherland Computer Corp. Computer graphics system of general surface rendering by exhaustive sampling
US4631690A (en) * 1982-03-10 1986-12-23 U.S. Philips Corporation Multiprocessor computer system for forming a color picture from object elements defined in a hierarchic data structure
EP0231060A2 (en) * 1986-01-21 1987-08-05 International Business Machines Corporation Fixed character string clipping in a graphics display system
EP0232004A2 (en) * 1986-01-21 1987-08-12 International Business Machines Corporation Transforming, clipping and mapping in a graphics display system
US4698779A (en) * 1984-05-05 1987-10-06 International Business Machines Corporation Graphic display with determination of coincidence of subject and clip areas
US4731606A (en) * 1985-08-02 1988-03-15 International Business Machines Corporation Method for rapid windowing of display information in computer graphics
US4766556A (en) * 1984-11-20 1988-08-23 Matsushita Electric Industrial Co., Ltd. Three-dimensional solid object manipulating apparatus and method therefor
US4783649A (en) * 1982-08-13 1988-11-08 University Of North Carolina VLSI graphics display image buffer using logic enhanced pixel memory cells
US4805121A (en) * 1986-05-30 1989-02-14 Dba Systems, Inc. Visual training apparatus
US4827445A (en) * 1982-02-18 1989-05-02 University Of North Carolina Image buffer having logic-enhanced pixel memory cells and method for setting values therein
EP0321095A2 (en) * 1987-12-09 1989-06-21 EVANS & SUTHERLAND COMPUTER CORPORATION Polygon priority resolving system with antialiasing
US4885703A (en) * 1987-11-04 1989-12-05 Schlumberger Systems, Inc. 3-D graphics display system using triangle processor pipeline
US4888712A (en) * 1987-11-04 1989-12-19 Schlumberger Systems, Inc. Guardband clipping method and apparatus for 3-D graphics display system
US4901064A (en) * 1987-11-04 1990-02-13 Schlumberger Technologies, Inc. Normal vector shading for 3-D graphics display system
US4901252A (en) * 1984-07-13 1990-02-13 International Business Machines Corporation Method for producing planar geometric projection images
US4945500A (en) * 1987-11-04 1990-07-31 Schlumberger Technologies, Inc. Triangle processor for 3-D graphics display system
GB2232564A (en) * 1989-06-09 1990-12-12 Sun Microsystems Inc Method and apparatus for clipping polygons
US5040130A (en) * 1988-09-20 1991-08-13 International Business Machines Corporation Computer graphics boundary--defined area clippping and extraneous edge deletion method
US5077608A (en) * 1990-09-19 1991-12-31 Dubner Computer Systems, Inc. Video effects system able to intersect a 3-D image with a 2-D image
US5086496A (en) * 1988-05-02 1992-02-04 Arch Development Corporation Method for hidden line and surface removal in a three dimensional display
US5088054A (en) * 1988-05-09 1992-02-11 Paris Ii Earl A Computer graphics hidden surface removal system
US5113490A (en) * 1989-06-19 1992-05-12 Silicon Graphics, Inc. Method for forming a computer model from an intersection of a cutting surface with a bounded volume
US5231695A (en) * 1990-08-29 1993-07-27 Xerox Corporation Generalized clipping in an extended frame buffer
US5245700A (en) * 1989-11-21 1993-09-14 International Business Machines Corporation Adjustment of z-buffer values for lines on the surface of a polygon
US5283860A (en) * 1990-11-15 1994-02-01 International Business Machines Corporation System and method for displaying trimmed surfaces using bitplane masking
US5283859A (en) * 1986-09-03 1994-02-01 International Business Machines Corporation Method of and system for generating images of object transforms
EP0593300A1 (en) * 1992-10-14 1994-04-20 Fujitsu Limited Hologram information forming method
US5307450A (en) * 1991-02-19 1994-04-26 Silicon Graphics, Inc. Z-subdivision for improved texture mapping
US5357599A (en) * 1992-07-30 1994-10-18 International Business Machines Corporation Method and apparatus for rendering polygons
US5414801A (en) * 1991-06-11 1995-05-09 Virtus Corporation Computerized method and apparatus using containment relationships to represent objects in a three-dimensional space, and for moving therethrough
US5428716A (en) * 1991-12-26 1995-06-27 International Business Machines Corporation Solid-clip methodology and architecture for clipping solid models and displaying cross-sections using depth-buffers
US5432894A (en) * 1991-08-23 1995-07-11 Fujitsu Limited Graphic data processing system with improved retrieval and display of graphical forms
US5448686A (en) * 1992-01-02 1995-09-05 International Business Machines Corporation Multi-resolution graphic representation employing at least one simplified model for interactive visualization applications
WO1995029465A1 (en) * 1994-04-21 1995-11-02 Sandia Corporation Multi-dimensional user oriented synthetic environment
US5493653A (en) * 1991-03-18 1996-02-20 Schmidt; Daniel G. Computer graphics system and method for capping volume enclosing polyhedron after sectioning
US5528735A (en) * 1993-03-23 1996-06-18 Silicon Graphics Inc. Method and apparatus for displaying data within a three-dimensional information landscape
US5555354A (en) * 1993-03-23 1996-09-10 Silicon Graphics Inc. Method and apparatus for navigation within three-dimensional information landscape
US5563990A (en) * 1992-10-30 1996-10-08 International Business Machines Corporation Method and apparatus for processing a pick event
US5613052A (en) * 1993-09-02 1997-03-18 International Business Machines Corporation Method and apparatus for clipping and determining color factors for polygons
US5630039A (en) * 1989-11-21 1997-05-13 International Business Machines Corporation Tessellating complex in polygons in modeling coordinates
US5666474A (en) * 1993-02-15 1997-09-09 Canon Kabushiki Kaisha Image processing
US5742277A (en) * 1995-10-06 1998-04-21 Silicon Graphics, Inc. Antialiasing of silhouette edges
US5748867A (en) * 1992-02-18 1998-05-05 Evans & Sutherland Computer Corp. Image texturing system having theme cells
US5757321A (en) * 1992-10-02 1998-05-26 Canon Kabushiki Kaisha Apparatus and method for clipping primitives using information from a previous bounding box process
US5861891A (en) * 1997-01-13 1999-01-19 Silicon Graphics, Inc. Method, system, and computer program for visually approximating scattered data
US5930803A (en) * 1997-04-30 1999-07-27 Silicon Graphics, Inc. Method, system, and computer program product for visualizing an evidence classifier
US5960435A (en) * 1997-03-11 1999-09-28 Silicon Graphics, Inc. Method, system, and computer program product for computing histogram aggregations
WO1999052082A1 (en) * 1998-04-03 1999-10-14 Webtv Networks, Inc. Guard region and hither plane vertex modification for graphics rendering
US6026399A (en) * 1997-05-30 2000-02-15 Silicon Graphics, Inc. System and method for selection of important attributes
US6034697A (en) * 1997-01-13 2000-03-07 Silicon Graphics, Inc. Interpolation between relational tables for purposes of animating a data visualization
US6052128A (en) * 1997-07-23 2000-04-18 International Business Machines Corp. Method and apparatus for clipping convex polygons on single instruction multiple data computers
US6111578A (en) * 1997-03-07 2000-08-29 Silicon Graphics, Inc. Method, system and computer program product for navigating through partial hierarchies
US6130670A (en) * 1997-02-20 2000-10-10 Netscape Communications Corporation Method and apparatus for providing simple generalized conservative visibility
US6182058B1 (en) 1997-02-28 2001-01-30 Silicon Graphics, Inc. Bayes rule based and decision tree hybrid classifier
US6195102B1 (en) 1987-03-17 2001-02-27 Quantel Limited Image transformation processing which applies realistic perspective conversion to a planar image
US6278464B1 (en) 1997-03-07 2001-08-21 Silicon Graphics, Inc. Method, system, and computer program product for visualizing a decision-tree classifier
US6301579B1 (en) 1998-10-20 2001-10-09 Silicon Graphics, Inc. Method, system, and computer program product for visualizing a data structure
US6310620B1 (en) * 1998-12-22 2001-10-30 Terarecon, Inc. Method and apparatus for volume rendering with multiple depth buffers
US6373483B1 (en) 1997-01-13 2002-04-16 Silicon Graphics, Inc. Method, system and computer program product for visually approximating scattered data using color to represent values of a categorical variable
US6407736B1 (en) 1999-06-18 2002-06-18 Interval Research Corporation Deferred scanline conversion architecture
US6437795B1 (en) 1999-07-21 2002-08-20 Sun Microsystems, Inc. Method and apparatus for clipping a function
US6460049B1 (en) 1998-12-22 2002-10-01 Silicon Graphics, Inc. Method system and computer program product for visualizing an evidence classifier
US6459438B1 (en) * 2000-02-02 2002-10-01 Ati International Srl Method and apparatus for determining clipping distance
US6480194B1 (en) 1996-11-12 2002-11-12 Silicon Graphics, Inc. Computer-related method, system, and program product for controlling data visualization in external dimension(s)
US6507348B1 (en) 2000-02-02 2003-01-14 Ati International, Srl Method and apparatus for clipping an object element in accordance with a clip volume
US6512524B1 (en) 2000-02-02 2003-01-28 Ati International, Srl Method and apparatus for object element attribute determination using barycentric coordinates
US6545686B1 (en) 1997-12-16 2003-04-08 Oak Technology, Inc. Cache memory and method for use in generating computer graphics texture
US20030214502A1 (en) * 2001-11-27 2003-11-20 Samsung Electronics Co., Ltd. Apparatus and method for depth image-based representation of 3-dimensional object
US20040223628A1 (en) * 2003-05-08 2004-11-11 Lockheed Martin Corporation Method and system for providing a measure of performance of region of interest identification algorithms
US20050088456A1 (en) * 2002-10-09 2005-04-28 Evans & Sutherland Computer Corporation System and method for run-time integration of an inset geometry into a background geometry
US7106324B1 (en) * 1999-09-09 2006-09-12 Namco Ltd. Image generating system and program
US20070216710A1 (en) * 2006-03-15 2007-09-20 Microsoft Corporation Automatically generating appropriate near and far clipping planes for a 3D scene while guaranteeing minimum of Z-buffer precision
US20080212035A1 (en) * 2006-12-12 2008-09-04 Christensen Robert R System and method for aligning RGB light in a single modulator projector
US20080259988A1 (en) * 2007-01-19 2008-10-23 Evans & Sutherland Computer Corporation Optical actuator with improved response time and method of making the same
US20090002644A1 (en) * 2007-05-21 2009-01-01 Evans & Sutherland Computer Corporation Invisible scanning safety system
US20090168186A1 (en) * 2007-09-07 2009-07-02 Forrest Williams Device and method for reducing etendue in a diode laser
US20090219491A1 (en) * 2007-10-18 2009-09-03 Evans & Sutherland Computer Corporation Method of combining multiple Gaussian beams for efficient uniform illumination of one-dimensional light modulators
US20090322740A1 (en) * 2008-05-23 2009-12-31 Carlson Kenneth L System and method for displaying a planar image on a curved surface
US8077378B1 (en) 2008-11-12 2011-12-13 Evans & Sutherland Computer Corporation Calibration system and method for light modulation device
US8702248B1 (en) 2008-06-11 2014-04-22 Evans & Sutherland Computer Corporation Projection method for reducing interpixel gaps on a viewing surface
US9641826B1 (en) 2011-10-06 2017-05-02 Evans & Sutherland Computer Corporation System and method for displaying distant 3-D stereo on a dome surface
US10026216B2 (en) 2015-01-28 2018-07-17 Samsung Electronics Co., Ltd. Graphics data processing method and apparatus
US20190213782A1 (en) * 2015-01-27 2019-07-11 Splunk Inc. Clipping polygons using a storage grid
US10657680B2 (en) 2015-01-27 2020-05-19 Splunk Inc. Simplified point-in-polygon test for processing geographic data
US10688394B2 (en) 2015-01-27 2020-06-23 Splunk Inc. Three-dimensional point-in-polygon operation to facilitate visualizing a 3D structure surrounding a data point
US10789279B2 (en) 2015-01-27 2020-09-29 Splunk Inc. Ray casting technique for geofencing operation

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH083963B2 (en) * 1987-05-29 1996-01-17 日立化成工業株式会社 Circuit connection member

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3602702A (en) * 1969-05-19 1971-08-31 Univ Utah Electronically generated perspective images
US3639736A (en) * 1969-11-19 1972-02-01 Ivan E Sutherland Display windowing by clipping

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3602702A (en) * 1969-05-19 1971-08-31 Univ Utah Electronically generated perspective images
US3639736A (en) * 1969-11-19 1972-02-01 Ivan E Sutherland Display windowing by clipping

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A. Appel, The Notion of Quantitive Visibility & Machine Rendering of Solids Proceeding ACM, 1967, pp. 387 393. *

Cited By (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3889107A (en) * 1972-10-16 1975-06-10 Evans & Sutherland Computer Co System of polygon sorting by dissection
US4023025A (en) * 1974-11-09 1977-05-10 Ferranti, Limited Apparatus for processing data relating to information represented by lines on a chart
US4152766A (en) * 1978-02-08 1979-05-01 The Singer Company Variable resolution for real-time simulation of a polygon face object system
US4208719A (en) * 1978-08-10 1980-06-17 The Singer Company Edge smoothing for real-time simulation of a polygon face object system as viewed by a moving observer
US4208810A (en) * 1978-09-11 1980-06-24 The Singer Company Clipping polygon faces through a polyhedron of vision
EP0027766A1 (en) * 1979-10-18 1981-04-29 Thomson-Csf System for numerical production of animated images of identical targets for electronic incrustation in a landscape image
FR2468264A1 (en) * 1979-10-18 1981-04-30 Materiel Telephoniqu Thomson C SYSTEM FOR DIGITIGLY PRODUCING IMAGES PROVIDED WITH IDENTICAL TARGETS FOR ELECTRONIC INCRUSTATION IN A LANDSCAPE IMAGE
US4449201A (en) * 1981-04-30 1984-05-15 The Board Of Trustees Of The Leland Stanford Junior University Geometric processing system utilizing multiple identical processors
US4616217A (en) * 1981-05-22 1986-10-07 The Marconi Company Limited Visual simulators, computer generated imagery, and display systems
US4827445A (en) * 1982-02-18 1989-05-02 University Of North Carolina Image buffer having logic-enhanced pixel memory cells and method for setting values therein
US4590465A (en) * 1982-02-18 1986-05-20 Henry Fuchs Graphics display system using logic-enhanced pixel memory cells
US4631690A (en) * 1982-03-10 1986-12-23 U.S. Philips Corporation Multiprocessor computer system for forming a color picture from object elements defined in a hierarchic data structure
US4783649A (en) * 1982-08-13 1988-11-08 University Of North Carolina VLSI graphics display image buffer using logic enhanced pixel memory cells
EP0132573A2 (en) * 1983-06-21 1985-02-13 Daikin Industries, Limited Clip circuit of CRT display units
EP0132573A3 (en) * 1983-06-21 1987-08-12 Daikin Industries, Limited Clip circuit of crt display units
US4620288A (en) * 1983-10-26 1986-10-28 American Semiconductor Equipment Technologies Data handling system for a pattern generator
EP0146250A2 (en) * 1983-11-03 1985-06-26 Bts-Broadcast Television Systems, Inc. System and method for a data processing pipeline
US4646075A (en) * 1983-11-03 1987-02-24 Robert Bosch Corporation System and method for a data processing pipeline
EP0146250A3 (en) * 1983-11-03 1987-11-19 Bts-Broadcast Television Systems, Inc. System and method for a data processing pipeline
US4698779A (en) * 1984-05-05 1987-10-06 International Business Machines Corporation Graphic display with determination of coincidence of subject and clip areas
US4901252A (en) * 1984-07-13 1990-02-13 International Business Machines Corporation Method for producing planar geometric projection images
US4766556A (en) * 1984-11-20 1988-08-23 Matsushita Electric Industrial Co., Ltd. Three-dimensional solid object manipulating apparatus and method therefor
US4625289A (en) * 1985-01-09 1986-11-25 Evans & Sutherland Computer Corp. Computer graphics system of general surface rendering by exhaustive sampling
US4731606A (en) * 1985-08-02 1988-03-15 International Business Machines Corporation Method for rapid windowing of display information in computer graphics
EP0231060A2 (en) * 1986-01-21 1987-08-05 International Business Machines Corporation Fixed character string clipping in a graphics display system
EP0231060A3 (en) * 1986-01-21 1989-04-05 International Business Machines Corporation Fixed character string clipping in a graphics display system
EP0232004A3 (en) * 1986-01-21 1989-04-12 International Business Machines Corporation Transforming, clipping and mapping in a graphics display system
EP0232004A2 (en) * 1986-01-21 1987-08-12 International Business Machines Corporation Transforming, clipping and mapping in a graphics display system
US4805121A (en) * 1986-05-30 1989-02-14 Dba Systems, Inc. Visual training apparatus
US5283859A (en) * 1986-09-03 1994-02-01 International Business Machines Corporation Method of and system for generating images of object transforms
US6195102B1 (en) 1987-03-17 2001-02-27 Quantel Limited Image transformation processing which applies realistic perspective conversion to a planar image
US4901064A (en) * 1987-11-04 1990-02-13 Schlumberger Technologies, Inc. Normal vector shading for 3-D graphics display system
US4885703A (en) * 1987-11-04 1989-12-05 Schlumberger Systems, Inc. 3-D graphics display system using triangle processor pipeline
US4945500A (en) * 1987-11-04 1990-07-31 Schlumberger Technologies, Inc. Triangle processor for 3-D graphics display system
US4888712A (en) * 1987-11-04 1989-12-19 Schlumberger Systems, Inc. Guardband clipping method and apparatus for 3-D graphics display system
US4918626A (en) * 1987-12-09 1990-04-17 Evans & Sutherland Computer Corp. Computer graphics priority system with antialiasing
EP0321095A2 (en) * 1987-12-09 1989-06-21 EVANS & SUTHERLAND COMPUTER CORPORATION Polygon priority resolving system with antialiasing
EP0321095A3 (en) * 1987-12-09 1991-05-02 EVANS & SUTHERLAND COMPUTER CORPORATION Polygon priority resolving system with antialiasing
US5086496A (en) * 1988-05-02 1992-02-04 Arch Development Corporation Method for hidden line and surface removal in a three dimensional display
US5088054A (en) * 1988-05-09 1992-02-11 Paris Ii Earl A Computer graphics hidden surface removal system
US5040130A (en) * 1988-09-20 1991-08-13 International Business Machines Corporation Computer graphics boundary--defined area clippping and extraneous edge deletion method
US5079719A (en) * 1989-06-09 1992-01-07 Sun Microsystems, Inc. Method and apparatus for clipping polygons
GB2232564B (en) * 1989-06-09 1994-01-12 Sun Microsystems Inc Method and apparatus for clipping polygons
GB2232564A (en) * 1989-06-09 1990-12-12 Sun Microsystems Inc Method and apparatus for clipping polygons
US5113490A (en) * 1989-06-19 1992-05-12 Silicon Graphics, Inc. Method for forming a computer model from an intersection of a cutting surface with a bounded volume
US5245700A (en) * 1989-11-21 1993-09-14 International Business Machines Corporation Adjustment of z-buffer values for lines on the surface of a polygon
US5630039A (en) * 1989-11-21 1997-05-13 International Business Machines Corporation Tessellating complex in polygons in modeling coordinates
US5231695A (en) * 1990-08-29 1993-07-27 Xerox Corporation Generalized clipping in an extended frame buffer
US5077608A (en) * 1990-09-19 1991-12-31 Dubner Computer Systems, Inc. Video effects system able to intersect a 3-D image with a 2-D image
US5283860A (en) * 1990-11-15 1994-02-01 International Business Machines Corporation System and method for displaying trimmed surfaces using bitplane masking
US5307450A (en) * 1991-02-19 1994-04-26 Silicon Graphics, Inc. Z-subdivision for improved texture mapping
US5493653A (en) * 1991-03-18 1996-02-20 Schmidt; Daniel G. Computer graphics system and method for capping volume enclosing polyhedron after sectioning
US5414801A (en) * 1991-06-11 1995-05-09 Virtus Corporation Computerized method and apparatus using containment relationships to represent objects in a three-dimensional space, and for moving therethrough
US5432894A (en) * 1991-08-23 1995-07-11 Fujitsu Limited Graphic data processing system with improved retrieval and display of graphical forms
US5428716A (en) * 1991-12-26 1995-06-27 International Business Machines Corporation Solid-clip methodology and architecture for clipping solid models and displaying cross-sections using depth-buffers
US5448686A (en) * 1992-01-02 1995-09-05 International Business Machines Corporation Multi-resolution graphic representation employing at least one simplified model for interactive visualization applications
US5748867A (en) * 1992-02-18 1998-05-05 Evans & Sutherland Computer Corp. Image texturing system having theme cells
US5357599A (en) * 1992-07-30 1994-10-18 International Business Machines Corporation Method and apparatus for rendering polygons
US5757321A (en) * 1992-10-02 1998-05-26 Canon Kabushiki Kaisha Apparatus and method for clipping primitives using information from a previous bounding box process
EP0593300A1 (en) * 1992-10-14 1994-04-20 Fujitsu Limited Hologram information forming method
US5563990A (en) * 1992-10-30 1996-10-08 International Business Machines Corporation Method and apparatus for processing a pick event
US5666474A (en) * 1993-02-15 1997-09-09 Canon Kabushiki Kaisha Image processing
US5555354A (en) * 1993-03-23 1996-09-10 Silicon Graphics Inc. Method and apparatus for navigation within three-dimensional information landscape
US5528735A (en) * 1993-03-23 1996-06-18 Silicon Graphics Inc. Method and apparatus for displaying data within a three-dimensional information landscape
US5671381A (en) * 1993-03-23 1997-09-23 Silicon Graphics, Inc. Method and apparatus for displaying data within a three-dimensional information landscape
US5861885A (en) * 1993-03-23 1999-01-19 Silicon Graphics, Inc. Method and apparatus for indicating selected objects by spotlight
US5613052A (en) * 1993-09-02 1997-03-18 International Business Machines Corporation Method and apparatus for clipping and determining color factors for polygons
US5680524A (en) * 1994-04-21 1997-10-21 Sandia Corporation Synthetic environment employing a craft for providing user perspective reference
WO1995029465A1 (en) * 1994-04-21 1995-11-02 Sandia Corporation Multi-dimensional user oriented synthetic environment
US5742277A (en) * 1995-10-06 1998-04-21 Silicon Graphics, Inc. Antialiasing of silhouette edges
US6480194B1 (en) 1996-11-12 2002-11-12 Silicon Graphics, Inc. Computer-related method, system, and program product for controlling data visualization in external dimension(s)
US6842176B2 (en) 1996-11-12 2005-01-11 Silicon Graphics, Inc. Computer-related method and system for controlling data visualization in external dimension(s)
US5861891A (en) * 1997-01-13 1999-01-19 Silicon Graphics, Inc. Method, system, and computer program for visually approximating scattered data
US6373483B1 (en) 1997-01-13 2002-04-16 Silicon Graphics, Inc. Method, system and computer program product for visually approximating scattered data using color to represent values of a categorical variable
US6034697A (en) * 1997-01-13 2000-03-07 Silicon Graphics, Inc. Interpolation between relational tables for purposes of animating a data visualization
US6130670A (en) * 1997-02-20 2000-10-10 Netscape Communications Corporation Method and apparatus for providing simple generalized conservative visibility
US6182058B1 (en) 1997-02-28 2001-01-30 Silicon Graphics, Inc. Bayes rule based and decision tree hybrid classifier
US6111578A (en) * 1997-03-07 2000-08-29 Silicon Graphics, Inc. Method, system and computer program product for navigating through partial hierarchies
US6137499A (en) * 1997-03-07 2000-10-24 Silicon Graphics, Inc. Method, system, and computer program product for visualizing data using partial hierarchies
US6259451B1 (en) 1997-03-07 2001-07-10 Silicon Graphics, Inc. Method, system, and computer program product for mapping between an overview and a partial hierarchy
US6278464B1 (en) 1997-03-07 2001-08-21 Silicon Graphics, Inc. Method, system, and computer program product for visualizing a decision-tree classifier
US5960435A (en) * 1997-03-11 1999-09-28 Silicon Graphics, Inc. Method, system, and computer program product for computing histogram aggregations
US5930803A (en) * 1997-04-30 1999-07-27 Silicon Graphics, Inc. Method, system, and computer program product for visualizing an evidence classifier
US6026399A (en) * 1997-05-30 2000-02-15 Silicon Graphics, Inc. System and method for selection of important attributes
US6052128A (en) * 1997-07-23 2000-04-18 International Business Machines Corp. Method and apparatus for clipping convex polygons on single instruction multiple data computers
US6545686B1 (en) 1997-12-16 2003-04-08 Oak Technology, Inc. Cache memory and method for use in generating computer graphics texture
US6144387A (en) * 1998-04-03 2000-11-07 Liu; Mei-Chi Guard region and hither plane vertex modification for graphics rendering
WO1999052082A1 (en) * 1998-04-03 1999-10-14 Webtv Networks, Inc. Guard region and hither plane vertex modification for graphics rendering
US6301579B1 (en) 1998-10-20 2001-10-09 Silicon Graphics, Inc. Method, system, and computer program product for visualizing a data structure
US6460049B1 (en) 1998-12-22 2002-10-01 Silicon Graphics, Inc. Method system and computer program product for visualizing an evidence classifier
US6310620B1 (en) * 1998-12-22 2001-10-30 Terarecon, Inc. Method and apparatus for volume rendering with multiple depth buffers
US6407736B1 (en) 1999-06-18 2002-06-18 Interval Research Corporation Deferred scanline conversion architecture
US6611264B1 (en) 1999-06-18 2003-08-26 Interval Research Corporation Deferred scanline conversion architecture
US6437795B1 (en) 1999-07-21 2002-08-20 Sun Microsystems, Inc. Method and apparatus for clipping a function
US7106324B1 (en) * 1999-09-09 2006-09-12 Namco Ltd. Image generating system and program
US6459438B1 (en) * 2000-02-02 2002-10-01 Ati International Srl Method and apparatus for determining clipping distance
US6507348B1 (en) 2000-02-02 2003-01-14 Ati International, Srl Method and apparatus for clipping an object element in accordance with a clip volume
US6512524B1 (en) 2000-02-02 2003-01-28 Ati International, Srl Method and apparatus for object element attribute determination using barycentric coordinates
US20030218606A1 (en) * 2001-11-27 2003-11-27 Samsung Electronics Co., Ltd. Node structure for representing 3-dimensional objects using depth image
US8022951B2 (en) * 2001-11-27 2011-09-20 Samsung Electronics Co., Ltd. Node structure for representing 3-dimensional objects using depth image
US20030214502A1 (en) * 2001-11-27 2003-11-20 Samsung Electronics Co., Ltd. Apparatus and method for depth image-based representation of 3-dimensional object
US8390622B2 (en) 2001-11-27 2013-03-05 Samsung Electronics Co., Ltd. Apparatus and method for depth image-based representation of 3-dimensional object
US8217941B2 (en) 2001-11-27 2012-07-10 Samsung Electronics Co., Ltd. Apparatus and method for depth image-based representation of 3-dimensional object
US20050088456A1 (en) * 2002-10-09 2005-04-28 Evans & Sutherland Computer Corporation System and method for run-time integration of an inset geometry into a background geometry
US7266218B2 (en) 2003-05-08 2007-09-04 Lockheed Martin Corporation Method and system for providing a measure of performance of region of interest identification algorithms
US20040223628A1 (en) * 2003-05-08 2004-11-11 Lockheed Martin Corporation Method and system for providing a measure of performance of region of interest identification algorithms
US7525542B2 (en) * 2006-03-15 2009-04-28 Microsoft Corporation Automatically generating appropriate near and far clipping planes for a 3D scene while guaranteeing minimum of Z-buffer precision
US20070216710A1 (en) * 2006-03-15 2007-09-20 Microsoft Corporation Automatically generating appropriate near and far clipping planes for a 3D scene while guaranteeing minimum of Z-buffer precision
US7891818B2 (en) 2006-12-12 2011-02-22 Evans & Sutherland Computer Corporation System and method for aligning RGB light in a single modulator projector
US20080212035A1 (en) * 2006-12-12 2008-09-04 Christensen Robert R System and method for aligning RGB light in a single modulator projector
US20080259988A1 (en) * 2007-01-19 2008-10-23 Evans & Sutherland Computer Corporation Optical actuator with improved response time and method of making the same
US20090002644A1 (en) * 2007-05-21 2009-01-01 Evans & Sutherland Computer Corporation Invisible scanning safety system
US20090168186A1 (en) * 2007-09-07 2009-07-02 Forrest Williams Device and method for reducing etendue in a diode laser
US20090219491A1 (en) * 2007-10-18 2009-09-03 Evans & Sutherland Computer Corporation Method of combining multiple Gaussian beams for efficient uniform illumination of one-dimensional light modulators
US20090322740A1 (en) * 2008-05-23 2009-12-31 Carlson Kenneth L System and method for displaying a planar image on a curved surface
US8358317B2 (en) 2008-05-23 2013-01-22 Evans & Sutherland Computer Corporation System and method for displaying a planar image on a curved surface
US8702248B1 (en) 2008-06-11 2014-04-22 Evans & Sutherland Computer Corporation Projection method for reducing interpixel gaps on a viewing surface
US8077378B1 (en) 2008-11-12 2011-12-13 Evans & Sutherland Computer Corporation Calibration system and method for light modulation device
US9641826B1 (en) 2011-10-06 2017-05-02 Evans & Sutherland Computer Corporation System and method for displaying distant 3-D stereo on a dome surface
US10110876B1 (en) 2011-10-06 2018-10-23 Evans & Sutherland Computer Corporation System and method for displaying images in 3-D stereo
US20190213782A1 (en) * 2015-01-27 2019-07-11 Splunk Inc. Clipping polygons using a storage grid
US10657680B2 (en) 2015-01-27 2020-05-19 Splunk Inc. Simplified point-in-polygon test for processing geographic data
US10688394B2 (en) 2015-01-27 2020-06-23 Splunk Inc. Three-dimensional point-in-polygon operation to facilitate visualizing a 3D structure surrounding a data point
US10748330B2 (en) * 2015-01-27 2020-08-18 Splunk Inc. Clipping polygons to fit within a clip region
US10789279B2 (en) 2015-01-27 2020-09-29 Splunk Inc. Ray casting technique for geofencing operation
US11189083B2 (en) 2015-01-27 2021-11-30 Splunk Inc. Clipping polygons based on a scan of a storage grid
US11734878B1 (en) * 2015-01-27 2023-08-22 Splunk Inc. Polygon clipping based on traversing lists of points
US10026216B2 (en) 2015-01-28 2018-07-17 Samsung Electronics Co., Ltd. Graphics data processing method and apparatus

Also Published As

Publication number Publication date
JPS4974861A (en) 1974-07-19

Similar Documents

Publication Publication Date Title
US3816726A (en) Computer graphics clipping system for polygons
US6529207B1 (en) Identifying silhouette edges of objects to apply anti-aliasing
KR910009101B1 (en) Image synthesizing apparatus
Baumgart Geometric modeling for computer vision.
US4590465A (en) Graphics display system using logic-enhanced pixel memory cells
US5917937A (en) Method for performing stereo matching to recover depths, colors and opacities of surface elements
US4985854A (en) Method for rapid generation of photo-realistic imagery
US5012433A (en) Multistage clipping method
US4855938A (en) Hidden line removal method with modified depth buffer
EP0310176B1 (en) Method of and arrangement for generating a two-dimensional image
EP1025558B1 (en) A method and apparatus for performing chroma key, transparency and fog operations
US4888583A (en) Method and apparatus for rendering an image from data arranged in a constructive solid geometry format
JP3759971B2 (en) How to shade a 3D image
US6172678B1 (en) Image processing method and apparatus including hidden surface removal
EP0606685A1 (en) Method and apparatus for reducing illumination calculations through efficient visibility determination
US3639736A (en) Display windowing by clipping
EP0642103A2 (en) Computer graphics system
US5877769A (en) Image processing apparatus and method
WO1995004331A1 (en) Three-dimensional image synthesis using view interpolation
JP2001357410A (en) Graphic system for composing three-dimensional images generated separately
EP3340183B1 (en) Graphics processing employing cube map texturing
US5003497A (en) Method for three-dimensional clip checking for computer graphics
KR910009102B1 (en) Image synthesizing apparatus
US4899295A (en) Video signal processing
England A graphics system architecture for interactive application-specific display functions