MATLAB:补丁对象的每边缘透明度和每边缘颜色

时间:2015-09-21 03:59:21

标签: matlab image-processing matlab-figure

由于我的渲染速度很慢,因为它使用了大量的补丁对象,因此我遵循了将所有补丁汇总到一个补丁中的建议,这大大提高了渲染速度。

我希望能够隐藏部分修补程序,但不幸的是我只能修改每个面的透明度(使用p.FaceVertexAlphaData)而不是每个边缘的透明度。有没有办法在每个边缘设置透明度?

同样,有没有办法在每个边缘设置颜色?

到目前为止,我能做的最好的事情是在每个顶点的基础上设置颜色并设置' EdgeAlpha'到interp - 即将顶点的alpha绑定到边缘的alpha

figure; 
alim([0 1]);
v = [2 4; 2 8; 8 4; 5 0; 5 2; 8 0];
f = [1 2 3; 4 5 6];
col = [0; 1];    
alpha = [1;1;1;1;1;1];    
p = patch('Faces',f,'Vertices',v,'FaceVertexCData',col,'FaceColor','flat', ...
   'FaceVertexAlphaData', alpha, 'FaceAlpha', 'interp', ...
  'EdgeAlpha', 'interp');

p.FaceVertexAlphaData(4:end) = 1;
p.FaceVertexAlphaData(1:3) = 0; % hide... 

0 个答案:

没有答案