三维Delaunay剖分

用delaunay函数进行三维Delaunay剖分。用tetramesh函数绘delaunay函数输出数据的图形。该函数用网格显示T定义的四面体。它使用默认的tranparency参数值'FaceAlpha'=0.9,近于透明。

下面的例子进行3维Delaunay剖分,然后用tetramesh函数绘制组成对应单形体的四面体。camorbit函数旋转相机位置。

code.matlab
>> d=[-1 1];
>> [x,y,z]=meshgrid(d,d,d);  % 一个立方体
>> x=[x(:);0];
>> y=[y(:);0];
>> z=[z(:);0];
>> Tes=delaunay(x,y,z)
Tes =
     9   1   5   6
     3   9   1   5
     2   9   1   6
     2   3   9   4
     2   3   9   1
     7   9   5   6
     7   3   9   5
     8   7   9   6
     8   2   9   6
     8   2   9   4
     8   3   9   4
     8   7   3   9
>> X=[x(:) y(:) z(:)];
>> tetramesh(Tes,X);camorbit(20,0)

生成图3-5。

Document Image

图3-5 立方体的3维Delaunay剖分