◎isosurface + patch + isonormals
isosurface等值面函数
调用格式:fv = isosurface(X,Y,Z,V,isovalue)
X,Y,Z为由meshgrid生成的空间网格点的位置。
设f(x,y,z)为隐函数,则V = f(x,y,z).isovalue为等值面的数值.若画隐函数的曲面,则必须为0.返回值fv是一个结构体,包含等值面的表面(faces)和顶点(vertices)数据
patch补片函数,填充多边形
调用格式:patch(X,Y,C)
以平面坐标(X,Y)为顶点,构造平面多边形,C是RGB颜色变量
patch(X,Y,Z,C)以空间坐标(X,Y,Z,C)为顶点,构造空间3D曲面
patch(fv)通过包含vertices、faces两个域的结构体fv来构造3D曲面。fv可以直接由等值面函数 isosurface 得到
patch(‘Faces’,F,’Vertices’,V)
示例:
v = [2 4;2 8;8 4;5 0;5 2;8 0]; %六个顶点
f = [1 2 3;4 5 6]; %两个面
col = [0;6;4;3;4;6];
patch('Faces',f,'Vertices',v, 'FaceVertexCData',col,'FaceColor','interp');
colorbar;
%显示色阶的颜色栏,可以通过设置它的属性对它进行相关操作

isonormal

本文介绍了如何在Matlab中利用等值面函数、补片函数和法线函数来绘制空间曲面。通过meshgrid生成空间网格点,结合isosurface函数创建等值面,并通过patch函数填充多边形构建3D曲面。此外,还强调了设置法线的重要性,以确保曲面的平滑显示。
最低0.47元/天 解锁文章
605

被折叠的 条评论
为什么被折叠?



