Freitag, 22. März 2013

Mondphasen im Kopf auf unter 36 Stunden genau berechnen

Ich habe den Abschnitt "die Berechnung der Mondphasen 1900 - 2099 im Kopf" meiner Enzyklopädie nochmal überarbeitet. Nach einigen Diskussionen mit F. S. - danke - habe ich mein Berechnungsvergahren leicht verändert, um die Genauigkeit zu erhöhen.

Mehr als 99% aller Berechnungen sind auf ±1 Tag bzw. ±36 Stunden Abweichung vom astronomischen Neumond genau. Im Zeitraum 1900 bis 2099 gibt es 20 rechnerische Abweichungen von 36 bis maximal 49 Stunden, darunter 8 berechnete Neumonde mit +40 bis +46 Stunden Abweichung vom astronomischen Neumond (alle erst ab 2050).

Conway ist nicht genauer:
Vollmond 24.11.1992 09:11 UT
Conway: 28 ==> fast Vollmond, Abweichung 51 Stunden

Die Berechnung ist kinderleicht.

Mittwoch, 20. März 2013

Mondphasen im Kopf berechnen

Endlich ist es vollbracht!

Die Enzyklopädie der Wochentagsberechnung wurde thematisch aus meiner Sicht abgeschlossen. Als letzter Abschnitt wurde die Berechnung der Mondphasen im Kopf für jedes Datum in den Jahren 1900 bis 2099 eingefügt. Der Algorithmus ist einfach und gut für das Kopfrechnen umsetzbar.

Mein Algorithmus liefert für den Zeitraum 1900 bis 2099 eine Genauigkeit von +/- 1 Tag. Die einzigen bisher gefundenen größeren Abweichnungen treten bei der Berechnung des Neumonds am 4.9. und am 2.11. 1956 mit rund 42h Abweichung auf. 

Freitag, 15. März 2013

How to calculate the day of the week when an adult was born

Dedicated F.S.

To calculate like a Rain-Man
-         the day of the week for an adult’s birthday
-         the day they were born
-         the day they will turning 80
-         what day birthday will be this year
-         and what it would have been 100 years
is a very simple calendar feat.

Since in 2013 an adult was born in 19xx you must add only THREE numbers to get the week day:
Month key number, day and year key number. 

We need to convert weekday, month and year into key-numbers and subtract multiples of 7.

Week day key numbers:
For Sunday to Saturday: 0 … 6

Month key numbers:
For January to December: 033 614 625 035
In leap years, January and February reduced by one to 6 and 2!

Day:
Simply use the days from 1 to 31.

Year key numbers (you only need the last 2 digits of the year):
For the years 00 – 99 the year codes do change in a pattern that repeats every 28 years. So you can shorten the year by multiples of 28: 
00 – 27 are the same years as 28 – 55 and so on.

Year:                   
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
Year code: 
  0   1   2   3   5   6   0   1   3   4   5   6   1   2   3   4   6   0   1   2   4   5   6   0   2   3   4   5
For years in 20xx subtract 1. 
One should learn this year codes by heart.

Examples:

I.           June, 27th 1978
Weekday:
June code is 4; year 78 minus 2*28 is 22, code is 6:
4 (June) + 27 +  6 (year 78) = 37 shorten by multiples of 7 (5*7=35) gives 2
Tuesday.

Turning 80:
Work out which day is always 2 days later:
Tuesday and 2 days later is a Thursday.

This year (year 13 in 20xx; code is 2-1=1)
June, 27th 2013:
4 (June) + 27 +  1 (year 13 in 20xx) = 32 shorten by multiples of 7 (4*7=28) gives 4
Thursday.

100 years later:
Work out which day is always 1 day before:
Tuesday and 1 days before is a Monday.

II.         January, 15th 1996
Weekday:
January code is 0 but 1996 is a leap year so subtract 1 ==> 6; year 96 minus 3’28 is 12, code is 1:
6 (Jan in a LY) + 15 + 1 (year 96) = 22, shorten by multiples of 7 (3*7=21) gives 1
Monday.

Turning 80:
Work out which day is always 2 days later:
Monday and 2 days later is a Wednesday.

This year (year 13 in 20xx; code is 2-1=1)
January, 15th 2013:
0 (Jan) + 15 +  1 (year 13 in 20xx) = 16 shorten by multiples of 7 (2*7=14) gives 2
Tuesday.

100 years later:
Work out which day is always 1 day before:
Monday and 1 days before is a Sunday.