Re: Determining points on a circle and drawing

From: David Brown <dbrown_at_nyahnyahspammersnyahnyah>
Date: Thu Jun 09 2011 - 10:49:49 MDT

Just FYI, this URL needs the letter 'l' on the end. It should be:

http://www.ncl.ucar.edu/Document/Functions/Built-in/nggcog.shtml
 -dave

On Jun 9, 2011, at 7:29 AM, Dennis Shea wrote:

> Is this what u want?
>
> http://www.ncl.ucar.edu/Document/Functions/Built-in/nggcog.shtm
>
> D
>
> On 6/2/11 1:19 PM, Maurice.McHugh@noaa.gov wrote:
>> 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
>> rad = 4.0*atan(1.0)/180.
>> angRad = angDeg*rad ; convert above angles to radians
>>
>> xRL = new( (361,"float")
>> yRL = xRL
>> xRL = xyMax*cos(angRad)
>> yRL = xyMax*sin(angRad)
>>
>> ;-----------------------------------------------------------------------------
>> ; Plot circles.
>> ;-----------------------------------------------------------------------------
>>
>> polyRes = True
>> polyRes@gsnFrame = False
>> polyRes@gsnDraw = False
>> polyRes@mpGreatCircleLinesOn = True
>>
>> polyRes@gsLineDashPattern = 0
>> dum1 = gsn_add_polyline(wks,plot,xRL(:,0),yRL(:,0),polyRes)
>>
>>
>> _______________________________________________
>> ncl-talk mailing list
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
> _______________________________________________
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Thu Jun 9 10:50:00 2011

This archive was generated by hypermail 2.1.8 : Thu Jun 09 2011 - 14:56:48 MDT