【问题标题】:Plotting a cloud of points with a color gradient in MATLAB在 MATLAB 中绘制具有颜色渐变的点云
【发布时间】:2016-08-25 16:57:06
【问题描述】:

我有一个 3D 矩阵,其值介于 01 之间。

矩阵从(1,1,1)(k,k,k)。例如,M(3,2,5) = 0.25

我想在 3D 图中将此矩阵绘制为点云,其中每个点都将使用从透明 (0) 到黑色或其他颜色 (1) 的渐变进行着色。

我不确定你是否可以在 matlab 中使用 alpha...如果不能,那么 0 将只是白色的。

【问题讨论】:

    标签: matlab


    【解决方案1】:

    您可以将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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多