fitting a curve (3D) to pointcloud data
Mostra commenti meno recenti
Hello
I have a pointcloud from which I want to extract the border of a street. I have manually created sampling datapoints using the datacursor.
Now I have a list of x, y, z points from which I want to derive a curve (road boarder).
What is the best method of making such a curve given a list of x y z points. It should be smooth.
Thanks for any help!
Risposta accettata
Più risposte (3)
Amir Suhail
il 1 Gen 2020
1 voto
Hi,
I have similar question. I want to take equdistant points (say N points ) on smooth approximating curve through my data points (x,y,z).
jigsaw
il 21 Set 2019
Are Mjaavatten's answer works great for me. The following lines can be modified a bit to be more concise. Replace the
s = zeros(size(x));
for i = 2:length(x)
s(i) = s(i-1) + sqrt((x(i)-x(i-1))^2+(y(i)-y(i-1))^2+(z(i)-z(i-1))^2);
end
with
s = [0;cumsum(flip(sqrt((x(end:-1:2)-x(end-1:-1:1)).^2+(y(end:-1:2)-y(end-1:-1:1)).^2+(z(end:-1:2)-z(end-1:-1:1)).^2)))];
1 Commento
darova
il 21 Set 2019
there is helpful function: diff()
deb.P
il 8 Nov 2019
0 voti
i have a question: i have fitted a curve to my 3 variable data set according to the code Are Mjaavatten has mentioned. Now i want to know what is the equation of the fitted curve.
1 Commento
Are Mjaavatten
il 9 Nov 2019
If you have used the polyfit version, px, py and pz give the coefficients for the fitted polynomials in s. See the docmentation for polyfit for details.
If you used spline, the expressions are piecewise cubic spline polynomials. Se the documentation for spline for details.
Categorie
Scopri di più su Vehicle Scenarios in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!