Patent ID: 7764287

Claim:
A non-transitory computer-readable storage medium encoded with executable instructions for execution by a processor to approximate a quadratic Bezier curve with straight edges represented by fixed-point binary numbers, the curve being represented by a first anchor point, a control point, and a second anchor point, the instructions comprising: (1) pushing the first anchor point, the control point, and the second anchor point into a memory stack; (2) popping out the top three points in the memory stack as points a 2 , c, and a 1 ; (3) computing a flatness F of a line formed between the points a 2 and a 1 , wherein the flatness F is determined as follows: F ( a 1 ,c,a 2)= S ( a 1 ,c,a 2), where S(a 1 , c, a 2 ) is a triangular area formed by the points a 1 , c, and a 2 ; where in a first pass through step (3), S(a 1 , c, a 2 ) is calculated from the points a 1 , c, and a 2 ; where in subsequent passes through step (3), S(a 1 , c, a 2 ) is approximated as follows: S (divided))= S (original)/8, where S(original) is a triangular area determined in a previous pass through step (3), S(divided) is a triangular area of a current pass through step (3), and division by 8 is performed by shifting 3 bits to the right; (4) determining if the flatness F is less than a threshold; (5) if the flatness F is less than a threshold: (a) adding an edge between the points a 1 and a 2 to an active edge list; (b) pushing the point a 1 back into the memory stack; (c) displaying the edge on a screen.