slaDcmpf -
SYNOPSYS
void slaDcmpf(coeffs, xz, yz, xs, ys, perp, orient)
PARAMETERS
- double *coeffs
-
- double *xz
-
- double *yz
-
- double *xs
-
- double *ys
-
- double *perp
-
- double *orient
-
DESCRIPTION
Decompose an [x,y] linear fit into its constituent parameters
zero points, scales, nonperpendicularity and orientation.
Given
coeffs double[6] transformation coefficients (see note)
Returned
*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
SEE ALSO