Systems and methods for manipulating a 3D object in a 3D model using a software widget and surface constraints

US9594487B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9594487-B2
Application numberUS-201213406456-A
CountryUS
Kind codeB2
Filing dateFeb 27, 2012
Priority dateFeb 27, 2012
Publication dateMar 14, 2017
Grant dateMar 14, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 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. 2. The method of claim 1 , wherein the at least one of the one or more controls further comprises a twist control that, when adjusted, causes a new angle parameter to be determined based on the angle between a first vector associated with an initial position of the twist control and a second vector associated with a new position of the twist control, and deforms the 3D object along an axis based on the new angle parameter. 3. The method of claim 1 , wherein the at least one of the one or more controls further comprises a rotation control that, when adjusted, causes a new angle parameter to be determined based on a direction of a first vector associated with a new position of the rotation control, and rotates the 3D object around an axis based on the new angle parameter. 4. The method of claim 1 , wherein the at least one of the one or more controls further comprises a scaling control that, when adjusted, causes a scale factor to be determined based on a direction and a magnitude of a first vector associated with a position of a mouse cursor in relation to the software widget, and scales the 3D object based on the scale factor. 5. The method of claim 1 , wherein the at least one of the one or more controls further comprises a positioning control that, when adjusted, causes an intersection point to be determined between a ray and a surface of a second 3D object, wherein the ray is defined based on a viewpoint and a position of a mouse cursor, and translates the 3D object to a new position such that an origin associated with the 3D object corresponds to the intersection point. 6. The method of claim 1 , wherein the at least one of the one or more controls further comprises a mode control that, when adjusted, toggles between two or more modes of the software widget, wherein each mode of the software widget is associated with a different graphical representation displayed in a graphical user interface. 7. The method of claim 1 , wherein the at least one of the one or more controls further comprises a twist control, a rotation control, a scaling control, a positioning control, and a mode control. 8. A non-transitory 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 causes a new orientation vector to be determined based, at least in part, on a sphere superimposed over the software widget and changes the orientation of the 3D object to reflect the new orientation vector, wherein the new orientation vector is defined between a center of the software widget and a point on the sphere. 9. The non-transitory computer-readable storage medium of claim 8 , wherein the at least one of the one or more controls further comprises a twist control that, when adjusted, causes a new angle parameter to be determined based on the angle between a first vector associated with an initial position of the twist control and a second vector associated with a new position of the twist control, and deforms the 3D object along an axis based on the new angle parameter. 10. The non-transitory computer-readable storage medium of claim 8 , wherein the at least one of the one or more controls further comprises a rotation control that, when adjusted, causes a new angle parameter to be determined based on a direction of a first vector associated with a new position of the rotation control, and rotates the 3D object around an axis based on the new angle parameter. 11. The non-transitory computer-readable storage medium of claim 8 , wherein the at least one of the one or more controls further comprises a scaling control that, when adjusted, causes a scale factor to be determined based on a direction and a magnitude of a first vector associated with a position of a mouse cursor in relation to the software widget, and scales the 3D object based on the scale factor. 12. The non-transitory computer-readable storage medium of claim 8 , wherein the at least one of the one or more controls further comprises a positioning control that, when adjusted, causes an intersection point to be determined between a ray and a surface of a second 3D object, wherein the ray is defined based on a viewpoint and a position of a mouse cursor, and translates the 3D object to a new position such that an origin associated with the 3D object corresponds to the intersection point. 13. The non-transitory computer-readable storage medium of claim 8 , wherein the at least one of the one or more controls further comprises a mode control that, when adjusted, toggles between two or more modes of the software widget, wherein each mode of the software widget is associated with a different graphical representation displayed in a graphical user interface. 14. The non-transitory computer-readable storage medium of claim 8 , wherein the at least one of the one or more controls further comprises a twist control, a rotation control, a scaling control, a positioning control, and a mode control. 15. The non-transitory computer-readable storage medium of claim 8 , wherein the new orientation vector is further determined based on an intersection of a ray with the sphere superimposed over the software widget. 16. The non-transitory computer-readable storage medium of claim 8 , wherein the sphere is superimposed over the software widget in response to a user selection of a flag control of the software widget. 17. The non-transitory computer-readable storage medium of claim 16 , wherein the flag control of the software widget is displayed as part of the software widget in an orientation that matches the current orientation of the 3D object. 18. 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 that, when executed by the processor, causes the processor 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 causes a new orientation vector to be determined based, at least in part, on a sphere superimposed over the software widget, wherein the new orientation vector is defined between a center of the software widget and a point on the sphere. 19. The system of claim 18 , wherein the one of the one or more controls further comprises a twist control that, when adjusted, causes a new angle parameter to be determined based on the angle between a first vector associated with an initial position of the twist control and a second vector associated with a new position of the

Assignees

Inventors

Classifications

  • for image manipulation, e.g. dragging, rotation, expansion or change of colour · CPC title

  • Interaction with a metaphor-based environment or interaction object displayed as three-dimensional [3D], e.g. changing the user viewpoint with respect to the environment or object · CPC title

  • Navigation within 3D models or images · CPC title

  • 3D-info-object: information is displayed on the internal or external surface of a three dimensional manipulable object, e.g. on the faces of a cube that can be rotated by the user · CPC title

  • Drag-and-drop · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9594487B2 cover?
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 operat…
Who is the assignee on this patent?
Schmidt Ryan Michael, Autodesk Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/04845. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 14 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).