Creating and modifying curves on a computer display
First Claim
1. A computer-implemented method comprising:
- displaying a composite curve on a display device of a computer system having a graphical user interface, the composite curve being made up of multiple segments connected end to end, each segment having multiple control points including two segment end points, the control points of the segments being the control points of the composite curve;
while the composite curve is being displayed, interactively receiving from the user one or more selection inputs through the graphical user interface, the selection inputs causing each of the control points to be identified as exactly one of a fixed control point, a selected control point, or a free control point, the selection inputs identifying multiple control points as selected control points; and
after the selection inputs are received, receiving from the user a displacement input through the graphical user interface, and then, in interactive response to the displacement input, moving the multiple selected control points as a rigid group on the display device and displaying a recalculated composite curve according to the displacement of the selected control points, the composite curve being recalculated leaving the fixed control points fixed and moving the free control points by an interpolated amount so as to maintain the general shape and details of the composite curve and to maintain smooth transitions between segments of the composite curve.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer-implemented method modifies a curve in response to a user action through a graphical user interface in the computer system, with the curve being defined by control points. Each of the control points is identified in response to user input as a fixed control point, a selected control point, or a free control point. A displacement of selected points is received, and a free slope control point of the curve is mapped to a point Tp on a line t. An interpolation curve IC(t) is defined on the line t, and a point Tp is projected to the value of the interpolation curve IC(t) at t equals Tp to find a scale factor. The scale factor is multiplied by the displacement of the selected points to determine the displacement of the free control point. A computer-implemented graphical user interface method creates a Bezier curve segment on a display in a computer system. A selection of a first segment end point is received through a graphical user interface in the computer system. The position of a cursor on the computer display is received as a second segment end point. The first and second slope points are calculated so that the Bezier segment defined by the first and second segment end points and the first and second slope points approximates an arc. The calculated Bezier curve segment is displayed on the computer display.
115 Citations
30 Claims
-
1. A computer-implemented method comprising:
-
displaying a composite curve on a display device of a computer system having a graphical user interface, the composite curve being made up of multiple segments connected end to end, each segment having multiple control points including two segment end points, the control points of the segments being the control points of the composite curve; while the composite curve is being displayed, interactively receiving from the user one or more selection inputs through the graphical user interface, the selection inputs causing each of the control points to be identified as exactly one of a fixed control point, a selected control point, or a free control point, the selection inputs identifying multiple control points as selected control points; and after the selection inputs are received, receiving from the user a displacement input through the graphical user interface, and then, in interactive response to the displacement input, moving the multiple selected control points as a rigid group on the display device and displaying a recalculated composite curve according to the displacement of the selected control points, the composite curve being recalculated leaving the fixed control points fixed and moving the free control points by an interpolated amount so as to maintain the general shape and details of the composite curve and to maintain smooth transitions between segments of the composite curve. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer-implemented method comprising:
-
displaying composite curves on a display device of a computer system having a graphical user interface, the composite curves being made up of multiple segments connected end to end, each segment having multiple control points including two segment end points, the control points of the segments being the control points of the composite curves; while the composite curves are being displayed, interactively receiving from the user one or more selection inputs through the graphical user interface, the selection inputs causing each of the control points to be identified as exactly one of a fixed control point, a selected control point, or a free control point, the selection inputs identifying multiple control points as selected control points; and after the selection inputs are received, receiving from the user a displacement input through the graphical user interface, and then, in interactive response to the displacement input, moving the multiple selected control points as a rigid group on the display device and displaying a recalculated composite curve according to the displacement of the selected control points, the composite curve being recalculated leaving the fixed control points fixed and moving the free control points by an interpolated amount so as to maintain the general shape and details of the composite curve and to maintain smooth transitions between segments of the composite curve. - View Dependent Claims (15)
-
-
16. A computer program residing on a computer-readable medium comprising instructions for causing a computer to:
-
display a composite curve on a display device of a computer system having a graphical user interface, the composite curve being made up of multiple segments connected end to end, each segment having multiple control points including two segment end points, the control points of the segments being the control points of the composite curve; receive interactively from the user, while the composite curve is being displayed, one or more selection inputs through the graphical user interface, the selection inputs causing each of the control points to be identified as exactly one of a fixed control point, a selected control point, or a free control point, the selection inputs identifying multiple control points as selected control points; and receive from the user, after the selection inputs are received, a displacement input through the graphical user interface, and then, in interactive response to the displacement input, move the multiple selected control points as a rigid group on the display device and display a recalculated composite curve according to the displacement of the selected control points, the composite curve being recalculated leaving the fixed control points fixed and moving the free control points by an interpolated amount so as to maintain the general shape and details of the composite curve and to maintain smooth transitions between segments of the composite curve. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A computer program residing on a computer-readable medium, the computer program comprising instructions for causing a computer to:
-
display a composite curve on a display device of a computer system having a graphical user interface, the composite curve being made up of multiple segments connected end to end, each segment having multiple control points including two segment end points, the control points of the segments being the control points of the composite curve; receive interactively from the user, while the composite curve is being displayed, one or more selection inputs through the graphical user interface, the selection inputs causing each of the control points to be identified as exactly one of a fixed control point, a selected control point, or a free control point, the selection inputs identifying multiple control points as selected control points; and receive from the user, after the selection inputs are received, a displacement input through the graphical user interface, and then, in interactive response to the displacement input, move the multiple selected control points as a rigid group on the display device and display a recalculated composite curve according to the displacement of the selected control points, the composite curve being recalculated leaving the fixed control points fixed and moving the free control points by an interpolated amount so as to maintain the general shape and details of the composite curve and to maintain smooth transitions between segments of the composite curve. - View Dependent Claims (23)
-
-
24. A computer-implemented method comprising:
-
displaying a curve to a user, the curve being a composite curve made up of multiple segments connected end to end, each of the segments having a plurality of control points; receiving a user input selecting an endpoint of the composite curve at which the slope of the composite curve is to be modified and defining a slope displacement; mapping each control point that is a segment end point of the composite curve to a corresponding point Tp on a line t; defining an interpolation curve IC(t) on the line t, the interpolation curve satisfying the conditions that IC(0)=0, IC(1)=1, dIC(0)/dt>
0, and dIC(1)/dt=0;projecting each point Tp to the value of the interpolation curve IC(t) at t equals Tp to find a corresponding scale factor; and multiplying the corresponding scale factor by the displacement to determine the displacement of the corresponding control point. - View Dependent Claims (25, 26, 27, 28)
-
-
29. A computer program, residing on a computer-readable medium, the computer program comprising instructions for causing the computer system to:
-
display a curve to a user, the curve being a composite curve made up of multiple segments connected end to end, each of the segments having a plurality of control points; receive a user input selecting an endpoint of the composite curve at which the slope of the composite curve is to be modified and define a slope displacement; map each control point that is a segment end point of the composite curve to a corresponding point Tp on a line t; define an interpolation curve IC(t) on the line t, the interpolation curve satisfying the conditions that IC(0)=0, IC(1)=1, dIC(0)/dt>
0, and dIC(1)/dt=0;project each point Tp to the value of the interpolation curve IC(t) at t equals Tp to find a corresponding scale factor; and multiply the corresponding scale factor by the displacement to determine the displacement of the corresponding control point. - View Dependent Claims (30)
-
Specification