[net.graphics] Looking for 2D point fitting alg's: Rubber Sheet or BiLinear

pete@octopus.UUCP (Pete Holzmann) (01/25/86)

For a digitizing application, I'm looking for any good algorithms that
can be used to generate a transformation function of (x,y) given a set
of reference tranformations.

E.g., I have N sets of (x,y) -> (x',y') values, and want a general way
to come up with F(x,y) that gives (x',y') for any (x,y).p

I've heard that applying a least squares fit to a polynomial in x,y,x^2,y^2 and
xy gives a good fit, but haven't been able to figure out how to
implement that in practical terms for my application: I keep getting
results that don't work at all.

Has anybody out there worked on problems like this? Any suggestions or
reference sources I can go to?

Thanks!
-- 
  OOO   __| ___      Peter Holzmann, Octopus Enterprises
 OOOOOOO___/ _______ USPS: 19611 La Mar Court, Cupertino, CA 95014
  OOOOO \___/        UUCP: {hplabs!hpdsd,pyramid}!octopus!pete
___| \_____          Phone: 408/996-7746

ken@turtlevax.UUCP (Ken Turkowski) (01/28/86)

In article <191@octopus.UUCP> pete@octopus.UUCP (Pete Holzmann) writes:
>E.g., I have N sets of (x,y) -> (x',y') values, and want a general way
>to come up with F(x,y) that gives (x',y') for any (x,y).p

How about this:

Let z = (x, y, x', y') and order your N sets of 4-D points (by x and/or
y).  Make up an interpolating polynomial (if N isn't too large) or
spline in t such that all of your data points (z) correspond to some t
in [0,1]:

	z = z(t)

Then solve for the z that minimizes the distance to a selected (x, y)
in the (x, y) plane.
-- 
Ken Turkowski @ CIMLINC, Menlo Park, CA
UUCP: {amd,decwrl,hplabs,seismo,spar}!turtlevax!ken
ARPA: turtlevax!ken@DECWRL.DEC.COM

frankel@megatek.UUCP (Allan Frankel) (02/02/86)

In article <191@octopus.UUCP> pete@octopus.UUCP (Pete Holzmann) writes:
>E.g., I have N sets of (x,y) -> (x',y') values, and want a general way
>to come up with F(x,y) that gives (x',y') for any (x,y).
>

For moderate N and well behaved points, try treating each (x,y) and
(x',y') as a point in the complex plane and apply polynomial or rational
interpolation.

	Allan Frankel		(619) 455-5590 x2541
	Megatek Corporation, 9645 Scranton Road, San Diego, CA  92121
	sdcsvax!celerity!
	  akgoa!celerity!megatek!frankel
	    seismo!s3sun!
-- 
	Allan Frankel		(619) 455-5590 x2541
	Megatek Corporation, 9645 Scranton Road, San Diego, CA  92121
	sdcsvax!celerity!
	  akgoa!celerity!megatek!frankel
	    seismo!s3sun!