Borrar filtros
Borrar filtros

How to preserve meshgrid compatibility after rotation

1 visualización (últimos 30 días)
AP
AP el 28 de Oct. de 2012
Dear All,
I have generated a vector field in 3D. the coordinates are created by meshgrid. Now I need to rotate the domain 90° about y-axis. When I do this and try to plot the isosurface of some values, I get the following error:
Input grid is not a valid MESHGRID.
How can I solve this problem?
Thanks,
Ahmad
  3 comentarios
AP
AP el 29 de Oct. de 2012
This is the error message that I get in Matlab.
Matt J
Matt J el 29 de Oct. de 2012
Editada: Matt J el 29 de Oct. de 2012
How are you performing the rotation? A 90 degree rotation about y should transform (x,y,z) to (z,y,-x). Are you doing this formula directly, or are you using trigonometric functions to generate rotation matrices? If you are using trig functions are you using COS & SIN or are you using COSD & SIND ?

Iniciar sesión para comentar.

Respuestas (1)

Matt J
Matt J el 29 de Oct. de 2012
You can't perform a coordinate transformation on a meshgrid and still expect it to be a meshgrid. Only certain transforms like translations preserve a mesh. Use griddata or TriScatterdInterp to obtain gridded samples.
  3 comentarios
Matt J
Matt J el 29 de Oct. de 2012
Editada: Matt J el 29 de Oct. de 2012
It would still form a lattice, but the new x-coordinates would not be monotonically increasing.
Walter Roberson
Walter Roberson el 29 de Oct. de 2012
isosurface() requires that the X and Y be monotonic, not that they be monotonic increasing.

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by