slaDcmpf -


void slaDcmpf(coeffs, xz, yz, xs, ys, perp, orient)


double *coeffs
double *xz
double *yz
double *xs
double *ys
double *perp
double *orient


Decompose an [x,y] linear fit into its constituent parameters

  zero points, scales, nonperpendicularity and orientation.


     coeffs    double[6]     transformation coefficients (see note)


     *xz       double        x zero point
     *yz       double        y zero point
     *xs       double        x scale
     *ys       double        y scale
     *perp     double        nonperpendicularity (radians)
     *orient   double        orientation (radians)

  The model relates two sets of [x,y] coordinates as follows.

Naming the elements of coeffs

     coeffs[0] = a
     coeffs[1] = b
     coeffs[2] = c
     coeffs[3] = d
     coeffs[4] = e
     coeffs[5] = f

  The model transforms coordinates [x1,y1] into coordinates

[x2,y2] as follows

     x2 = a + b*x1 + c*y1
     y2 = d + e*x1 + f*y1

The transformation can be decomposed into four steps

1) Zero points

             x' = xz + x1
             y' = yz + y1

2) Scales

             x'' = xs*x'
             y'' = ys*y'

3) Nonperpendicularity

             x''' = cos(perp)*x'' + sin(perp)*y''
             y''' = sin(perp)*x'' + cos(perp)*y''

4) Orientation

             x2 = cos(orient)*x''' + sin(orient)*y'''
             y2 =-sin(orient)*y''' + cos(orient)*y'''

  See also slaFitxy, slaPxy, slaInvf, slaXy2xy

  P.T.Wallace   Starlink   31 October 1993