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

5 次查看(过去 30 天)
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
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!

更多回答(0 个)

类别

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

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by