← Back to Patent Explorer
US5079719A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for clipping polygons

Assignee: Sun Microsystems Inc
•
Filing: 1989-06-09
•
Granted: 1992-01-07
•
Expires: 2009-06-09
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A standard polygon clipping algorithm is used to either trivially accept/reject the sides or clip the sides of a polygon. Then, for each side that cannot be trivially accepted/rejected nor clipped using the standard polygon clipping algorithm, at least one turning point is generated to replace the side by performing a Boolean operation using the region codings provided by the standard polygon clipping algorithm. As a result, the replacement turning points are generated using integer arithmetic.

Inventors

  • 👤 Patrick-Gilles Maillot

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 15:21
CPC Classifications
G; G06; G06T; G06T15/00; G06T15/10; G06T15/30

Claims Analysis

Total Claims: 11
Claim 1
Independent Claim 522 words
A method for clipping a polygon for display on a computer output display, said polygon comprising a beginning and ending vertices connected by a substantially straight line forming a side of said polygon, said side being clipped for display in a substantially rectangular display window on said computer output display having four corners, said method comprising the steps of: assigning beginning and ending codes to the beginning and ending vertices, each of the codes indicating whether each of the vertices lies in a region that is above, below, to the right of, to the left of, above and to the right of, above and to the left of, below and to the right of, below and to the left of, or inside said display window, each of the codes comprising at least four bits, a first bit indicating whether the vertex is located in one of the three regions below said display window, a second bit indicating whether the vertex is located in one of the three regions left to said display window, a third bit indicating whether the vertex is located in one of the three regions above said display window, and a fourth bit indicating whether the vertex is located in one of the three regions right of said display window; including said side for display if both of said vertices lie in the same region inside said display window; excluding said side from display if both of said vertices lie in the same region outside said display window; including a portion of said side for display if said vertices lie in different regions and said side intersects with one or two edges of said display window, said portion being determined by clipping one or both ends of said side which lie outside the display window; replacing said side with a first corner whenever said vertices lie in different regions and said side does not intersect with any edge of said display window, said first corner being the corner of said display window closest to a first derived region, said first derived region being derived based on a Boolean result determined by performing a selected one of a Boolean OR and a Boolean AND operation on the assigned codes of the beginning and ending vertices; and replacing said side with an additional second corner whenever said vertices lie in different regions and said side does not intersect with any edge of said display window, and said vertices further meet the condition that said beginning vertex lies in one of the four regions that are above, below, to the right of, and to the left of said display window and said ending vertex lie in one of the four regions that are below and to the left, above and to the right, above and to the left, and below and to the right of said display window, said second corner being the corner of said display window closest to a second derived region, said second derived region being derived based on a Boolean result determined by performing a Boolean AND operation on said assigned codes of the beginning and ending vertices.
Claim 2
Independent Claim 522 words
A method for clipping a polygon for display on a computer output display, said polygon comprising a beginning and ending vertices connected by a substantially straight line forming a side of said polygon, said side being clipped for display in a substantially rectangular display window on said computer output display having four corners, said method comprising the steps of: assigning beginning and ending codes to the beginning and ending vertices, each of the codes indicating whether each of the vertices lies in a region that is above, below, to the right of, to the left of, above and to the right of, above and to the left of, below and to the right of, below and to the left of, or inside said display window, each of the codes comprising at least four bits, a first bit indicating whether the vertex is located in one of the three regions below said display window, a second bit indicating whether the vertex is located in one of the three regions left to said display window, a third bit indicating whether the vertex is located in one of the three regions above said display window, and a fourth bit indicating whether the vertex is located in one of the three regions right of said display window; including said side for display if both of said vertices lie in the same region inside said display window; excluding said side from display if both of said vertices lie in the same region outside said display window; including a portion of said side for display if said vertices lie in different regions and said side intersects with one or two edges of said display window, said portion being determined by clipping one or both ends of said side which lie outside the display window; replacing said side with a first corner whenever said vertices lie in different regions and said side does not intersect with any edge of said display window, said first corner being the corner of said display window closest to a first derived region, said first derived region being derived based on a Boolean result determined by performing a selected one of a Boolean OR and a Boolean AND operation on the assigned codes of the beginning and ending vertices; and replacing said side with an additional second corner whenever said vertices lie in different regions and said side does not intersect with any edge of said display window, and said vertices further meet the condition that said beginning vertex lies in one of the four regions that are above, below, to the right of, and to the left of said display window and said ending vertex lie in one of the four regions that are below and to the left, above and to the right, above and to the left, and below and to the right of said display window, said second corner being the corner of said display window closest to a second derived region, said second derived region being derived based on a Boolean result determined by performing a Boolean AND operation on said assigned codes of the beginning and ending vertices.
Claim 3
Dependent Claim 90 words
The method for clipping a polygon for display on a computer output display as set forth in claim 1, wherein when said different regions where said beginning and ending vertices lie comprise two of the four regions that are above, blow, to the right and to the left of said display windows, said first derived region is derived based on a Boolean result determined by performing a Boolean OR operation on the assigned codes of the beginning and ending vertices, said first derived region being equal to said Boolean result.
Claim 4
Dependent Claim 124 words
The method for clipping a polygon for display on a computer output display as set forth in claim 1, wherein said different regions where said beginning and ending vertices lie comprise a first differing region that is one of the four regions that are above, below, to the right and to the left of said display window, and a second differing region that is one of the four regions that are above and to the right, above and to the left, below and to the right and below and to the left of said display window, said first derived region is derived based on a Boolean result determined by performing a Boolean AND operation on said assigned codes of said beginning and ending vertices.
Claim 5
Dependent Claim 115 words
The method for clipping a polygon for display on a computer output display as set forth in claim 3, wherein said first derived region is derived from said Boolean result as follows: if said Boolean result equals non-zero, setting the first derived region to be equal to the region of said ending vertex; and if said Boolean result equals zero, setting the first derived region to be equal to the sum of an arithmetic increment and the code for said second differing region, said arithmetic increment being looked up from a table using said first differing region, said table comprising the assigned codes for said first differing region and a plurality of corresponding arithmetic increments.
Claim 6
Dependent Claim 35 words
The method for clipping a polygon for display on a computer output display as set forth in claim 4, wherein said arithmetic increments corresponding to said first differing region are -3, -6, +3, and +6.
Claim 7
Dependent Claim 42 words
The method for clipping a polygon for display on a computer output display as set forth in claim 3, wherein said second derived region is set to be equal to the region of said ending vertex when said Boolean result equals zero.
Claim 8
Dependent Claim 92 words
The method for clipping a polygon for display on a computer output display as set forth in claim 1, wherein when said different regions where said beginning and ending vertices lie are two of the four regions that are above and to the right, above and to the left, below and to the right and below and to the left or said display window, said first derived region is derived based on a Boolean result determined by performing a Boolean AND operation on said assigned codes of said beginning and ending vertices.
Claim 9
Dependent Claim 74 words
The method for clipping a polygon for display on a computer output display as set forth in claim 7, wherein said first derived region is derived from said Boolean result as follows: if said Boolean result equals non-zero, setting said first derived region to be equal to the region of said ending vertex; and if said Boolean result equals zero, setting said first derived region to be equal to one of two opposing corner.
Claim 10
Dependent Claim 103 words
The method for clipping a polygon for display on a computer output display as set forth in claim 8, wherein said two opposing corner regions are: the regions that are above and to the left and below and to the right if said beginning and ending vertex lie in the regions that are above and to the right and below and to the left; and the regions that are above and to the right and below and to the left if said beginning and ending vertex lie in the regions that are above and to the left and below and to the right.
Claim 11
Dependent Claim 55 words
The method for clipping a polygon for display on a computer output display as set forth in claim 8, wherein said first derived region is resolved to one of the two opposing corner regions by applying the method of the present invention to a truncated version of said side generated by a mid-point subdivision process.

References Cited (Backward Citations)

US3638736A Cited
US3816726A Cited
US4181953A Cited
EP0132573A2 Cited
EP0167797A2 Cited
US4958305A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1995-01-06 1995-07-08 1996-01-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1999-01-06 1999-07-08 2000-01-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2003-01-06 2003-07-08 2004-01-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag