本文主要介绍了3D模型的读取以及轮廓线绘制,其中涉及到利用boundary和inpolygon对griddata过填充的原模型凹洞进行去除的技术。
原模型如下:
从mathworks下载stltools工具包:https://ww2.mathworks.cn/matlabcentral/fileexchange/51200-stltools,并将其添加到path。
%读取文件格式是binary还是ascii
stlGetFormat('dentition.stl')
%选择相应的读取器
[v, f, n, name] = stlReadBinary('dentition.stl');
%读取相应的x,y,z值
x=v(:,1);
y=v(:,2);
z=v(:,3);
散点图绘制
%在xy平面做散点图,颜色以z表示
scatter(x,y,5,'fill','cdata',z);
colormap(jet);
轮廓线绘制
首先利用griddata命令将z值平面补全:</