从三维随机图的二维表示中得到类似灰度的图像

4次浏览(最近30天)
大家好,我有下面的代码,从随机点创建多个3D随机行走,并给出如下图像:
如果我使用上述3D图的2D表示(视图(2)),并将所有颜色都设置为黑色,我就会得到如下图像:
但是有没有一种方法可以得到一个类似灰度的图像,如果一个点在3D空间中有多个点,它就会变得越来越暗,而如果它在3D空间中有更少或没有点,它就会更亮?
我的代码如下:
Lambda = 3;平均自由程
numberOfSteps = 10000;%总步数
numberOfPaths = 3;%路径数
x(1,:) = rand(1,numberOfPaths);初始位置(x)
y(1,:) = rand(1,numberOfPaths);初始位置(y)
z(1,:) = rand(1,numberOfPaths);初始位置(z)
j = 1:numberOfPaths
i = 1:numberOfSteps
R = -lambda*log(rand());%旅行距离
Theta = pi*rand();% 0到之间的任意角
= 2* π *rand();% 0到2之间的任意角
Dx = r*sin *cos;步长(x)
Dy = r*sin()*sin();步长(y)
Dz = r*cos(theta);步长(z)
X (i+1,j) = X (i,j) + dx;第一步结束时的位置(x)
Y (i+1,j) = Y (i,j) + dy;第二步结束时的位置(y)
Z (i+1,j) = Z (i,j) + dz;第三步结束时的位置(z)
结束
结束
Plot3 (x(:,1), y(:,1), z(:,1),“k”);
持有
Plot3 (x(:,2), y(:,2), z(:,2),“r”);
Plot3 (x(:,3), y(:,3), z(:,3),‘g’);
持有
%视图(2);
%轴;

接受的答案

Bjorn Gustavsson
Bjorn Gustavsson 2022年12月8日
看一下帮助和文档 histcounts2 .该函数将允许您计算这种类型的累积计数。你只需要把所有轨迹的x坐标和y坐标连接起来。也许是这样的:
X_all = [r_1(:,1);r_2(:,1);r_3(:,1),..r_n (: 1)];的列数组
Y_all = [r_1(:,2);r_2(:,2);r_3(:,2),..r_n (: 2)];%所有轨迹的x和y坐标
N_x = 97;
N_y = 103;
X_lims = linspace(min(x_all),max(x_all),n_x);
Y_lims = linspace(min(y_all),max(y_all),n_y);
[N_XY] = histcounts2(x_all,y_all,x_lims,y_lims);
显示亮度图像(x_lims y_lims N_XY) colormap(灰色)也许N_XY应该排列在这里,你检查一下
HTH
3评论

登录评论。

更多答案(0)

类别

了解更多图片帮助中心而且文件交换

世界杯预选赛小组名单社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!世界杯预选赛小组名单

开始狩猎!

Baidu
map