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

Method and apparatus for performing polygon fills in graphical applications

Assignee: Computervision Corp
•
Filing: 1988-05-17
•
Granted: 1990-01-30
•
Expires: 2008-05-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method of filling a polygon as represented on a scan-line raster display includes storing data representative of the polygon edges, computing the points of intersection of a scan-line with each polygon edge, assigning a count having a parity value to each crossed-edge, and combining all colinear horizontal edges at the points of intersection. The number of polygon edges positioned above the colinear horizontal edge and which have a vertex coincident with the colinear horizontal edge, as well as the number of polygon edges positioned below the colinear horizontal edge and which have a vertex coincident with the colinear horizontal edge, are calculated. The parity of the crossed-edge count is inverted if the parity of both the above edge count and below edge count are even, and the string of pixels along the raster display scan-line from the current edge intersection to the next edge intersection are modified if the parity of the crossed-edge count is odd.

Inventors

  • 👤 Jane Wang

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-28 00:26
CPC Classifications
G; G06; G06T; G06T11/00; G06T11/40

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 258 words
A method of filling computer-generated polygon shapes, said shapes being formed on a matrix of pixels which is organized into individual horizontal raster lines, comprising the steps of: (a) storing data representative of the vertices defining each polygon edge; (b) computing points of intersection along one of said raster lines of a scan-line with said polygon edges, and assigning a crossed-edge count and a parity value based on said crossed edge count to each of said of intersections; (c) combining at said point of intersection all horizontal edges which are colinear with said scan-line and all intersecting vertices into a colinear horizontal edge; (d) calculating the number of polygon edges positioned above said colinear horizontal edge which have a vertex coincident with said colinear horizontal edge into an above edge count; (e) calculating the number of polygon edges positioned below said colinear horizontal edge and which have a vertex coincident with said colinear horizontal edge into a below edge count; (f) comparing said above edge count and said below edge count, whereby if both said above edge count and said below edge count have even parity, the parity of the crossed-edge count of the colinear horizontal edge is inverted; and (g) modifying the string of said pixels along said raster line from the current point of intersection to the next point of intersection accordinq to the parity of said crossed-edge count, said modification being executed if the parity of said crossed-edge count is odd and said modification not executed if the parity of said crossed-edge count is even.
Claim 2
Independent Claim 258 words
A method of filling computer-generated polygon shapes, said shapes being formed on a matrix of pixels which is organized into individual horizontal raster lines, comprising the steps of: (a) storing data representative of the vertices defining each polygon edge; (b) computing points of intersection along one of said raster lines of a scan-line with said polygon edges, and assigning a crossed-edge count and a parity value based on said crossed edge count to each of said of intersections; (c) combining at said point of intersection all horizontal edges which are colinear with said scan-line and all intersecting vertices into a colinear horizontal edge; (d) calculating the number of polygon edges positioned above said colinear horizontal edge which have a vertex coincident with said colinear horizontal edge into an above edge count; (e) calculating the number of polygon edges positioned below said colinear horizontal edge and which have a vertex coincident with said colinear horizontal edge into a below edge count; (f) comparing said above edge count and said below edge count, whereby if both said above edge count and said below edge count have even parity, the parity of the crossed-edge count of the colinear horizontal edge is inverted; and (g) modifying the string of said pixels along said raster line from the current point of intersection to the next point of intersection accordinq to the parity of said crossed-edge count, said modification being executed if the parity of said crossed-edge count is odd and said modification not executed if the parity of said crossed-edge count is even.
Claim 3
Dependent Claim 28 words
The polygon fill method of Claim 1 wherein said steps (c) through (g) are repeated until the last said point of intersection along said raster line is reached.
Claim 4
Dependent Claim 30 words
The polygon fill method of Claims 1 or 2 wherein said steps (b) through (g) are repeated until the last of said raster lines in said pixel matrix is scanned.
Claim 5
Independent Claim 266 words
A method of filling polygon shapes, said shapes formed on a matrix of pixels which is organized into individual horizontal raster lines, and whereby each polygon is represented in computer memory as a set of polygon edges defined by the coordinates of the edge vertices, said method comprising the steps of: (a) computing points of intersection along one of said raster lines of a scan-line with said polygon edges, and assigning crossed-edge count and a parity value based on said crossed-edge count to each of said intersections,; (b) combining at said point of intersection all horizontal edges which are colinear with said scan-line and all intersecting vertices into a colinear horizontal edge; (c) calculating the number of polygon edges positioned above said colinear horizontal edge and which have a vertex coincident with said colinear horizontal edge into an above edge count; (d) calculating the number of polygon edges positioned below said colinear horizontal edge which have a vertex coincident with said colinear horizontal edge into a below edge count; (e) comparing said above edge count and said below edge count whereby if both said above edge and said below edge count have even parity, the parity of the crossed-edge count of the colinear horizontal edge is inverted; and (f) modifying the string of said pixels along said raster line from the current point of intersection to the next point of intersection according to the parity of said crossed-edge count, said modification being executed if the parity of said crossed-edge count is odd and said modification not executed if the parity of said crossed-edge count is even.
Claim 6
Independent Claim 266 words
A method of filling polygon shapes, said shapes formed on a matrix of pixels which is organized into individual horizontal raster lines, and whereby each polygon is represented in computer memory as a set of polygon edges defined by the coordinates of the edge vertices, said method comprising the steps of: (a) computing points of intersection along one of said raster lines of a scan-line with said polygon edges, and assigning crossed-edge count and a parity value based on said crossed-edge count to each of said intersections,; (b) combining at said point of intersection all horizontal edges which are colinear with said scan-line and all intersecting vertices into a colinear horizontal edge; (c) calculating the number of polygon edges positioned above said colinear horizontal edge and which have a vertex coincident with said colinear horizontal edge into an above edge count; (d) calculating the number of polygon edges positioned below said colinear horizontal edge which have a vertex coincident with said colinear horizontal edge into a below edge count; (e) comparing said above edge count and said below edge count whereby if both said above edge and said below edge count have even parity, the parity of the crossed-edge count of the colinear horizontal edge is inverted; and (f) modifying the string of said pixels along said raster line from the current point of intersection to the next point of intersection according to the parity of said crossed-edge count, said modification being executed if the parity of said crossed-edge count is odd and said modification not executed if the parity of said crossed-edge count is even.
Claim 7
Dependent Claim 30 words
The polygon fill method according to Claim 4 wherein said steps (b) through (f) are repeated until the last of said point of intersection along said raster line is reached.
Claim 8
Dependent Claim 31 words
The polygon fill method according to Claims 4 or 5 whereby said steps (a) through (f) are repeated until the last of said raster line in said pixel matrix is scanned.
Claim 9
Independent Claim 137 words
A method of filling a polygon as represented on a scan-line raster display, comprising the steps of, storing data representative of the location of a polygon edge, computing the points of intersection of a scan-line with each polygon edge, combining colinear horizontal edges at the points of intersection, calculating the number of polygon edges positioned above the colinear horizontal edge and which have a vertex coincident with the colinear horizontal edge, calculating the number of polygon edges positioned below the colinear horizontal edge, inverting the parity of the crossed-edge count it the parity of both the above edge a count and the below edge count are even and modifying the string of pixels along the raster line from the current point of intersection to the next point of intersection according to the parity of the crossed count.
Claim 10
Independent Claim 137 words
A method of filling a polygon as represented on a scan-line raster display, comprising the steps of, storing data representative of the location of a polygon edge, computing the points of intersection of a scan-line with each polygon edge, combining colinear horizontal edges at the points of intersection, calculating the number of polygon edges positioned above the colinear horizontal edge and which have a vertex coincident with the colinear horizontal edge, calculating the number of polygon edges positioned below the colinear horizontal edge, inverting the parity of the crossed-edge count it the parity of both the above edge a count and the below edge count are even and modifying the string of pixels along the raster line from the current point of intersection to the next point of intersection according to the parity of the crossed count.
Claim 11
Dependent Claim 37 words
A polygon fill method as set forth in claim 7 including the further step of modifying if the parity of the cross-edge count is odd and not modifying if the parity of the cross-edge count is even.
Claim 12
Independent Claim 149 words
An apparatus for filling a polygon as represented on a scan-line raster display, comprising, means for storing data representative of the location of a polygon edge, means for computing the points of intersection of a scan-line with each polygon edge, means for combining colinear horizontal edges, means for calculating the number of polygon edges positioned above the colinear horizontal edge and which have a vertex coincident with the colinear horizontal edge, means for calculating the number of polygon edges positioned below the colinear horizontal edge and which have a vertex coincident with the colinear horizontal edge, means for modifying the crossed-edge count if the parity of the above edge count and the below edge count are even, and means for modifying the string of pixels along the raster line from the current point of intersection to the next point of intersection according to the parity of the crossed-edge count.
Claim 13
Independent Claim 149 words
An apparatus for filling a polygon as represented on a scan-line raster display, comprising, means for storing data representative of the location of a polygon edge, means for computing the points of intersection of a scan-line with each polygon edge, means for combining colinear horizontal edges, means for calculating the number of polygon edges positioned above the colinear horizontal edge and which have a vertex coincident with the colinear horizontal edge, means for calculating the number of polygon edges positioned below the colinear horizontal edge and which have a vertex coincident with the colinear horizontal edge, means for modifying the crossed-edge count if the parity of the above edge count and the below edge count are even, and means for modifying the string of pixels along the raster line from the current point of intersection to the next point of intersection according to the parity of the crossed-edge count.
Claim 14
Dependent Claim 35 words
A polygon fill apparatus as set forth in claim 9 comprising means for modifying if the parity of the cross-edge count is odd and not modifying if the parity of the cross-edge count is even.
Claim 15
Dependent Claim 13 words
Apparatus according to claim 9 wherein said apparatus comprises a programmable memory means.
Claim 16
Dependent Claim 14 words
The apparatus according to claim 9 wherein said apparatus comprises a programmable memory means.
Claim 17
Independent Claim 199 words
A method of filling polygons represented on a scan-line raster display as a plurality of edges having common vertices, said scan-line crossing or intersecting the polygon edges a discernable number of times, said method comprising the steps of: (a) combining, at a point of intersection of the scan-line with a polygon edge, horizontal edges which are colinear with said scan-line and intersecting vertices into a colinear horizontal edge; (b) calculating the number of polygon edges positioned above said colinear horizontal edge which have a vertex coincident with said colinear horizontal edge into an above edge count; (c) calculating the number of polygon edges positioned below said colinear horizontal edge and which have a vertex coincident with said colinear horizontal edge into a below edge count; (d) comparing said above edge count and said below edge count, whereby if both said above edge count and below edge count have even parity, the parity of the crossed-edge count at the current point of intersection is inverted; (e) modifying the string of pixels along scan-line from the current point of intersection to the next point of intersection if the parity of the crossed-edge count for the current point of intersection is odd.
Claim 18
Independent Claim 199 words
A method of filling polygons represented on a scan-line raster display as a plurality of edges having common vertices, said scan-line crossing or intersecting the polygon edges a discernable number of times, said method comprising the steps of: (a) combining, at a point of intersection of the scan-line with a polygon edge, horizontal edges which are colinear with said scan-line and intersecting vertices into a colinear horizontal edge; (b) calculating the number of polygon edges positioned above said colinear horizontal edge which have a vertex coincident with said colinear horizontal edge into an above edge count; (c) calculating the number of polygon edges positioned below said colinear horizontal edge and which have a vertex coincident with said colinear horizontal edge into a below edge count; (d) comparing said above edge count and said below edge count, whereby if both said above edge count and below edge count have even parity, the parity of the crossed-edge count at the current point of intersection is inverted; (e) modifying the string of pixels along scan-line from the current point of intersection to the next point of intersection if the parity of the crossed-edge count for the current point of intersection is odd.

References Cited (Backward Citations)

US4481594A Cited
US4566126A Cited
US4736200A Cited
US4646076A Cited
US4725831A Cited
US4791582A Cited
US4758965A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1993-01-29 1993-07-31 1994-01-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1997-01-29 1997-07-31 1998-01-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2001-01-29 2001-07-31 2002-01-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag