How to preserve meshgrid compatibility after rotation

1 次查看(过去 30 天)
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 个评论
Matt J
Matt J 2012-10-29
编辑:Matt J 2012-10-29
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 ?

请先登录,再进行评论。

回答(1 个)

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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Volume Visualization 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by