I can't randomly distribute the dots
1 view (last 30 days)
Show older comments
Hi everyone, I need to randomly distribute z points on a project I'm working on, but when I multiply 'rand' and 'height points', 'rand' is just one number and it's just multiplying the elevation points by that number. The resulting image is like this
%% Dosyaları oku (*.las)
clc;clear
[FileName, PathName]=uigetfile('*.*','select point file');
lasReader = lasFileReader(FileName);
ptCloud = readPointCloud(lasReader);
figure;
pcshow(ptCloud.Location);
%% Z ekseni noktalarını seç % Select z-axis points
Elevation=double(ptCloud.Location(:,3));
Yikikz=rand.*Elevation;
yikilan=[ptCloud.Location(:,1),ptCloud.Location(:,2),Yikikz];
figure;
pcshow(yikilan);
1 Comment
Adam Danz
on 13 Jan 2021
Yikikz=rand.*Elevation;
This is not randomly distributing the z-coordinates. This is adding noise to the coordinates.
My answer to your other question shows exactly how to randomly distribute, or permute, the z-coordinates.
Answers (2)
Alan Stevens
on 13 Jan 2021
Try using
Yikikz=rand(size(Elevation)).*Elevation;
2 Comments
Alan Stevens
on 13 Jan 2021
Edited: Alan Stevens
on 13 Jan 2021
Try adding
view(2)
after
pcshow(yikilan);
if what you're after is to see the distribution from above.
Adam Danz
on 13 Jan 2021
> I want you to be like the image of a building collapsed in an earthquake. Height points scatter all over the x and y axes
What you're describing is a 2D plot, collapsing along the z-axis.
Set all z-values to 0 and add noise to the X and Y points.
I suggest using normallly distributed noise (randn) if you expect the particles to fall directly downward plus some variation.
0 Comments
See Also
Categories
Find more on Lighting, Transparency, and Shading in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!