How to generate a point cloud based on the set of data I have?

26 views (last 30 days)
So far I have four set of data:
l=110;
x = [3,3,3,3,3,3,3,3];
y = [-l*sind(0),-l*sind(1),-l*sind(2),-l*sind(3),-l*sind(4),-l*sind(5),-l*sind(6),-l*sind(7)];
z = [l-l*cosd(0),l-l*cosd(1),l-l*cosd(2),l-l*cosd(3),l-l*cosd(4),l-l*cosd(5),l-l*cosd(6),l-l*cosd(7)];
value = [-12.829,-13.591,-16.019,-20.054,-21.29,-22.542,-26.333,-30.121];
Each index of value corresponds to that index of xyz, for example, value[0] corresponds to (x[0],y[0],z[0]).
How do I generate a point cloud based on these data I have?

Accepted Answer

Meg Noah
Meg Noah on 7 Jan 2020
I don't have that Computer Vision System Toolbox, but try this:
l=110;
x = [3,3,3,3,3,3,3,3];
y = [-l*sind(0),-l*sind(1),-l*sind(2),-l*sind(3),-l*sind(4),-l*sind(5),-l*sind(6),-l*sind(7)];
z = [l-l*cosd(0),l-l*cosd(1),l-l*cosd(2),l-l*cosd(3),l-l*cosd(4),l-l*cosd(5),l-l*cosd(6),l-l*cosd(7)];
value = [-12.829,-13.591,-16.019,-20.054,-21.29,-22.542,-26.333,-30.121];
ptCloud = pointCloud([x' y' z'],'intensity',value);
pcshow(ptCloud);
  3 Comments
KEDI YAN
KEDI YAN on 7 Jan 2020
QQ截图20200107134335.jpg
I fixed that issue, but then the code still does not work. I really do not understand what xyzPoints should be.
KEDI YAN
KEDI YAN on 9 Jan 2020
A little bit change could fix the issue. Here I post the correct syntax.
ptCloud = pointCloud([x(:),y(:),z(:)],'Intensity',value(:));

Sign in to comment.

More Answers (1)

Vishal Jadhav
Vishal Jadhav on 14 Mar 2022
It worked

Products


Release

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!