使用matlab挤出2D轮廓

时间:2017-03-23 11:47:03

标签: matlab matlab-figure

我在Matlab上有一个2D轮廓,在两个坐标向量x和y中定义。我想为配置文件指定一个厚度,以便“挤出”它。并将其转换为3D表面。就像CAD程序如何将2D轮廓挤出到3D形状一样。

这张照片完美地解释了它:

Extrusion of a 2D profile

有人能引导我朝正确的方向前进吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

@ Dev-iL是对的。你可以这样轻松地做到这一点:

x = randi(100,1,5);
y = randi(100,1,5);
x = x([1:end 1]);
y = y([1:end 1]);
bw = poly2mask(x,y,100,100);
figure;
subplot(121);
plot(x,y)
[xg,yg] = meshgrid(1:100);
zg = bw * 2;
subplot(122);
surf(xg,yg,zg,'EdgeColor','none','FaceColor','interp','FaceLighting','gouraud')
material shiny

你得到: enter image description here