Create 3D plot from 2D contour (length and radius)

I have a 2D axisymmetric contour of a converging-Diverging nozzle as shown below:
I want to turn this contour into a 3D plot, any ideas of what the best way of doing this is? I’ve tried using linspace and mesh grid but I’ve hit a brick wall.
Many thanks, Elliott

 Réponse acceptée

See this example
z = 0:.1:3;
r = sin(z);
t = linspace(0,2*pi,20);
[T,R] = meshgrid(t,r);
[~,Z] = meshgrid(t,z);
[X,Y] = pol2cart(T,R);
surf(X,Y,Z)

4 commentaires

Elliott Kitson
Elliott Kitson le 27 Mai 2021
Modifié(e) : Elliott Kitson le 27 Mai 2021
For the 2D contour, I’ve used some loops to generate the values for x and r and save them into two arrays, x and r. Can the above code be altered to use the pre-calculated values in the arrays?
darova
darova le 28 Mai 2021
I don't understand. You can use for loop or meshgrid as you wish
Sorry, i was getting a little mixed up, this worked perfectly! thank you very much!
Could you please show me how to get this 3D plot from your initial 2D countour line?

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by