How to preserve meshgrid compatibility after rotation

1 Ansicht (letzte 30 Tage)
AP
AP am 28 Okt. 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 Kommentare
AP
AP am 29 Okt. 2012
This is the error message that I get in Matlab.
Matt J
Matt J am 29 Okt. 2012
Bearbeitet: Matt J am 29 Okt. 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 ?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Matt J
Matt J am 29 Okt. 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 Kommentare
Matt J
Matt J am 29 Okt. 2012
Bearbeitet: Matt J am 29 Okt. 2012
It would still form a lattice, but the new x-coordinates would not be monotonically increasing.
Walter Roberson
Walter Roberson am 29 Okt. 2012
isosurface() requires that the X and Y be monotonic, not that they be monotonic increasing.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by