如何在delaunay失败时对MATLAB网格进行三角剖分

时间:2018-01-29 13:47:51

标签: matlab-figure triangulation

我需要对matlab网格格式变量进行三角测量。功能冲浪在内部完美地做到了,但是delaunay失败了。我想我只是不明白网格格式在MATLAB中是如何工作的。下面澄清代码示例。

使用坐标生成网格物体

close all
clear all
N=10;
R=5;
r=1;
u=linspace(0,2*pi,N);
v=linspace(0,2*pi,N);

[u,v]=meshgrid(u,v);

x=(R+r.*cos(v))*cos(u);
y=(R+r.*cos(v))*sin(u);
z=r.*sin(v);

使用surf()

进行绘图
surf(x,y,z,'EdgeAlpha',0.1);
view([-52,64])

set(gca,'Color','none','Box','off')
axis off

enter image description here

三角测量后的绘图

%% TRIANGULATION
TRI=delaunay(x,y,z);
trisurf(TRI,x,y,z,'EdgeAlpha',0.1)
view([-52,64])
set(gca,'Color','none','Box','off')
axis off

enter image description here

你能解释一下有什么问题吗?我应该如何获得正确的TRI变量?

0 个答案:

没有答案
相关问题