How to convert 3d scattered points to coloured map?

1 view (last 30 days)
I have three column vectors xp, yp, zp, where each column set of these vectors form the coordinate for a point in 3d space. I used plot3 function to plot the scattered points. however, the result showed that my points has a pattern as shown in the attached figure. I am seeking for a method to let the scattered points have colour rather than one colour plot. it is not possible to look after each point and colour it according to its z-value, even with for loop, because I have large number of points

Accepted Answer

Walter Roberson
Walter Roberson on 3 Nov 2020
Edited: Walter Roberson on 9 Nov 2020
scatter3(x, y, z, pointsize, color)
The color can be the z if appropriate.
If each of the "sheets should be a different color then that could be more difficult. Perhaps using a k nearest neighbor search and some kind of region growing?
Perhaps knnsearch of random point, fit a plane, find all points within a distance of that plane, consider them to be part of the same plane, associate a label, remove those from the active set, repeat with remaining points?
  3 Comments
Walter Roberson
Walter Roberson on 9 Nov 2020
knnsearch() for points of dimension up to 10 does not require computing the distance of every point to every other point. For dimension 3 like you are using, knnsearch would effectively form an octree first, and that is fast to search.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!