To find rotational axis of an incomplete point cloud

17 views (last 30 days)
Hello All,
I am new to matlab and I am trying to find solution to a very specific problem. I have a point cloud with approx. 10000 points which has a rotational axis, but is incomplete (this means that the centroid does not lie on the rotation axis, because of incomplete nature of data).
My problem is to find the rotational axis of this point cloud. I have attached images below any kind of help would be really appreciated.
These images show different views of same point cloud and also incomplete nature of point cloud can be seen in here.
problem_statement_pc_2.jpg
problem_statement_pc.jpg
  3 Comments
New user
New user on 20 Jan 2020
Edited: New user on 20 Jan 2020
Yes, I mean that the points are circularly symmetric around an axis.
About the shape, the point cloud is somewhat torriodal in shape
I could have easily calculated the mean and then divided it with all points like in SVD to get the rotational axis, if the point cloud were complete. But here the centroid does not lie on the rotational axis so that method wont work. I am looking for an alternate method to find the rotational axis
darova
darova on 20 Jan 2020
I think such algorithm will be too complicated (if it exists)
Can't you just manually replace your object to origin and rotate it?

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 20 Jan 2020
I'd use pca() to find the 3 principal axes. You can then rotate the cloud so that the 3rd principal axis lines up with the z direction if you want.
  7 Comments
Matt J
Matt J on 20 Jan 2020
Edited: Matt J on 20 Jan 2020
Instead of fitting a circle, you could try minboundcircle from this file exchange submission,
to find the tightest circular envelope around your 2D projected points.. Since your points fill up most of a circle nicely, I'd bet this gives you a much more accurate estimate of the center.
New user
New user on 20 Jan 2020
Thanks Matt this works perfectly for my cloud
4.png

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!