Puzzel Puzzels
MMSoft
Artikelen: 0
Berichten: 9
Lid geworden op: za 13 jan 2024, 10:53

Re: Maan Positie

Bedankt voor al deze info !!!

ads

Steun Sciencetalk Logitech M705 - Draadloze Marathon Muis - USB - Rechtshandig - Grijs

Logitech M705 - Draadloze Marathon Muis - USB - Rechtshandig - Grijs

Bekijk product

Steun Sciencetalk bol cadeaukaart - 10 euro - Voor jou

bol cadeaukaart - 10 euro - Voor jou

Bekijk product

Steun Sciencetalk Nereb® USB-C SD en MicroSD-kaartlezer - USB 3.0 - Aluminium Behuizing - Card Reader

Nereb® USB-C SD en MicroSD-kaartlezer - USB 3.0 - Aluminium Behuizing - Card Reader

Bekijk product

ads

Steun Sciencetalk Lumina Mini Pro Beamer - Home Cinema - Projector - Android 11.0 - WiFi 6 & Bluetooth 5.2 - 4k Beeldkwaliteit - Projector Scherm - Wit

Lumina Mini Pro Beamer - Home Cinema - Projector - Android 11.0 - WiFi 6 & Bluetooth 5.2 - 4k Beeldkwaliteit - Projector Scherm - Wit

Bekijk product

Steun Sciencetalk Canon RP-108 - Instant fotopapier - Inkt/papierset - Voor SELPHY CP-printers - Origineel - 10 x 15 cm formaat - 108 sheets

Canon RP-108 - Instant fotopapier - Inkt/papierset - Voor SELPHY CP-printers - Origineel - 10 x 15 cm formaat - 108 sheets

Bekijk product

Steun Sciencetalk Systemyze Weekplanner Whiteboard – Magnetisch Planbord – Magnetische Maandplanner – Inclusief Markers & Wisser – A3 Formaat

Systemyze Weekplanner Whiteboard – Magnetisch Planbord – Magnetische Maandplanner – Inclusief Markers & Wisser – A3 Formaat

Bekijk product

siep
Moderator
Artikelen: 0
Berichten: 5
Lid geworden op: do 17 okt 2024, 14:39

Re: Maan Positie

Ik kwam nog een behoorlijk goede benadering tegen voor de positie van de Zon en de Maan, zie de code hieronder.
Je hebt alleen de Julian date (JD) nodig, het algoritme bepaalt daarmee direct de Equatoriale Coordinaten (RA = Right ascension en decl = declinatie).
De nauwkeurigheid lijkt binnen een boogminuut te liggen, ik moet dit nog wel even goed bekijken, evenals over welke eeuwen deze benadering nog bruikbare resultaten levert.

Dit is een sneller en eenvoudiger alternatief voor de berekeningen van Yuk hierboven.
We hebben dan alleen nog het gedeelte vanaf de omzetting van Equatoriale naar Topocentrische coordinaten nodig.

Code: Selecteer alles


#include <math.h>

double fraction(double x)
{
return(x-floor(x));
}

void QuickSun(double JD, double& RA, double& decl)
{
double TPI = 6.283185307179586476925;
double T   = (JD - 2451545.0) / 36525.0;
// Mean anomaly:
double MFrac = fraction(0.993133 + 99.997361*T);
double M     = TPI * MFrac;
// Ecliptic longitude:
double lambda = TPI * fraction(0.7859453 + MFrac + (6.893*sin(M)+0.072*sin(2.0*M)+6.1912*T)/1296.0);
// obliquity ecliptic:
double eps = 0.40909280420293639;	// [rad]
decl = asin(sin(eps)*sin(lambda));
RA   = atan2(cos(eps)*sin(lambda)/cos(decl), cos(lambda)/cos(decl));
}


void QuickMoon(double JD, double& RA, double& decl)
{
double TPI = 6.283185307179586476925;
double SR  = 4.8481368110953599358991E-4;
double T   = (JD - 2451545.0) / 36525.0;

// Mean elements of lunar orbit
double Lm = fraction(0.606433 + 1336.855225*T);      // mean longitude
double l  = TPI*fraction(0.374897 + 1325.552410*T);  // Moon's mean anomaly
double ls = TPI*fraction(0.993133 +   99.997361*T);  // Sun's mean anomaly
double D  = TPI*fraction(0.827361 + 1236.853086*T);  // Diff. long. Moon-Sun
double F  = TPI*fraction(0.259086 + 1342.227825*T);  // Dist. from ascending node

// Perturbations in longitude and latitude
double dL = 226.40*sin(l)      + 7.69*sin(2*l)      -  1.10*sin(l+ls)  + 1.48*sin(l-ls)
			- 6.68*sin(ls)     + 1.92*sin(l+2*D)    - 45.86*sin(l-2*D) - 2.12*sin(2*l-2*D)
			- 1.65*sin(ls-2*D) - 1.25*sin(D)	    + 23.70*sin(2*D)   - 0.55*sin(2*F-2*D)
			- 4.12*sin(2*F)    - 2.06*sin(l+ls-2*D);

double S = F + (dL+4.12*sin(2*F)+5.41*sin(ls))*SR;
double h = F - 2*D;
double N = - 5.26*sin(h)     + 0.44*sin(l+h)    - 0.31*sin(-l+h) - 0.23*sin(ls+h)
		   + 0.11*sin(-ls+h) - 0.25*sin(-2*l+F) + 0.21*sin(-l+F);

// Ecliptic longitude and latitude
double lambda = TPI * fraction(Lm + dL/12960.0); 	// [rad]
double beta   = (185.2*sin(S) + N) * SR;   			// [rad]

double eps    = 0.40909280420293639;				// [rad]

decl = asin(sin(beta)*cos(eps)+sin(lambda)*cos(beta)*sin(eps));
double x = cos(lambda)*cos(beta)/cos(decl);
double y = (-sin(beta)*sin(eps)+sin(lambda)*cos(beta)*cos(eps))/cos(decl);
RA = atan2(y, x);
}
Scispace Scispace

Scispace is dé ai voor wetenschappers en onderzoekers. Ga naar SciSpace en profiteer van één van de beste ai's.

Scispace

Plaats een reactie

Je mail wordt niet openbaar getoond. Het wordt enkel gebruik voor contact of notificatie vanuit het beheer.

🗨️ Wat vind jij? Stel direct je vraag of geef je mening – zonder registratie. Je reactie zet het topic weer bovenaan bij 'Laatste posts' en trekt snel nieuwe reacties aan🔥. Mocht je als vaste bezoeker willen reageren, dan kun je je ook registreren.

Bevestig dat je geen robot bent door de volgende vragen te beantwoorden.

Noor heeft 10 knikkers. Ze verliest er 4 in het gras. Hoeveel heeft ze er nog?

Antwoord: (vul een getal in)

Er zitten 5 vogels op een hek. Twee vliegen weg. Hoeveel blijven er zitten?

Antwoord: (vul een getal in)

Terug naar “Praktijkproblemen”

Sciencetalk: Leer, deel of groei. Volg of geef een cursus op Sciencetalk!