Manipulating graphic objects in 3D scenes
First Claim
1. A method, performed by a computer, of manipulating graphic objects in a 3D scene, the method comprising:
- receiving input from a user and using the input to identify a plurality of features of a graphic object, one of the plurality of features of the graphic object comprising an edge;
defining a coordinate space with each item of input received from the user and based on the plurality of identified features of the graphic object in the 3D scene by determining at least one of a motion surface and a motion plane; and
constraining a range of motion based on the defined coordinate system, wherein the determining comprises finding a plane that is perpendicular to an average of normals of polygons touching the edge of the graphic object.
5 Assignments
0 Petitions
Accused Products
Abstract
Graphic objects in a 3D scene are manipulated using a computer system by defining a coordinate space based on a feature of a graphic object in the 3D scene, and constraining a range of motion available to an object manipulation operation based on the defined coordinate system. A graphic object, or its constituent graphic elements, can be manipulated (e.g., translated, scaled or rotated) using the constrained range of motion. The motion can be constrained to a motion plane, to a single direction within the motion plane, or in a direction perpendicular to the motion plane. The definition of new coordinate spaces and constrained ranges of motion can be integrated into the beginning stage of a standard cursor manipulation technique (e.g., click-drag-release) thus obviating the need for separate and distinct commands that tend to diminish user interface agility.
154 Citations
17 Claims
-
1. A method, performed by a computer, of manipulating graphic objects in a 3D scene, the method comprising:
-
receiving input from a user and using the input to identify a plurality of features of a graphic object, one of the plurality of features of the graphic object comprising an edge;
defining a coordinate space with each item of input received from the user and based on the plurality of identified features of the graphic object in the 3D scene by determining at least one of a motion surface and a motion plane; and
constraining a range of motion based on the defined coordinate system, wherein the determining comprises finding a plane that is perpendicular to an average of normals of polygons touching the edge of the graphic object. - View Dependent Claims (2)
-
-
3. A method, performed by a computer, of manipulating graphic objects in a 3D scene, the method comprising:
-
receiving input from a user and using the input to identify a plurality of features of a graphic object, one of the plurality of features of the graphic object comprising a point;
defining a coordinate space with each item of input received from the user and based on the plurality of identified features of the graphic object in the 3D scene by determining at least one of a motion surface and a motion plane by finding a plane as a function of edges that touch the point of the graphic object; and
constraining a range of motion based on the defined coordinate system, wherein fewer than all of the edges touching the point are used in determining the motion plane.
-
-
4. A method, performed by a computer, of manipulating graphic objects in a 3D scene, the method comprising:
-
receiving input from a user and using the input to identify a plurality of features of a graphic object, one of the plurality of features of the graphic object comprising a point;
defining a coordinate space with each item of input received from the user and based on the plurality of identified features of the graphic object in the 3D scene by determining at least one of a motion surface and a motion plane by finding a plane that approximates an average of planes touching the point of the graphic object; and
constraining a range of motion based on the defined coordinate space.
-
-
5. A method, performed by a computer, of manipulating graphic objects in a 3D scene, the method comprising:
-
receiving input from a user and using the input to identify a plurality of features of a graphic object, one of the plurality of features of the graphic object comprising a point;
defining a coordinate space with each item of input received from the user and based on the plurality of identified features of the graphic object in the 3D scene by determining at least one of a motion surface and a motion plane by finding a plane whose normal is an average of plane normals for edges that touch the point of the graphic object; and
constraining a range of motion based on the defined coordinate system.
-
-
6. A method, performed by a computer, of manipulating graphic objects in a 3D scene, the method comprising:
-
receiving input from a user and using the input to identify a plurality of features of a graphic object;
defining a coordinate space with each item of input received from the user and based on the plurality of identified features of the graphic object in the 3D scene;
constraining a range of motion based on the defined coordinate system; and
manipulating a graphic object based on the constrained range of motion, by manipulating a plurality of features in concert such that each feature is affected in an analogous manner, by manipulating a master one of the features and matching the motion of remaining features to that of the master feature.
-
-
7. A method, performed by a computer, of manipulating graphic objects in a 3D scene, the method comprising:
-
receiving input from a user and using the input to identify a plurality of features of a graphic object;
defining a coordinate space with each item of input received from the user and based on the plurality of identified features of the graphic object in the 3D scene; and
constraining a range of motion based on the defined coordinate system, wherein the defining is based on a spatial relationship between the features.
-
-
8. A method, performed by a computer, of manipulating graphic objects in a 3D scene, the method comprising:
-
receiving input from a user and using the input to identify a plurality of features of a graphic object;
defining a coordinate space with each item of input received from the user and based on the plurality of identified features of the graphic object in the 3D scene;
constraining a range of motion based on the defined coordinate system; and
aligning a graphic object using the constrained range of motion, wherein the aligning comprises snapping a graphic object to a constrained position.
-
-
9. A method, performed by a computer, of manipulating graphic objects in a 3D scene, the method comprising:
-
receiving input from a user and using the input to identify a plurality of features of a graphic object;
defining a coordinate space with each item of input received from the user and based on the plurality of identified features of the graphic object in the 3D scene;
constraining a range of motion based on the defined coordinate system; and
aligning a graphic object using the constrained range of motion, wherein the aligning comprises positioning a graphic object relative to another graphic object.
-
-
10. A method, perform by a computer, of manipulating graphic objects in a 3D scene, the method comprising:
-
receiving input from a user and using the input to identify a plurality of features of a graphic object;
defining a coordinate space with each item of input received from the user and based on the plurality of identified features of the graphic object in the 3D scene;
constraining a range of motion based on the defined coordinate system; and
aligning a graphic object using the constrained range of motion, wherein the aligning comprises positioning a graphic object with a relative grid.
-
-
11. A method, performed by a computer, of manipulating graphic objects in a 3D scene, the method comprising:
-
receiving input from a user and using the input to identify a plurality of features of a graphic object;
defining a coordinate space with each item of input received from the user and based on the plurality of identified features of the graphic object in the 3D scene;
constraining a range of motion based on the defined coordinate system; and
aligning a graphic object using the constrained range of motion, wherein the aligning comprises translating a graphic object until a spatial condition is met.
-
-
12. A method, performed by a computer, of manipulating graphic objects in a 3D scene, the method comprising:
-
receiving input from a user and using the input to identify a plurality of features of a graphic object;
defining a coordinate space with each item of input received from the user and based on the plurality of identified features of the graphic object in the 3D scene;
constraining a range of motion based on the defined coordinate system; and
aligning a graphic object using the constrained range of motion, wherein the aligning comprises rotating a graphic object until a spatial condition is met.
-
-
13. A method, performed by a computer, of manipulating graphic objects in a 3D scene, the method comprising:
-
receiving input from a user and using the input to identify a plurality of features of a graphic object;
defining a coordinate space with each item of input received from the user and based on the plurality of identified features of the graphic object in the 3D scene;
constraining a range of motion based on the defined coordinate system; and
aligning a graphic object using the constrained range of motion, wherein the aligning comprises scaling a graphic object until a spatial condition is met.
-
-
14. A method, performed by a computer, of manipulating graphic objects in a 3D scene, the method comprising:
-
receiving input from a user and using the input to identify a plurality of features of a graphic object;
defining a coordinate space with each item of input received from the user and based on the plurality of identified features of the graphic object in the 3D scene; and
constraining a range of motion based on the defined coordinate system, wherein a coordinate space is defined each time a predetermined type of input occurs and wherein when the predetermined type of input occurs, the constraining comprises restricting the range of motion relative to a plane that is coplanar with the polygon.
-
-
15. A method, performed by a computer, of manipulating graphic objects in a 3D scene, the method comprising:
-
receiving input from a user and using the input to identify a plurality of features of a graphic object;
defining a coordinate space with each item of input received from the user and based on the plurality of identified features of the graphic object in the 3D scene; and
constraining a range of motion based on the defined coordinate system, wherein a coordinate space is defined each time a predetermined type of input occurs and wherein when the predetermined type of input occurs, the constraining comprises restricting the range of motion relative to a plane that is perpendicular to an average of normals of polygons touching that edge.
-
-
16. A method, performed by a computer, of manipulating graphic objects in a 3D scene, the method comprising:
-
receiving input from a user and using the input to identify a plurality of features of a graphic object;
defining a coordinate space with each item of input received from the user and based on the plurality of identified features of the graphic object in the 3D scene; and
constraining a range of motion based on the defined coordinate system, wherein a coordinate space is defined each time a predetermined type of input occurs, and wherein when the predetermined type of input occurs, the constraining comprises restricting the range of motion relative to a plane that is a function of edges touching that point.
-
-
17. A method, performed by a computer, of manipulating graphic objects in a 3D scene, the method comprising:
-
receiving input from a user and using the input to identify a plurality of features of a graphic object in the 3D scene;
defining a coordinate space with each item of input received from the user and based on the plurality of identified features of the graphic object in the 3D scene;
receiving input that selects a type of motion constraint from a plurality of motion constraints based on the defined coordinate system; and
constraining the range of motion based on the identified type of motion constraint, wherein one of the plurality of motion constraints comprises a constraint that limits motion to a plane parallel to the feature, and wherein one of the plurality of motion constraint comprises a line lying within the plane parallel to the feature.
-
Specification