Fitting a plane through a 3D point data
Show older comments
For example, i have 3d point cloud data [xi, yi, zi] as the attachment .txt file. I want to fit a plane to a set of 3D point data. What kind of method to do that?



1 Comment
Matt J
on 6 May 2018
How does one know that M and L are different planes and not just noise? Is there a known upper bound on the noise? A known lower bound on the separation distance between M and L?
Accepted Answer
More Answers (2)
Walter Roberson
on 6 May 2018
data = load('1.txt');
coeffs = [data(:,1:2), ones(size(data,1),1)]\data(:,3);
The equation of the plane is then coeffs(1)*x + coeffs(2)*y - coeffs(3) = z
1 Comment
xyz=load('1.txt');
xyz(xyz(:,2)>40, :)=[];
mu=mean(xyz,1);
[~,~,V]=svd(xyz-mu,0);
normal=V(:,end).';
d=normal*mu';
The equation of the plane is then xyz*normal.' = d
Categories
Find more on Point Cloud Processing 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!

