# Determining points on a circle and drawing

Date: Thu Jun 02 2011 - 13:19:10 MDT

Hello NCL-ers,

I've been wrestling with this issue for a few days now. I'm trying to draw an ellipse/circle representing a sensor field-of-view that is of uniform angular distance from the point (0.0N,137W). The angular distance of the sensor is 69.22699 degrees (calculated using geometrical functions using satellite distance to Earth, radius of Earth and sensor off-nadir angle) around the center point (the sub-satellite point, at 0.0N,137W).

>From this center point, my circle stretches out precisely 69.22699 degrees (presumably of longitude) immediately east and west of the circle's center. It also stretches out to 69.22699 degrees (presumably of latitude) immediately north and south of the center. I use simple geometry to define points on the circle given the 69.22699 radius for each of the 360 degrees in the circle, and they look ok when plotted as a polyline.

Problem is that a point that should be inside the circle is not inside it. I *think* this is because I am not correcting for the convergence of lines of longitude as one move away from the equator when calculating the points on the circle.

I wonder if the radius of the circle should change (enlarge) with latitude to compensate for the convergence of lines of longitudes polewards of the equator?

Any help would be greatly appreciated!

Maurice

I calculated the points on the circle and then plotted them using the following code:

;-----------------------------------------------------------------------------
; Calculate circles.
; xyMax is the radius of the circle (69.22 degrees).
;-----------------------------------------------------------------------------

angDeg = fspan(1,361,361) ; angles 0-361 of a circle

xRL = new( (361,"float")
yRL = xRL

;-----------------------------------------------------------------------------
; Plot circles.
;-----------------------------------------------------------------------------

polyRes = True
polyRes@gsnFrame = False
polyRes@gsnDraw = False
polyRes@mpGreatCircleLinesOn = True

polyRes@gsLineDashPattern = 0