How to create a vector from a random point cloud?

조회 수: 1 (최근 30일)
Martha
Martha 2014년 3월 12일
편집: per isakson 2014년 3월 12일
Hi, I have a point cloud in coordinates 'x' and 'y'. x<4794x588> and y<4794x588>. In general the shape of the point cloud is a square, and the 0,0 coordinate is at the centre, but the points do not follow a perfect orthogonal grid. I want to create a vertical vector based on the points of the point cloud by selecting all the points closer to the 0 in 'x' axis and with different 'y' from bottom to top of the point cloud. None of the points coincide with a perfect 0 coordinate in the 'x' axis.
I'll appreciate very much any help.
Thank you, Regards, Martha

채택된 답변

dpb
dpb 2014년 3월 12일
nC=size(x,2); % number columns for convenience
B=5; % assumed deadband about center containing the minimum distance point
c1=fix(nC/2); % midpoint
[~,ix]=min(abs(x(:,[c1-B:c1+B])),2); % location of the minimum in the strip
xMin=x(:,c1+ix); % minimum x from the full array
NB: Aircode; untested. 1) Check for any "off-by-one" errors in the indices. 2) Adjust the deadband size as appropriate depending on how far from mid could be (of course, could just use the whole thing but the idea here is to minimize the size over which the min operation has to work)

추가 답변 (1개)

per isakson
per isakson 2014년 3월 12일
편집: per isakson 2014년 3월 12일
In the File Exchange see

카테고리

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