Unit moon

Classes

TMoon - @/// TMoon=class(TImage)

Functions

age_of_moon - @\\\*) (*@/// function age_of_moon(date: TDateTime):extended;
current_phase - @\\\*) (*@/// function current_phase(date:TDateTime):extended;
julian_date - Functions as needed for a MoonTool clone

@\\\0000000310*) { Julian date } (*@/// function julian_date(date:TDateTime):extended;
last_phase - @\\\0000001D0E*) (*@/// function last_phase(date:TDateTime; phase:TMoonPhase):TDateTime;
lunation - @\\\0000000301*) (*@/// function lunation(date:TDateTime):integer;
moon_diameter - @\\\0000000335*) (*@/// function moon_diameter(date:TDateTime):extended; // angular seconds
moon_distance - @\\\0000000301*) (*@/// function moon_distance(date: TDateTime): extended; // km
Moon_Rise - @\\\0000000301*) (*@/// function Moon_Rise(date:TDateTime; latitude, longitude:extended):TDateTime;
Moon_Set - @\\\000000033C*) (*@/// function Moon_Set(date:TDateTime; latitude, longitude:extended):TDateTime;
Moon_Transit - @\\\000000033B*) (*@/// function Moon_Transit(date:TDateTime; latitude, longitude:extended):TDateTime;
nextapogee - @\\\*) (*@/// function nextapogee(date:TDateTime):TDateTime;
NextEclipse - @\\\0000000E01*) (*@/// function NextEclipse(var date:TDateTime; sun:boolean):TEclipse;
nextperigee - @\\\0000001836*) (*@/// function nextperigee(date:TDateTime):TDateTime;
next_phase - @\\\0000000303*) (*@/// function next_phase(date:TDateTime; phase:TMoonPhase):TDateTime;
Register - @\\\

@\\\0000003A07*) (*@/// procedure Register;
StartSeason - @\\\0000000801*) { The seasons } (*@/// function StartSeason(year: integer; season:TSeason):TDateTime; // maximum error 51 seconds *) { Based upon chapter 26 of Meeus
star_time - Further useful functions

@\\\0000000701*) (*@/// function star_time(date:TDateTime):extended; // degrees
sun_diameter - @\\\0000000301*) { The angular diameter (which is 0.
sun_distance - @\\\0000000301*) { The distances } (*@/// function sun_distance(date: TDateTime): extended; // AU
Sun_Rise - @\\\0000000701*) (*@/// function Sun_Rise(date:TDateTime; latitude, longitude:extended):TDateTime;
Sun_Set - @\\\000000033B*) (*@/// function Sun_Set(date:TDateTime; latitude, longitude:extended):TDateTime;
Sun_Transit - @\\\000000033A*) (*@/// function Sun_Transit(date:TDateTime; latitude, longitude:extended):TDateTime;

Types

TEclipse
TMoonPhase
TMoonSize
TSeason

Constants

Variables


Functions


function age_of_moon(date:TDateTime): extended;

@\\\*) (*@/// function age_of_moon(date: TDateTime):extended;

function current_phase(date:TDateTime):extended;

@\\\*) (*@/// function current_phase(date:TDateTime):extended;

function julian_date(date:TDateTime):extended;

Functions as needed for a MoonTool clone

@\\\0000000310*) { Julian date } (*@/// function julian_date(date:TDateTime):extended;


function last_phase(date:TDateTime; phase:TMoonPhase):TDateTime;

@\\\0000001D0E*) (*@/// function last_phase(date:TDateTime; phase:TMoonPhase):TDateTime;

function lunation(date:TDateTime):integer;

@\\\0000000301*) (*@/// function lunation(date:TDateTime):integer;

function moon_diameter(date:TDateTime):extended;

@\\\0000000335*) (*@/// function moon_diameter(date:TDateTime):extended; // angular seconds

function moon_distance(date:TDateTime): extended;

@\\\0000000301*) (*@/// function moon_distance(date: TDateTime): extended; // km

function Moon_Rise(date:TDateTime; latitude, longitude:extended):TDateTime;

@\\\0000000301*) (*@/// function Moon_Rise(date:TDateTime; latitude, longitude:extended):TDateTime;

function Moon_Set(date:TDateTime; latitude, longitude:extended):TDateTime;

@\\\000000033C*) (*@/// function Moon_Set(date:TDateTime; latitude, longitude:extended):TDateTime;

function Moon_Transit(date:TDateTime; latitude, longitude:extended):TDateTime;

@\\\000000033B*) (*@/// function Moon_Transit(date:TDateTime; latitude, longitude:extended):TDateTime;

function nextapogee(date:TDateTime):TDateTime;

@\\\*) (*@/// function nextapogee(date:TDateTime):TDateTime;

function NextEclipse(var date:TDateTime; sun:boolean):TEclipse;

@\\\0000000E01*) (*@/// function NextEclipse(var date:TDateTime; sun:boolean):TEclipse;

function nextperigee(date:TDateTime):TDateTime;

@\\\0000001836*) (*@/// function nextperigee(date:TDateTime):TDateTime;

function next_phase(date:TDateTime; phase:TMoonPhase):TDateTime;

@\\\0000000303*) (*@/// function next_phase(date:TDateTime; phase:TMoonPhase):TDateTime;

procedure Register;

@\\\

@\\\0000003A07*) (*@/// procedure Register;


function StartSeason(year: integer; season:TSeason):TDateTime;

@\\\0000000801*) { The seasons } (*@/// function StartSeason(year: integer; season:TSeason):TDateTime; // maximum error 51 seconds *) { Based upon chapter 26 of Meeus

function star_time(date:TDateTime):extended;

Further useful functions

@\\\0000000701*) (*@/// function star_time(date:TDateTime):extended; // degrees


function sun_diameter(date:TDateTime):extended;

@\\\0000000301*) { The angular diameter (which is 0.5 of the subtent in moontool) } (*@/// function sun_diameter(date:TDateTime):extended; // angular seconds

function sun_distance(date:TDateTime): extended;

@\\\0000000301*) { The distances } (*@/// function sun_distance(date: TDateTime): extended; // AU

function Sun_Rise(date:TDateTime; latitude, longitude:extended):TDateTime;

@\\\0000000701*) (*@/// function Sun_Rise(date:TDateTime; latitude, longitude:extended):TDateTime;

function Sun_Set(date:TDateTime; latitude, longitude:extended):TDateTime;

@\\\000000033B*) (*@/// function Sun_Set(date:TDateTime; latitude, longitude:extended):TDateTime;

function Sun_Transit(date:TDateTime; latitude, longitude:extended):TDateTime;

@\\\000000033A*) (*@/// function Sun_Transit(date:TDateTime; latitude, longitude:extended):TDateTime;

Types


TEclipse=(none, partial, noncentral, circular, circulartotal, total, halfshadow);

TMoonPhase=(Newmoon,FirstQuarter,Fullmoon,LastQuarter);
@\\\*) (*$ifdef component *) {$r *.res } { The File containing the bitmaps } (*$endif
TMoonSize=(ms64,ms32,ms16);
$ifdef component
TSeason=(Winter,Spring,Summer,Autumn);

Constants


Variables