Patent ID: 8810579

Claim:
A computer-implemented method, comprising: obtaining, at a computing device, an initial vector of parameter values that defines a curve comprising a plurality of segments, each segment of the plurality of segments being defined by four scalar parameters and extending between two endpoints; and determining, at the computing device, a final vector of parameter values for the curve, wherein determining the final vector of parameter values comprises utilizing an iterative process to analyze whether a set of constraints are met at each endpoint, the iterative process including: (i) analyzing a current vector of parameter values to determine a vector of deviation values based on deviation from the set of constraints for each endpoint, (ii) determining whether the vector of deviation values is within a tolerance, (iii) when the vector of deviation values is within the tolerance, setting the current vector of parameter values as the final vector of parameter values, and (iv) when the vector of deviation values is not within the tolerance: (a) computing a change matrix based on how a change to the current vector of parameters will change the vector of deviation values, (b) inverting the change matrix to obtain an inverted change matrix, (c) obtaining an update vector by computing a dot product of the inverted change matrix and the vector of deviation values, (d) obtaining a refined vector of parameter values by subtracting the update vector from the current vector of parameter values, and (e) setting the refined vector of parameter values as the current vector of parameter values to be analyzed.