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 CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by