← Back to Patent Explorer
US6426745B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Manipulating graphic objects in 3D scenes

Assignee: CA Inc
•
Filing: 1997-04-28
•
Granted: 2002-07-30
•
Expires: 2017-04-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Paul Isaacs
  • 👤 Kurt J. Schaefer
  • 👤 Robert K. Myers

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 23:12
CPC Classifications
G; G06; G06T; G06T19/00; G06T19/20; G06F; G06F3/00; G06F3/01; G06F3/048; G06F3/0484; G06F3/04845; G06T2219/00; G06T2219/20; G06T2219/2016

Claims Analysis

Total Claims: 33
Claim 1
Independent Claim 127 words
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.
Claim 2
Independent Claim 127 words
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.
Claim 3
Dependent Claim 22 words
The method of claim 1 wherein fewer than all of the polygons touching the edge are used in determining the motion plane.
Claim 4
Independent Claim 137 words
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.
Claim 5
Independent Claim 137 words
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.
Claim 6
Independent Claim 120 words
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.
Claim 7
Independent Claim 120 words
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.
Claim 8
Independent Claim 125 words
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.
Claim 9
Independent Claim 125 words
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.
Claim 10
Independent Claim 127 words
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.
Claim 11
Independent Claim 127 words
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.
Claim 12
Independent Claim 89 words
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.
Claim 13
Independent Claim 89 words
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.
Claim 14
Independent Claim 99 words
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.
Claim 15
Independent Claim 99 words
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.
Claim 16
Independent Claim 100 words
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.
Claim 17
Independent Claim 100 words
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.
Claim 18
Independent Claim 99 words
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.
Claim 19
Independent Claim 99 words
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.
Claim 20
Independent Claim 101 words
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.
Claim 21
Independent Claim 101 words
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.
Claim 22
Independent Claim 101 words
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.
Claim 23
Independent Claim 101 words
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.
Claim 24
Independent Claim 101 words
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.
Claim 25
Independent Claim 101 words
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.
Claim 26
Independent Claim 118 words
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.
Claim 27
Independent Claim 118 words
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.
Claim 28
Independent Claim 125 words
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.
Claim 29
Independent Claim 125 words
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.
Claim 30
Independent Claim 121 words
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.
Claim 31
Independent Claim 121 words
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.
Claim 32
Independent Claim 145 words
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.
Claim 33
Independent Claim 145 words
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.

References Cited (Backward Citations)

US5588098A Cited
US5694142A Cited
US5738352A Cited
US5694153A Cited
US5771042A Cited
US5825308A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-07-29 2006-01-28 2006-07-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-07-29 2010-01-28 2010-07-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-07-29 2014-01-28 2014-07-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag