How to smooth a surface of 3-d geometry

9 次查看(过去 30 天)
I have three column vectors Xm, Ym and Zm. I plotted these vectors as below code:
k = boundary(Xm,Ym,Zm,1);
trisurf(k, Xm,Ym,Zm,'edgecolor','none','facecolor','m', 'facealpha',0.5)
I got a object by above code. I want to smooth the surface of this 3-d object
  3 个评论
VANDANA GUPTA
VANDANA GUPTA 2019-8-14
sir this is the output figure of vectors Xm, Ym and Zm using boundary function

请先登录,再进行评论。

回答(1 个)

KSSV
KSSV 2019-8-14
Are you looking for something like this?
dt = delaunayTriangulation(Xm,Ym) ;
t = dt.ConnectivityList ;
x = dt.Points(:,1) ;
y = dt.Points(:,2) ;
F = scatteredInterpolant(Xm,Ym,Zm) ;
z = F(x,y) ;
trisurf(t,x,y,z,'EdgeColor','k')
  2 个评论
VANDANA GUPTA
VANDANA GUPTA 2019-8-14
sir, i want to smooth the straight edges and angular corners i.e. roughness of geometry which is getting from Xm, Ym and Zm..
VANDANA GUPTA
VANDANA GUPTA 2019-8-14
i searched about smoothness..In matlab, 'smooth', 'smooth3', 'sgolayfilt' and 'smoothdata' functions are used for smoothing the figure.. I cant observe that the which function will be giving the best and how much smoothness in result..

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Smoothing 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by