transit.frink

Download or view transit.frink in plain text format


// This program animates the transit of Venus across the sun on 2012-06-05.

use planets.frink
use sun.frink

timezone = "Mountain"
lat = 39.58560 degrees North
long = 104.89598 degrees West

/*lat = DMS[40, 33, 35.84]  North
long = DMS[105,04,57.64]  West*/



df = ### yyyy-MM-dd-HH:mm ###

g = new graphics
win = g.show[]

//for planet = [Planet.Mercury, Planet.Venus]
planet = Planet.Venus
startdate = #2012-06-05 04:00 PM#
enddate = sunset[startdate, lat, long]
for d = #2012-06-05 04:00 PM# to enddate step 10 s
{
   [azsun, altsun] = refractedSunAzimuthAltitude[d, lat, long]
   [azp, altp]     = planet.refractedAzimuthAltitude[d, lat, long]

   separation = angularSeparation[azsun, altsun, azp, altp]

   sunRadius =   sunRadiusAngle[d]
   venusRadius = planet.radiusAngle[d]
   //println[venusRadius -> [0, "deg", "arcmin", "arcsec"]]

   flag = ""
   if separation < sunRadius + venusRadius
   {
      flag = "*"
      
      if separation < sunRadius - venusRadius
         flag = "**"

      g = new graphics
      [skyr,skyg,skyb] = skyDarkness[d, lat, long, [[.1,.1,.1], [.1,.1,.2], [.1,.1,.3], [.1,.1,.4], [.8,.8,1]]]
      g.backgroundColor[skyr, skyg, skyb]

      // Draw the sun
      g.color[1,1,0]  // Yellow
      g.fillEllipseCenter[(azsun-azsun) cos[-altsun], -(altsun-altsun), 2 sunRadius, 2 sunRadius]

      // Draw Venus
      // How much more black could it be?  The answer is none.  None more black.
      g.color[0,0,0]
      g.fillEllipseCenter[(azp-azsun) cos[-altp], -(altp-altsun), 2 venusRadius, 2 venusRadius]
//      g.add[planet.drawPolygonRelativeToZenith[d, lat, long, azp, -altp, venusRadius, true]]
      win.replaceGraphics[g]
   }
   
   println[(d->timezone) + "\t" + format[separation,"deg", 5] + "\t$flag" ]
}


Download or view transit.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 19944 days, 17 hours, 40 minutes ago.