Moving a parametric object in mathematica

  • Context: Mathematica 
  • Thread starter Thread starter andlook
  • Start date Start date
  • Tags Tags
    Mathematica Parametric
Click For Summary
SUMMARY

The discussion focuses on translating a 3D parametric object defined in Mathematica using the ParametricPlot3D function. The user encountered an error when attempting to apply GeometricTransformation directly to the Graphics3D object. The solution involves accessing the first element of the Graphics3D object returned by ParametricPlot3D, allowing for successful application of the transformation matrix defined with AffineTransform. The correct syntax is demonstrated with examples: Graphics3D[GeometricTransformation[obj[[1]], move]] and Graphics3D[GeometricTransformation[obj[[1]], move], obj[[2]]].

PREREQUISITES
  • Familiarity with Mathematica syntax and functions
  • Understanding of 3D graphics concepts in Mathematica
  • Knowledge of affine transformations and their representation
  • Experience with the ParametricPlot3D function in Mathematica
NEXT STEPS
  • Explore the use of GeometricTransformation in Mathematica
  • Learn about different types of transformations in 3D graphics
  • Investigate advanced features of ParametricPlot3D
  • Study the structure of Graphics3D objects in Mathematica
USEFUL FOR

Mathematica users, 3D graphics programmers, and anyone interested in manipulating parametric objects within Mathematica.

andlook
Messages
32
Reaction score
0
Hi

I have define a 3D object with ParametricPlot3D, something similar to a sphere called "obj." I then want to use a matrix, I define as "move," to translate the object around, I have been trying:

obj = ParametricPlot3D...
move = AffineTransform[{{1, 1, 2}, {0,1 , 1}, {0, 0, 1}}]

Graphics3D[GeometricTransformation[obj[], move], Axes -> True]

But this just returns an error message
"GeometricTransformation is not a Graphics3D primitive or directive." Is it possible to move an object that has been defined parametrically like this? Is there any other command that will allow me to move this object around?

Thanks
 
Physics news on Phys.org
The result of ParametricPlot3D is a Graphics3D object, not a Graphics3D primitive. However, it should have a length of 2 and the first element should be a list of the corresponding Graphics3D primitive and the second element should be a list of the options. So you can use something like:

Graphics3D[GeometricTransformation[obj[[1]], move]]
or even
Graphics3D[GeometricTransformation[obj[[1]], move], obj[[2]]]
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
4K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K