我在Matlab上有一个二维轮廓,定义在两个坐标向量中,x和y。我想为这个轮廓指定一个厚度,以便‘挤压它’并将它转换成一个三维曲面。就像CAD程序可以将二维轮廓挤压成三维形状一样。
这张照片完美地解释了这一点:

有人能引导我朝正确的方向前进吗?
谢谢!
发布于 2017-03-23 18:23:51
@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你得到的是:

https://stackoverflow.com/questions/42975139
复制相似问题