# How to Revolve a 2D Profile and Make it's 3D Plot

21 ビュー (過去 30 日間)
Mahmoud Abbas 2022 年 4 月 12 日

Hello, i am trying to figure out how to revolve this profile around any axis (lets assume x=35) and make the plot in 3D. I found a really good solution here (https://www.mathworks.com/matlabcentral/answers/522502-how-can-i-revolve-a-2d-plot-by-2pi-around-an-axis-to-make-a-3d-surface-plot) but i am having trouble applying to this simple code
x = [82,80,65,38,82]
y = [82,54,36,94,82]
plot(x,y)

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

### 採用された回答

mark li 2022 年 4 月 12 日
This is a example:
x = [82,80,65,38,82];
y = [82,54,36,94,82];
x_zero = 35;
theta = linspace(0,2*pi,100);
X = [];
Y = [];
Z = [];
for i = 1 : length(x)
X_new = sin(theta)*(x(i)-x_zero)+x_zero;
Y_new = cos(theta)*(x(i)-x_zero)+x_zero;
Z_new = y(i)*ones(1,100);
X = [X ; X_new];
Y = [Y ; Y_new];
Z = [Z ; Z_new];
end
surface(X, Y , Z)
You may modify x and y, and the function surface may not be appropriate！

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

### カテゴリ

Find more on Annotations in Help Center and File Exchange

R2021b

### Community Treasure Hunt

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

Start Hunting!

Translated by