SYSTEMS AND METHODS FOR MANIPULATING A 3D OBJECT IN A 3D MODEL USING A SOFTWARE WIDGET AND SURFACE CONSTRAINTS
First Claim
1. A method for manipulating a three-dimensional (3D) object, the method comprising:
- receiving user input associated with a software widget that includes one or more controls, wherein the software widget is associated with the 3D object, and at least one of the one or more controls comprises an orientation control that, when adjusted, causes a new orientation vector to be determined that is based on the intersection of a ray with a sphere superimposed over the software widget, and changes the orientation of the 3D object to reflect the new orientation vector;
determining a manipulation operation corresponding to a control specified by the user input; and
executing the manipulation operation to adjust the 3D object.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method are disclosed for manipulating objects within a virtual environment using a software widget. The software widget includes one or more controls for performing surface constrained manipulation operations. A graphical representation of the software widget is superimposed over the object and enables a user to use simple mouse operations to perform the various manipulation operations. The position operation determines an intersection point between the mouse cursor and a surface of a different object and moves the object to the intersection point. The scale operation adjusts the size of the object. The rotate operation adjusts the rotation of the object around a normal vector on the surface of the different object. The twist operation deforms the object along a local z-axis. The orientation operation adjusts the orientation of the object with respect to the normal vector.
20 Citations
20 Claims
-
1. A method for manipulating a three-dimensional (3D) object, the method comprising:
-
receiving user input associated with a software widget that includes one or more controls, wherein the software widget is associated with the 3D object, and at least one of the one or more controls comprises an orientation control that, when adjusted, causes a new orientation vector to be determined that is based on the intersection of a ray with a sphere superimposed over the software widget, and changes the orientation of the 3D object to reflect the new orientation vector; determining a manipulation operation corresponding to a control specified by the user input; and executing the manipulation operation to adjust the 3D object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 14)
-
-
8. A computer-readable storage medium containing a program for manipulating a three-dimensional (3D) object, which, when executed, causes a graphical user interface to be displayed that includes a software widget, the software widget including one or more controls comprising:
an orientation control that, when adjusted, causes a new orientation vector to be determined that is based on the intersection of a ray with a sphere superimposed over the software widget, and changes the orientation of the 3D object to reflect the new orientation vector. - View Dependent Claims (9, 10, 11, 12, 13)
-
15. A system for manipulating a three-dimensional (3D) object, the system comprising:
-
a processor; and a memory coupled to the processor, wherein the memory includes an application configured to; receive user input associated with a software widget that includes one or more controls, wherein the software widget is associated with the 3D object, and at least one of the one or more controls comprises an orientation control that, when adjusted, causes a new orientation vector to be determined that is based on the intersection of a ray with a sphere superimposed over the software widget, and changes the orientation of the 3D object to reflect the new orientation vector, determine a manipulation operation corresponding to a control specified by the user input, and execute the manipulation operation to adjust the 3D object. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification