Plane fit (z=ax+by+c) to 3D point data
19 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Swati Jain
le 7 Sep 2017
Commenté : Hongshun Chen
le 24 Avr 2019
Hi,
I have step plot (attached) and I want to fit a plane on the lower terrace of it. Excel file of point cloud is attached as well. Data represent in file is N-by-3 numeric data and each column corresponds to x, y and z. Could anyone please help me out how to fit the plane to the lower terrace?
0 commentaires
Réponse acceptée
Akira Agata
le 7 Sep 2017
Assuming that your data is N-by-3 numeric array, say yourData, and each column corresponds to x, y and z, the following code can generate a, b and c for fitting plane (z = ax + by + c).
% Assuming that yourData is N-by-3 numeric array
B = [ones(N,1), yourData(:,1:2)] \ yourData(:,3);
Where a = B(2), b = B(3) and c = B(1).
1 commentaire
Hongshun Chen
le 24 Avr 2019
What if the plane is parallel to the z. Singularity will come out when calculating the plane normal.
Plus de réponses (1)
KSSV
le 7 Sep 2017
[num,txt,raw] = xlsread('Step_scan01_ex.xls') ;
x = num(:,1) ; y = num(:,3) ; z = num(:,3) ;
x0 = min(x) ; x1 = max(x) ; nx = 500 ;
y0 = min(y) ; y1 = max(y) ; ny = 500 ;
xx = linspace(x0,x1,nx) ;
yy = linspace(y0,y1,ny) ;
[X,Y] = meshgrid(xx,yy) ;
Z = griddata(x,y,z,X,Y) ;
surf(X,Y,Z)
shading interp
0 commentaires
Voir également
Catégories
En savoir plus sur Get Started with Statistics and Machine Learning Toolbox dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!