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

조회 수: 9 (최근 30일)
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

채택된 답변

Matt J
Matt J 2018년 2월 23일
편집: Matt J 2018년 2월 23일
normd= sqrt( sum(data.^2,2) );
  댓글 수: 3
Matt J
Matt J 2018년 2월 23일
편집: Matt J 2018년 2월 23일
Not sure how it works? Isn't it virtually the definition of the norm you are trying to compute?
Joe Pashley
Joe Pashley 2018년 2월 27일
Looked at the code again and followed it step by step and understand it now, thanks.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Point Cloud Processing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by