MATLAB Answers

Rolve function around axis to create 3D surface.

37 views (last 30 days)
Hello,
I am fairly new to matlab and know the basics. I am trying to create a 3D surface from the function y by revolving it around the x axis. The function is the profile of the tip of a bullet and I am looking to obtain a 3D plot. Thank you in advance!
x = linspace(0,1,100);
y = (2).*(x./12).^0.5;

  0 Comments

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 30 Jun 2020

  4 Comments

Show 1 older comment
Star Strider
Star Strider on 1 Jul 2020
I managed to get it to work.
The Code —
a = linspace(0, 2*pi, numel(r));
r = linspace(0,1,100);
[A,R] = ndgrid(a,r);
Z = (2*sqrt((R)/12)); % Calculate Curve
[X,Y,Z] = pol2cart(A,Z,R); % Set ‘Z’ As The Radius Matrix, ‘R’ Matrix As ‘Z’
figure
mesh(Z, Y, X, 'FaceAlpha',0.75)
grid on
axis('equal') % Avoid Scaling Distortion
hold on
plot3(xlim+[-0.1 0.1], [0 0], [0 0], 'k', 'LineWidth',2) % Centre Axis (If Needed)
hold off
The Plot —
I added a centre axis line just for fun, and set 'FaceAlpha' at less than 1 to make it visible. You can eliminate it by simply eliminating everything after the axis call.
Experiment to get different results.
This was a bit of a challenge!
Mateo Landazuri Pachano
Mateo Landazuri Pachano on 1 Jul 2020
hey thank you so much for taking the time to help me out, it works perfectly!

Sign in to comment.

More Answers (1)

Gurpreet Singh
Gurpreet Singh on 30 Jun 2020
Hi Mateo,
It is my understanding that you are trying to create a 3D surface using a 2D plot by revolving it around the x axis.
The following links might help you.

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!