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

 Accepted Answer

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 Comments

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?
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?

Sign in to comment.

More Answers (0)

Products

Release

R2021a

Community Treasure Hunt

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

Start Hunting!