使用Mathematica我能够创建the following plot
现在我想切换到Matlab - 我刚刚开始学习 . 我能够使用FL.vertices和FL.faces矩阵以及补丁函数创建三角剖分,如下所示
faces=FV.faces;
facecolor = [.7 .7 .7];
patch('faces',faces,'vertices',FV.vertices,...
'facecolor',facecolor,'facealpha',0.8,'edgecolor',[.8.8.8]);
camlight('headlight','infinite');
daspect([1 1 1]); axis vis3d; axis off
material dull;
它产生一个沉闷的image:
现在,我有一个函数J,它接受矩阵FL.vertices并返回一个正值矩阵 . 我想根据顶点J的值为面部着色 . 可能沿着面插入 . 到目前为止,边缘可以像以后一样 - 稍后处理 . 阅读文档后,我不清楚如何完成此任务 . 我需要手动找到J的最小值和最大值吗?或者Matlab可以自动完成吗?现在可以使用Matlab的预设着色方案之一,就像“温度图”一样 . 我应该在哪个时候调用我的函数J?它应该如何与patch命令一起使用?我查看了之前对类似问题的回答,但我仍然无法弄清楚如何处理我的情况 . 任何帮助建议将不胜感激 .
附:好 . 我想我做得很简单
FV.Cdata=sphere_jacobian(FV.vertices,1,1,0,1);
figure
Hp = patch('faces',FV.faces,'vertices',FV.vertices,...
'FaceVertexCData',FV.Cdata,'facecolor','interp','edgecolor',[.8 .8 .8]);
但我不确定是否已自动计算和插入最小值和最大值 .
1 回答
以下是我认为海报给出的答案,我会把它放在这里,所以问题不会保持开放 .
好 . 我想我做得很简单
但我不确定是否已自动计算和插入最小值和最大值 .
我做到了
并规范我的功能:
结果可见here .