How to calculate normal values of each xyz co-ordinates and ouput as a column vector for each co-ordinate?

9 visualizaciones (últimos 30 días)
Hi,
I have xyz point cloud data as a 40000x3 with each row containing a single point with x y and z data in the columns.
I am trying to calculate the normal value for each point to the origin, this works for an individual row, for example:
normd = norm(data(1,:));
However I need to do it for all the rows, i used this code but it combines it into all one normal value.
normd = norm(data(1:40000,:));
Ideally I need the normal value of each row (coordinate), in a column vector, for the range from 1 to 40000.
Thanks for any help.
Joe

Respuesta aceptada

Matt J
Matt J el 23 de Feb. de 2018
Editada: Matt J el 23 de Feb. de 2018
normd= sqrt( sum(data.^2,2) );
  3 comentarios
Matt J
Matt J el 23 de Feb. de 2018
Editada: Matt J el 23 de Feb. de 2018
Not sure how it works? Isn't it virtually the definition of the norm you are trying to compute?
Joe Pashley
Joe Pashley el 27 de Feb. de 2018
Looked at the code again and followed it step by step and understand it now, thanks.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Point Cloud Processing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by