### AST_RESOLVE

Resolve a vector into two orthogonal components

#### Description:

This routine resolves a vector into two perpendicular components. The vector from point 1 to point 2 is used as the basis vector. The vector from point 1 to point 3 is resolved into components parallel and perpendicular to this basis vector. The lengths of the two components are returned, together with the position of closest aproach of the basis vector to point 3.

#### Invocation

CALL AST_RESOLVE( THIS, POINT1, POINT2, POINT3, POINT4, D1, D2, STATUS )

#### Arguments

##### THIS = INTEGER (Given)
Pointer to the Frame.
##### POINT1( $\ast$ ) = DOUBLE PRECISION (Given)
An array with one element for each Frame axis (Naxes attribute). This marks the start of the basis vector, and of the vector to be resolved.
##### POINT2( $\ast$ ) = DOUBLE PRECISION (Given)
An array with one element for each Frame axis (Naxes attribute). This marks the end of the basis vector.
##### POINT3( $\ast$ ) = DOUBLE PRECISION (Given)
An array with one element for each Frame axis (Naxes attribute). This marks the end of the vector to be resolved.
##### POINT4( $\ast$ ) = DOUBLE PRECISION (Returned)
An array with one element for each Frame axis in which the coordinates of the point of closest approach of the basis vector to point 3 will be returned.
##### D1 = DOUBLE PRECISION (Returned)
The distance from point 1 to point 4 (that is, the length of the component parallel to the basis vector). Positive values are in the same sense as movement from point 1 to point 2.
##### D2 = DOUBLE PRECISION (Returned)
The distance from point 4 to point 3 (that is, the length of the component perpendicular to the basis vector). The value is always positive.
##### STATUS = INTEGER (Given and Returned)
The global status.

#### Notes:

• Each vector used in this routine is the path of shortest distance between two points, as defined by the AST_DISTANCE function.

• This function will return " bad" coordinate values (AST__BAD) if any of the input coordinates has this value, or if the required output values are undefined.