Patent ID: 7292247

Claim:
In a computing system that has access to a set of control points for generating an outline for rendering a graphical object, some control points having one or more constraints thereon, a computerized method for automatically and dynamically determining one or more directions of freedom and an order for applying the one or more directions of freedom to move a control point in a manner that complies with a constraint and with a reduced likelihood of causing non-compliance with other of the one or more constraints, the method comprising: (a) receiving a set of control points representing a graphical object; (b) receiving one or more constraints on the set of control points for the graphical object; (c) for a particular control point, identifying a first constraint applied to the control point; (d) identifying a first direction of compliance in which compliance with the first constraint is measured; (d) calculating, based on a location of the control point, that the control point does not comply with the first constraint; (e) automatically and dynamically determining an order for setting directions of freedom and for moving the control point in the directions of freedom, based on a comparison of at least two angles defined between the first direction of compliance and first and second axes, comprising: (i) calculating a first angle between the first direction of compliance and the first axis and calculating a second angle between the first direction of compliance and the second axis; (ii) comparing the first angle with the second angle and determining that the first angle is less than the second angle, such that the first direction of compliance is closer to the first axis than the second axis; and (iii) based on the determination that the first angle is less than the second angle and that the first direction of compliance is closer to the first axis than the second axis, setting the first axis as the first direction of freedom for moving the control point, and prior to setting the second direction of freedom for subsequently moving the control point, and such that the order in which the directions of freedom are set is automatically and dynamically dependent upon a magnitude of each of the first and second angles; and (f) on a display device, rendering the graphical object using the set first direction of freedom and the set second direction of freedom, in the determined order.