#### Description:

This function finds the coordinate values at the point of intersection between two geodesic curves. Each curve is specified by two points on the curve. It can only be used with 2-dimensional Frames.

For example, in a basic Frame, it will find the point of intersection between two straight lines. But for a SkyFrame it will find an intersection of two great circles.

#### Synopsis

void astIntersect( AstFrame ∗this, const double a1[2], const double a2[2], const double b1[2], const double b2[2], double cross[2] )

#### Parameters:

##### this

Pointer to the Frame.

##### a1

An array of double, with one element for each Frame axis (Naxes attribute). This should contain the coordinates of the first point on the first geodesic curve.

##### a2

An array of double, with one element for each Frame axis (Naxes attribute). This should contain the coordinates of a second point on the first geodesic curve. It should not be co-incident with the first point.

##### b1

An array of double, with one element for each Frame axis (Naxes attribute). This should contain the coordinates of the first point on the second geodesic curve.

##### b2

An array of double, with one element for each Frame axis (Naxes attribute). This should contain the coordinates of a second point on the second geodesic curve. It should not be co-incident with the first point.

##### cross

An array of double, with one element for each Frame axis in which the coordinates of the required intersection will be returned.

#### Notes:

- For SkyFrames each curve will be a great circle, and in general each pair of curves will intersect at two diametrically opposite points on the sky. The returned position is the one which is closest to point `"` a1`"` .

- This function will return `"` bad`"` coordinate values (AST__BAD) if any of the input coordinates has this value, or if the two points defining either geodesic are co-incident, or if the two curves do not intersect.

- The geodesic curve used by this function is the path of shortest distance between two points, as defined by the astDistance function.

- An error will be reported if the Frame is not 2-dimensional.

Copyright (C) 2021 East Asian Observatory