How to preserve meshgrid compatibility after rotation

1 回表示 (過去 30 日間)
AP
AP 2012 年 10 月 28 日
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 件のコメント
AP
AP 2012 年 10 月 29 日
This is the error message that I get in Matlab.
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 Center および File ExchangeVolume Visualization についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by