
how to plot a single valued function over a triangulated surface?
1 次查看(过去 30 天)
显示 更早的评论
I have a finite element mesh [t,p] for a surface in 3D, where t is the triangles and p is the (x,y,z) coordinates of the vertices. For instance the mesh for the unit sphere from http://persson.berkeley.edu/distmesh/. I'm using the Matlab command patch('Faces',t,'Vertices',p,'edgecol','r'); to visualize this mesh. The question is how to plot a function defined over this triangulated surface?
0 个评论
采纳的回答
Mike Garrity
2016-4-25
You can do it with patch. You'll just want to set FaceColor to interp and set the FaceVertexCData to to value of your function.
npts = 100;
x = 2*randn(npts,1);
y = 2*randn(npts,1);
z = peaks(x,y);
c = z;
tri = delaunay(x,y);
h = trisurf(tri,x,y,z,c,'FaceColor','interp');
colormap(parula(12))
axis tight

更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!