Jaka faza Księżyca? – program w Pythonie

Po krótkim opisaniu faz Księżyca w poprzednim artykule, postanowiłem pójść krok dalej i napisać program,który wyznacza bieżącą fazę Księżyca. Zadanie okazało się niezbyt łatwe, ale się udało.

Poszczególne fazy pojawiają się dość regularnie – dokładnie co 29.53059 doby. To oznacza, że wystarczy dowiedzieć się, kiedy był nów (Księżyc niewidoczny, bo oświetlona jest w 100% niewidoczna z Ziemi strona) i od tego momentu liczyć poszczególne fazy. Dzielę z resztą różnicę czasu w dniach przez długość miesiąca księżycowego – liczbę tę podałem wyżej.

Poniżej natomiast przedstawiam gotowy kod w języku Python, który w wyniku wypisuje procent oświetlenia Księżyca. 0% oznacza nów, a 100% oznacza pełnię.

Widząc jednak wynik 50% nie będziemy pewni, czy to pierwsza, czy ostatnia kwadra. Aby więc rozpoznać dokładnie, jak wygląda Księżyc na naszym niebie, rozbuduję poniższy kod z użyciem nakładki SenseHat. Pojawi się on w najbliższych dniach.

1
2
3
4
5
6
7
8
9
10
11
from datetime import date
import math
dzis = date.today()
dzien = dzis.day
miesiac = dzis.month
rok = dzis.year
d1 = date(2019, 12, 26)
d2 = date(rok, miesiac, dzien)
roznica = d2 - d1
procent = round(50*(1-math.cos(math.radians(360*roznica.days/29.53059))))
print(procent,"%")

Przemysław Szlagor

Nauczyciel matematyki. Właściciel marki NEO-EDU. Zajmuje się nowoczesnymi rozwiązaniami edukacyjnymi oraz astronomią, fotografią i muzyką, a bierny odpoczynek zamienia na sport oraz e-sport.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.