MATLAB Answers

Rolve function around axis to create 3D surface.

34 ビュー (過去 30 日間)
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 件のコメント

サインインしてコメントする。

採用された回答

Star Strider
Star Strider 2020 年 6 月 30 日

  4 件のコメント

表示 1 件の古いコメント
Star Strider
Star Strider 2020 年 7 月 1 日
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 2020 年 7 月 1 日
hey thank you so much for taking the time to help me out, it works perfectly!
Star Strider
Star Strider 2020 年 7 月 1 日
As always, my pleasure!

サインインしてコメントする。

その他の回答 (1 件)

Gurpreet Singh
Gurpreet Singh 2020 年 6 月 30 日
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 件のコメント

サインインしてコメントする。

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by