从matlab中的顶点值创建网格矩形

时间:2016-03-21 23:59:58

标签: matlab matlab-figure mesh vertex

我在创建网状矩形时遇到了一些问题。我知道最大和最小坐标值(xminxmaxyminymaxzminzmax)。所以,我可以很容易地找到矩形的顶点

[xmin ymin zmin; 
 xmax ymin zmin; 
 xmax ymax zmin; 
 xmin ymax zmin;
 xmin ymin zmax; 
 xmax ymin zmax; 
 xmax ymax zmax;
 xmin ymax zmax]

现在如何使用曲面网格创建矩形?

1 个答案:

答案 0 :(得分:0)

您可以使用patchvertices定义的patch faces来执行此操作。对于矩形棱镜,您可以通过以下方式创建顶点和面:

[xx,yy,zz] = ndgrid([xmin, xmax], [ymin, ymax], [zmin zmax]);
vertices = [xx(:), yy(:), zz(:)];

% Each row corresponds to a face of the prism and the values are indices into vertices
faces = [1     2     6     5
         2     4     8     6
         4     3     7     8
         3     1     5     7
         1     2     4     3
         5     6     8     7];

p = patch('Faces', faces, ...
          'Vertices', vertices, ...
          'FaceColor', [0, 0.4470, 0.7410], ...
          'FaceAlpha', 0.2);                        % Set transparency so we can see it

enter image description here