Plane fit (z=ax+by+c) to 3D point data
12 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Swati Jain
am 7 Sep. 2017
Kommentiert: Hongshun Chen
am 24 Apr. 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 Kommentare
Akzeptierte Antwort
Akira Agata
am 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 Kommentar
Hongshun Chen
am 24 Apr. 2019
What if the plane is parallel to the z. Singularity will come out when calculating the plane normal.
Weitere Antworten (1)
KSSV
am 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 Kommentare
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!