Filter löschen
Filter löschen

Plane fit (z=ax+by+c) to 3D point data

12 Ansichten (letzte 30 Tage)
Swati Jain
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?

Akzeptierte Antwort

Akira Agata
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
Hongshun Chen am 24 Apr. 2019
What if the plane is parallel to the z. Singularity will come out when calculating the plane normal.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

KSSV
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

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by