我需要对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
三角测量后的绘图
%% 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
你能解释一下有什么问题吗?我应该如何获得正确的TRI
变量?