2D points to 3D Matrix

1 回表示 (過去 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/

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

カテゴリ

Help Center および File ExchangeLighting, Transparency, and Shading についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by