在笛卡儿坐标X,Y,Z中,我有一组3D点。对于每一个这样的点,我将一个存储在向量C中的值关联起来。我希望能够用C给出的颜色来着色由X,Y,Z给出的曲面。或者,如果可能的话,我想把有限的给定颜色的颜色关联到每个点。在Matlab中,这是可能的冲浪( X,Y,Z,C),但X,Y必须以网格形式(由网格生成),而不是一般形式,如我的情况。
在球体的情况下,我设法做到了这一点,但是这个过程并不完美,它大量地使用了球体的参数化。下面是我想要做的事情的一个例子(在球体上)。

有没有办法在Matlab中进行这种表面着色?(如果有帮助的话,除了点X、Y、Z外,我还可以提供曲面的三角剖分) 有没有另一个软件可以做类似的事情,并能在某种程度上与Matlab接口?
发布于 2015-06-12 14:38:47
谢谢Biguri的建议。这是我想出来的,看起来很好。
function patch_color_plot(struc)
% struc is a structure containing at least the following:
% points - the coordinate of the points in a 3xN matrix
% t - the triangulation matrix
% x_0s - the point values
fac = struc.t;
vert = struc.points;
fvc = struc.x_0s;
p = patch('Faces',fac,'Vertices',vert,'FaceVertexCData',...
fvc,'FaceColor','interp');
set(p,'EdgeColor','none')
axis equal
axis off`下面是一个示例结果:

另一个戴着圆环的:

下面是另一个例子:

https://stackoverflow.com/questions/30802509
复制相似问题