This should get you started; "altitude angle to point" and final point is left for you to calculate.
Assuming a circle of radius #radius where rotation is clockwise: i.e., North == #0, East == #90; South == #180, West == #270, with its center 0,0, and bounding-box top left at -#radius, -#radius:
from code i use now:
public static readonly double Pi = Math.PI;
public static readonly double RadFactor = Pi / 180.0;
public static readonly double DegFactor = 180.0 / Pi;
public static double DegreeToRadSin(double degree)
{
return Math.Sin(RadFactor * degree);
}
public static double DegreeToRadCos(double degree)
{
return Math.Cos(RadFactor * degree);
}
public static PointF DblXYToPointF(double dx, double dy)
{
return new PointF((float) dx, (float) dy);
}
The location of the azimuth point on the circumference is given by:
int radius = 100;
double degrees = 93.7221d;
PointF p = DblXYToPointF(DegreeToRadSin(degrees) * radius, DegreeToRadCos(degrees) * radius);