System and method for identifying Bezier curves from a shape
AssigneeAdobe Systems Incorporated
InventorFan Yu
Life of this patent
Estimating the term…
Abstract
A system and method receives a set of data points and identifies one or more Bezier curves corresponding to the set of data points. The system and method uses different techniques for identifying the Bezier curve depending on whether a Bezier point is a sharp point, in which the slope of the lines on either side of the point differ by a threshold amount or another type of point.
Claims31
A method of identifying a plurality of Bezier curves from a shape, the shape comprising a plurality of ordered data points, the method comprising:
- identifying each data point in a first subset of the plurality of data points as a first type of data point;
- identifying each data point in a second subset of the plurality of data points as a second type of data point;
- for at least some of the data points in the first subset, identifying a first number of at least one data point between said data point in the first subset, and a next data point in either the first subset or the second subset in the order of the plurality of data points;
- for at least some of the data points in the second subset, identifying a second number, different from the first number, of at least one data point between said data point in the second subset, and a next data point in either the first subset or the second subset in the order of the plurality of data points;
- for each of the at least some of the data points in the first subset and each of the at least some of the data points in the second subset:
- identifying a set of equations responsive to said data point, the next data point in the first or second subset, and the identified at least one data point between such data points;
- solving the equations;
- and
- identifying at least one of the plurality of Bezier curves responsive to the solved equations and a location of said data point and the next data point in the first or second subset,
- wherein the identifying a set of equations and the solving are performed by at least one processor.
A system for identifying a plurality of Bezier curves from a shape, the shape comprising a plurality of ordered data points, the system comprising:
- a data point receiver having an input operatively coupled for receiving the plurality of data points, the data point receiver for providing the plurality of ordered data points at an output;
- a first identifier having an input coupled to the data point receiver output, the first identifier for identifying at an output each data point in a first subset of a plurality of data points corresponding to the plurality of ordered data points as a first type of data point;
- a second identifier having an input coupled to the data point receiver output, the second identifier for identifying at an output each data point in a second subset of the plurality of data points corresponding to the ordered data points as a second type of data point;
- a first between point identifier having an input coupled to the first identifier output and second identifier output, the first between point identifier, for at least some of the data points in the first subset, identifying at an output a first number of at least one data point between said data point in the first subset, and
- a next data point in either the first subset or the second subset in the order of the plurality of data points;
- a second between point identifier having an input coupled to the first identifier output and second identifier output, the second between point identifier, for at least some of the data points in the second subset, identifying a second number, different from the first number, of at least one data point between said data point in the second subset, and a next data point in either the first subset or the second subset in the order of the plurality of data points;
- a first equation identifier having an input coupled to the first between point identifier output and the first identifier, the first equation identifier for, for each of the at least some of the data points in the first subset, identifying and providing at an output, a first set of equations responsive to said data point, the next data point in the first subset, and the identified at least one data point between such data points;
- a first equation solver having an input coupled to the first equation identifier, the first equation solver for solving each said first set of equations and providing a solution and coordinates of said data point and said next data point at an output;
- a second equation identifier having an input coupled to the second between point identifier output and the second identifier, the second equation identifier for, for each of the at least some of the data points in the second subset, identifying and providing at an output, a second set of equations responsive to said data point, the next data point in the second subset, and the identified at least one data point between such data points;
- a second equation solver having an input coupled to the second equation identifier, the second equation solver for solving each said second set of equations and providing a solution and coordinates of said data point and said next data point at an output;
- and
- a Bezier curve identifier having an input coupled to the first equation solver output and the second equation solver output, the Bezier curve identifier for, for each solution and coordinates of said data point and said next data point, identifying at least one of the plurality of Bezier curves responsive to the solution and said coordinates.
A computer program product comprising a computer useable medium having computer readable program code embodied therein for identifying a plurality of Bezier curves from a shape, the shape comprising a plurality of ordered data points, the computer program product comprising computer readable program code devices configured to cause a computer system to:
- identify each data point in a first subset of the plurality of data points as a first type of data point;
- identify each data point in a second subset of the plurality of data points as a second type of data point;
- for at least some of the data points in the first subset, identify a first number of at least one data point between said data point in the first subset, and a next data point in either the first subset or the second subset in the order of the plurality of data points;
- for at least some of the data points in the second subset, identify a second number, different from the first number, of at least one data point between said data point in the second subset, and a next data point in either the first subset or the second subset in the order of the plurality of data points;
- for each of the at least some of the data points in the first subset and each of the at least some of the data points in the second subset:
- identify a set of equations responsive to said data point, the next data point in the first or second subset, and the identified at least one data point between such data points;
- solve the equations;
- and
- identify at least one of the plurality of Bezier curves responsive to the solved equations and a location of said data point and the next data point in the first or second subset.
Dependencies are inferred from the claim text.