MATLAB
我刚刚使用下面的代码创建了一个 3D 表面:
p = patch ( 'Vertices' , XYZ , 'Faces' , F ) ;
set ( gca , 'CLim' , [-2000 1500] ) ;
set ( p , 'FaceColor' , 'interp' , 'FaceVertexCData' , V , 'EdgeColor' , 'none' , ...
... 'CDataMapping' , 'scaled' ) ;
axis 'equal';
axis 'tight';
set(gca, 'YDir','normal');
其中XYZ
是一个352x3
包含 3D 表面点坐标的矩阵。
F
是一个700x3
包含连接点的面的矩阵。
V
是一个352x1
矩阵,包含 3D 表面的 352 个点中的每一个上的值。
现在这是一个问题:如何在表面上绘制 3D 轮廓!!?
我已经尝试过contour3
函数,但它要求输入矩阵的维度与现在不同。(我可能需要使用meshgrid,但不幸的是我的XYZ点分布不规则。但是我不确定我是否可以这样做,因为我正在使用补丁功能。)
请帮助我。