【发布时间】:2016-08-25 16:57:06
【问题描述】:
我有一个 3D 矩阵,其值介于 0 和 1 之间。
矩阵从(1,1,1) 到(k,k,k)。例如,M(3,2,5) = 0.25。
我想在 3D 图中将此矩阵绘制为点云,其中每个点都将使用从透明 (0) 到黑色或其他颜色 (1) 的渐变进行着色。
我不确定你是否可以在 matlab 中使用 alpha...如果不能,那么 0 将只是白色的。
【问题讨论】:
标签: matlab
我有一个 3D 矩阵,其值介于 0 和 1 之间。
矩阵从(1,1,1) 到(k,k,k)。例如,M(3,2,5) = 0.25。
我想在 3D 图中将此矩阵绘制为点云,其中每个点都将使用从透明 (0) 到黑色或其他颜色 (1) 的渐变进行着色。
我不确定你是否可以在 matlab 中使用 alpha...如果不能,那么 0 将只是白色的。
【问题讨论】:
标签: matlab
您可以将scatter3 与矩阵中的值一起使用来指定点的颜色,如果背景为白色,则白到黑渐变会给您带来与透明度相同的效果。如果您有一个大小为[k k k] 的矩阵M 要获得x,y,z 的积分,您可以使用ind2sub,如下所示:
>>[x,y,z] = ind2sub([k k k],1:numel(M));
你可以使用 scatter3 这个 x,y,z 作为:
>>colors = [M(1:end)]'*[1 1 1]; % Get colors from black to white
>>scatter3(x,y,z,36,colors);
【讨论】: