Matlab处理隐式曲面
说明:本文只记录相关的函数,函数相关内容去mathworks上查阅即可
分处理的对象(隐式曲面/实体)来介绍,
1.隐式曲面
网格采样:[x y z] = meshgrid();
面片采样:v = f(); [face,vertex] = isosurface(x,y,z,v); \\f是隐式函数
显示:patch(isosurface(x,y,z,v,0));
保存:fv=isosurface(x,y,z,v); stlwrite(‘x.stl’,fv); \\stlwrite.m下载自:http://cn.mathworks.com/matlabcentral/fileexchange/20922-stlwrite-filename--varargin-?s_tid=srchtitle
使用mupad模块处理上述问题:
调用模块:命令窗口输入:mupad
参数曲面的生成:x := cos(u)*sin(v): y:=xxx z:=xxx
导出:export::stl
隐式曲面画图:plot(plot::Implicit3d(x^2 + y^2 + z^2 - 1,x = -1.5..1.5,y = -1.5..1.5,z = -1.5..1.5))(或者Function3d,plotfunc3d)
2.实体
导出:分别导出isosurface和isocaps
另外的可能有用的工具:
1.distmesh,没有细看,可能是很全的一个工具,网站:http://people.sc.fsu.edu/~jburkardt/m_src/distmesh/distmesh.html
2.pde模块,暂时没有看到导出stl函数,只有importGeometry
3.tetramesh函数,四面体网格的画图函数
4.surf2solid函数,同样下载自mathworks的file-exchange,是一个把曲面和底面形成实体的函数