Fast manipulation of objects in a three-dimensional scene
A computer-implemented method for manipulating at least one three-dimensionally modeled object (O 1 ) in a three-dimensional scene displayed on a computer display. The method displays, in the three-dimensional scene, a cursor (C) controlled by a pointing device (PD). The cursor has a shape representing three axes (X, Y, Z) of a coordinate system. Next the method selects an object of the three-dimensional scene; and detects a drag operation performed by a user using the pointing device. The drag operation translates the cursor and selects an axis of the coordinate system as a function of the translation of the cursor. Also the method performs a manipulation of the selected object. The manipulation depends on the selected axis and on a length (L) of the translation of the cursor (PP) along the selected axis.
1. A computer-implemented method for manipulating at least one three-dimensionally modeled object in a three-dimensional scene displayed on a computer display, the method comprising the steps of:
a) displaying, in the three-dimensional scene, a cursor controlled by a pointing device, and transform it into a modified cursor having a shape representing three axes of a coordinate system by a command inputted using a keyboard or by selecting an item from a menu;
b) selecting an object of the three-dimensional scene, the selected object being a node of a mesh, the mesh including a plurality of nodes;
c) detecting a drag operation performed by a user using said pointing device, said drag operation comprising: (i) a translation of the modified cursor, and (ii) automatically selecting an axis of the coordinate system as a function of said translation of the modified cursor; and
d) performing a manipulation of the selected node of the mesh, said manipulation depending on the selected axis and on a length of the translation of the modified cursor along the selected axis, the position of nodes of the mesh that are unselected remaining unaffected.
2. The computer-implemented method of claim 1 wherein step c) comprises automatically selecting the axis of the coordinate system having a direction which is closest to that of an initial segment of said translation of the modified cursor.
3. The computer-implemented method of claim 2 wherein, after said initial segment, the translation of the modified cursor is only performed along the selected axis.
4. The computer-implemented method of claim 1 wherein step b) comprises automatically selecting the node of the mesh of the three-dimensional scene which is closest to the modified cursor.
5. The computer-implemented method of claim 1 wherein step b) comprises selecting a node of a mesh of the three-dimensional scene according to a command from the user.
6. The computer-implemented method of claim 1 wherein the manipulation performed in step d) is chosen among a group comprising:
a translation of the selected node of the mesh along the selected axis by a distance proportional to the length of the translation of the modified cursor along the selected axis;
a rotation of the selected node of the mesh about the selected axis by an angle proportional to the length of the translation of the modified cursor along the selected axis; and
an affinity of the selected node of the mesh along the selected axis by a distance proportional to the length of the translation of the modified cursor along the selected axis.
7. The computer-implemented method of claim 1 wherein the coordinate system is a Cartesian coordinate system having an orientation depending on a viewpoint of the scene.
8. The computer-implemented method of claim 1 wherein the coordinate system is a Cartesian coordinate system having an orientation determined by a manipulation tool displayed in the three-dimensional scene.
9. The computer-implemented method of claim 1 wherein step c) further comprises changing the shape of the modified cursor so that it only represents the selected axis.
10. A computer program product, comprising:
a non-transitory computer-readable data-storage medium, storing computer-executable instructions;
the computer-executable instructions including instructions which cause a computer system to:
a) display, in a three-dimensional scene, a cursor controlled by a pointing device, and transform it into a modified cursor having a shape representing three axes of a coordinate system by a command inputted using a keyboard or by selecting an item from a menu;
b) select an object of the three-dimensional scene, the selected object being a node of a mesh, the mesh including a plurality of nodes;
c) detect a drag operation performed by a user using said pointing device, said drag operation comprising: (i) a translation of the modified cursor, and (ii) automatically selecting an axis of the coordinate system as a function of said translation of the modified cursor; and
d) perform a manipulation of the selected node of the mesh, said manipulation depending on the selected axis and on a length of the translation of the modified cursor along the selected axis, the position of nodes of the mesh that are unselected remaining unaffected.
11. A non-transitory computer-readable data-storage medium comprising:
a memory area containing computer-executable instructions to cause a computer system to:
a) display, in a three-dimensional scene, a cursor controlled by a pointing device, and transform it into a modified cursor having a shape representing three axes of a coordinate system by a command inputted using a keyboard or by selecting an item from a menu;
b) select an object of the three-dimensional scene, the selected object being a node of a mesh, the mesh including a plurality of nodes;
c) detect a drag operation performed by a user using said pointing device, said drag operation comprising: (i) a translation of the modified cursor, and (ii) automatically selecting an axis of the coordinate system as a function of said translation of the modified cursor; and
d) perform a manipulation of the selected node of the mesh, said manipulation depending on the selected axis and on a length of the translation of the modified cursor along the selected axis, the position of nodes of the mesh that are unselected remaining unaffected.
12. A computer system comprising:
a processor coupled to a memory and a graphical user interface;
the memory storing computer-executable instructions to cause the computer system to:
a) display, in a three-dimensional scene, a cursor controlled by a pointing device, and transform it into a modified cursor having a shape representing three axes of a coordinate system by a command inputted using a keyboard or by selecting an item from a menu;
b) select an object of the three-dimensional scene, the selected object being a node of a mesh, the mesh including a plurality of nodes;
c) detect a drag operation performed by a user using said pointing device, said drag operation comprising: (i) a translation of the modified cursor, and (ii) automatically selecting an axis of the coordinate system as a function of said translation of the modified cursor; and
d) perform a manipulation of the selected node of the mesh, said manipulation depending on the selected axis and on a length of the translation of the modified cursor along the selected axis, the position of nodes of the mesh that are unselected remaining unaffected.