3D Profile Extrude

15 views (last 30 days)
Mahmoud Abbas
Mahmoud Abbas on 11 Apr 2022
Edited: Les Beckham on 11 Apr 2022
Hello, could you help me make this code extrude this random profile into the z-axis and make the plot in 3D using mesh or surf?
x = [82,80,65,38,82]
y = [82,54,36,94,82]
plot(x,y)

Accepted Answer

Les Beckham
Les Beckham on 11 Apr 2022
Edited: Les Beckham on 11 Apr 2022
x = [82, 80, 65, 38, 82];
y = [82, 54, 36, 94, 82];
x = repmat(x, 10, 1);
y = repmat(y, 10, 1);
z = (1:10)';
z = repmat(z, 1, 5);
surf(x, y, z)
  2 Comments
Mahmoud Abbas
Mahmoud Abbas on 11 Apr 2022
Thanks for your help. However, I need the extrusion to be solid (i.e. filled with volume from the inside).
Les Beckham
Les Beckham on 11 Apr 2022
Edited: Les Beckham on 11 Apr 2022
You can't really make it "solid" but you can make it look like it is by closing off the top and bottom so that you can't see inside.
x = [82, 80, 65, 38, 82];
y = [82, 54, 36, 94, 82];
X = repmat(x, 11, 1);
Y = repmat(y, 11, 1);
z = (0:10)';
Z = repmat(z, 1, 5);
surf(X, Y, Z)
patch(x, y, 10*ones(1, 5), 10*ones(1, 5)) % add "lid" on top
patch(x, y, zeros(1, 5), zeros(1, 5)) % add "lid" on bottom

Sign in to comment.

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!