How can I custom cylinder rotate axis?

12 次查看(过去 30 天)
Hi
I have a 2D graph and I want make it 3D via cylinder. but cylender rotating it about x-axis.
is there anyway to change this? for example rotate about y-axis

采纳的回答

Matt J
Matt J 2021-9-3
编辑:Matt J 2021-9-4
Another approach:
[Xq,Zq]=ndgrid(linspace(-3,3,100));
[~,Rq]=cart2pol(Xq,Zq);
func=@(r) sin(r)./r; %The 1D profile
x=linspace(0,3,100);
y=func(4*x);
Yq=interp1(x,y,Rq); %rotated about Y-axis
surf(Xq,Yq,Zq,'EdgeColor','none')
xlabel 'X', ylabel 'Y', zlabel 'Z'
  4 个评论
ali alizadeh
ali alizadeh 2021-9-4
编辑:Matt J 2021-9-4
sorry mr Matt J
I attach my data. may you plot it?
Please plot this datas, with rotating graph about y-axis.
data=load('5.csv');
x=data(:,2);
y=data(:,1); y=y/max(y);
a=3*max(abs(x));
[Xq,Zq]=ndgrid(linspace(-a,a,2000));
[~,Rq]=cart2pol(Xq,Zq);
Yq=interp1(x,y,Rq); %rotated about Y-axis
surf(Xq,Yq,Zq,'EdgeColor','none','FaceAlpha',0.6)
xlabel 'X', ylabel 'Y', zlabel 'Z'
Matt J
Matt J 2021-9-4
I 've added the necessary code to your last comment and run it.

请先登录,再进行评论。

更多回答(1 个)

Matt J
Matt J 2021-9-3
编辑:Matt J 2021-9-3
For example,
[X,Z,Y] = cylinder(2+cos(0:pi/10:2*pi));
surf(X,Y,Z)
xlabel 'X', ylabel 'Y', zlabel 'Z'
  4 个评论
Tuan
Tuan 2023-3-23
编辑:Tuan 2023-3-23
Hi, I have just the same question, but this time around y-axis, to create a cup with 2 parabol, can you help me with the code cause im stuck with all the tutorial online

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Graphics Performance 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by