Claims
- 1. A method of determining the flatness of a first cubic Bezier curve having a first set of four control points having coordinates, two of said control points being endpoints and the remaining control points being internal, in preparation for displaying the cubic Bezier curve on a raster display, comprising:
- determining whether said first cubic Bezier curve can be approximated by a straight line segment, such approximation being possible if the distances between the x and y values of a selected one of said internal control points and the respective x and y values of a selected endpoint are within a flatness factor of 1/3 of the distance between the respective x and y values of the coordinates of said two endpoints
- upon determining that said first cubic Bezier curve can be approximated by a straight line segment, outputting said straight line segment,
- upon determining that said first cubic Bezier curve cannot be approximated by a straight line segment, dividing said first cubic Bezier curve approximately at its midpoint into second and third cubic Bezier curves and calculating a second and third set of control points for each of said second and third cubic Bezier curves, wherein at least one control point of each of said second and third sets of control points substantially coincides with one control point of said first cubic Bezier curve;
- when said second and third cubic Bezier curves cannot be approximated by straight line segments, repeating the process of subdividing for either of said second and third cubic Bezier curves which cannot be so approximated, continuing iteratively until all cubic Bezier curves can be approximated by straight line segments; and
- displaying the approximated straight line segments on said raster display.
- 2. A method for displaying rasterized objects comprising:
- accessing outline data from a computer memory or storage medium, said outline data representing said object in a first coordinate space,
- deriving from said outline data representing said object in a first coordinate space data corresponding to said outline data, the derived data representing said object in a second coordinate space;
- flattening curved portions of said data representing said object in said second coordinate space into a plurality of straight lines;
- generating a plurality of line segments from said straight lines;
- identifying all of said plurality of line segments that cross a midline through the center of a pixel;
- identifying the pixels to be used to display said object by selecting all the pixels whose midlines have been identified to have been crossed by one of said plurality of line segments; and
- storing the identified pixels to be used to display said object in computer memory for subsequent display or displaying said pixels on a raster printing or a raster display device.
- 3. Apparatus for determining the flatness of a first cubic Bezier curve having a first set of four control points having coordinates, two of said control points being endpoints and the remaining control points being internal, in preparation for displaying the cubic Bezier curve on a raster display, comprising:
- means for determining whether said first cubic Bezier curve can be approximated by said straight line segment, such approximation being possible if the distance between the x and y values of a selected one of said internal control points and the respective x and y values of a selected endpoint are within a flatness factor of 1/3 of the distance between the respective x and y values of the coordinates of said two endpoints;
- means for outputting said straight line segment upon determining that said first cubic Bezier curve can be approximated by said straight line segment;
- means for dividing said first cubic Bezier curve approximately at its midpoint into second and third cubic Bezier curves and calculating a second and third set of control points for each of said second and third cubic Bezier curves upon determining that said first cubic Bezier curve cannot be approximated by a straight line segment, wherein at least one control point of each of said second and third sets of control points substantially coincides with one control point of said first cubic Bezier curve;
- means for repeating, when said second and third cubic Bezier curves cannot be approximated by straight line segments, the process of subdividing for either of said second and third cubic Bezier curves which cannot be so approximated, continuing iteratively until all cubic Bezier curves can be approximated by straight line segments; and
- means for displaying the approximated straight line segments on said raster display.
- 4. Apparatus for displaying rasterized objects comprising:
- means for accessing outline data from a computer memory or storage medium, said outline data representing said object in a first coordinate space,
- means for deriving from said outline data representing said object in a first coordinate space data corresponding to said outline data, the derived data representing said object in a second coordinate space;
- means for flattening curved portions of said data representing said object in said second coordinate space into a plurality of straight lines;
- means for generating a plurality of line segments from said straight lines;
- means for identifying all of said plurality of line segments that cross a midline through the center of a pixel;
- means for identifying the pixels to be used to display said object by selecting all pixels whose midlines have been identified to have been crossed by one of said plurality of line segments; and
- means for storing the identified pixels to be used to display said object in computer memory for subsequent display or displaying said pixels on a raster printing or a raster display device.
Parent Case Info
This is a divisional of application Ser. No. 07/767,259 filed Sep. 27, 1991, U.S. Pat. No. 5,301,267.
US Referenced Citations (6)
Divisions (1)
|
Number |
Date |
Country |
Parent |
767259 |
Sep 1991 |
|