Conversion from Cartesian X,Y,Z to domain-centric cylindrical coordinates
Afficher commentaires plus anciens
I just have a question on the conversion from Cartesian X,Y,Z to domain-centric cylindrical coordinates. I have a computed variable, an energy flux term, say F.
Currently, F is a function of x,y,z. Here, the x,y,and z are not lat-Lon values but are more like indices. For example, the grid has 480 grids in the X and Y direction with a spacing of 1km each. So I simply define X as 1000 to 480,000 in increments of 1000 (meters). Y and X are the same since the grid is uniform. I use actual Z values which are non-uniform.
What I’d like to do is to transform this variable, F into r,theta,z coordinates with reference to the domain center. What is the best way to do this in Matlab?
4 commentaires
Sindar
le 24 Jan 2020
Do you have a function for F, or just the data at the x,y,z grid points?
saipb
le 24 Jan 2020
An algorithm:
- generate a cylindrical grid (decide whether you want r_max to include all xyz points, or to exclude any unknown points, or somewhere between)
- transform this grid into Cartesian (x2=r*cos(theta), etc.)
- interpolate F from your original grid to the new Cartesian grid (interp3)
- you now have F2 at your new cylindrical grid
saipb
le 24 Jan 2020
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Scalar Volume Data dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!