Date: Jan 13, 2013 9:48 PM
Author: Roger Stafford
Subject: Re: Finding a grid from intersections
"Chenge Qu" wrote in message <kcvq0u$8ie$1@newscl01ah.mathworks.com>...

> I'd like to extract a grid from the (approximate) location of a few intersections (say, ~5 intersections for a 10x10 grid). The grid spacing is known, but the grid itself may be skewed, rotated, or both relative to the intersection coordinates I have. In other words, I want to find how the grid is skewed/rotated relative to my coordinates.

- - - - - - - - - -

If I understand you correctly, you have a grid of points that has undergone an affine transformation from some kind of standard grid with orthogonal lines. If you can establish a correspondence between three nonlinear new intersections and three of the original grid, that is sufficient to uniquely determine the transformation.

Just write the equations:

X = a*x+b*y+c

Y = d*x+e*y+f

The coordinates of the new and old intersections give you six linear equations in the six unknown coefficients which is sufficient to solve them unless they are for colinear points. Use matlab's backslash operator to solve them.

Roger Stafford