我在Matlab上有一个2D轮廓,在两个坐标向量x和y中定义。我想为配置文件指定一个厚度,以便“挤出”它。并将其转换为3D表面。就像CAD程序如何将2D轮廓挤出到3D形状一样。
这张照片完美地解释了它:
有人能引导我朝正确的方向前进吗?
谢谢!
答案 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