moonsize.frink

View or download moonsize.frink in plain text format


use sun.frink

// This program graphically draws the size (and phase) of the moon's closest
// point each day for many years.  It sort of debunks the idea that the
// so-called "supermoon" is really special at all.

g = new graphics
x = 0
y = 0
lat = 40 degrees North
long = 105 degrees West
perline = 29

for a = #2015-01-01# to #2015-12-31# step day
{
   interval = new interval[a, a + 1 day]
   r = moonRadiusAngle[interval]
   closest = supremum[r]

//  Use this instead to just draw the size of the moon.
//   g.fillEllipseCenter[x mod perline, x div perline, 200 closest, 200 closest]
   g.add[drawMoonPolygonRelativeToZenith[a+12 hours, lat, long, x mod perline, x div perline, 100 closest, true]]
   x = x + 1
}

g.font["SansSerif", "italic+bold", .95]
g.text["A year of moons and another year of Sky & Telescope!", 28/2, 14]
g.show[]


//g.write["moons.svg",1000,2000]
//g.write["moons.png",1000,2000]
//g.printTiled[1,2]


View or download moonsize.frink in plain text format


This is a program written in the programming language Frink.
For more information, view the Frink Documentation or see More Sample Frink Programs.

Alan Eliasen was born 17649 days, 5 hours, 44 minutes ago.