2D points to 3D Matrix

2 ビュー (過去 30 日間)
Juan Jurado
Juan Jurado 2011 年 6 月 20 日
Hello, I have a set of 140 points in 2D (x,y coordinates) which when plotted form a quadrangle such as the one pictured here: http://imageshack.us/photo/my-images/43/207756bwnf8jcy.jpg/
The points are in no particular order. I'm trying to build a 3D matrix that will store these values in an order corresponding to how they are organized when plotted. For example, in that image, the points form a 10x14 grid of points. I'd like to build a 10x14x2 matrix out of those points where the (i,j,:) element of the matrix contains the x,y coordinates of the corresponding (i,j) point in the plot.
Any ideas?

回答 (1 件)

Sean de Wolski
Sean de Wolski 2011 年 6 月 20 日
So put them in order! Then do the work:
idx_sorted = sortrows(xypts,[1 2]); %sort them
ij = reshape(idx_sorted,[10 14 2]); %reshape them
  2 件のコメント
Juan Jurado
Juan Jurado 2011 年 6 月 20 日
Thanks for the quick reply! This doesn't seem to be working for me. I think it's because the relative spacing between points changes throughout the grid. Notice on the left half, the x-coordinates are linearly increasing from left to right, but after the second half, the x-coordinates are actually linearly increasing from left to right.
Juan Jurado
Juan Jurado 2011 年 6 月 20 日
Maybe this image will clarify the problem and why sorting won't work:
http://imageshack.us/photo/my-images/195/image1qhe.jpg/

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by