Discussion:
Jak obliczyć fazy księżyca?
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
m***@poczta.onet.pl
2004-10-08 13:56:31 UTC
Permalink
Czy ktoś wie jak obliczyć poszczególne fazy księżyca w zależności od podanej
daty?
Chciałbym to zastosować do VBA w excelu.
Był taki program do Commodore C-60 "Wielkanoc", napisany w Basicu, który
właśnie obliczał kiedy przypadnie wielkanoc w danym roku jak i fazy księżyca.
Mam część tego kodu już napisaną w VBA, która oblicza wielkanoc na podstawie
pełni księżyca.
Brakuje mi pozostałej, może ktoś pomoże?
Dziękuję za zainteresowanie i pomoc.
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
pxd74
2004-10-08 16:37:20 UTC
Permalink
Jeśli cię to zainteresuje, to coś takiego znalazłem w archiwum:

http://groups.google.com/groups?hl=pl&lr=&ie=UTF-8&oe=UTF-8&selm=ardalr%247t
0%241%40news.tpi.pl


--
Pozdrowienia
pxd74
Marian
2004-10-08 16:38:20 UTC
Permalink
Post by pxd74
http://groups.google.com/groups?hl=pl&lr=&ie=UTF-8&oe=UTF-8&selm=ardalr%247t
0%241%40news.tpi.pl
--
Pozdrowienia
pxd74
Jest tam wiele ciekawych rzeczy, ale do podanego wzoru nie ma danych
dokładnych.
Może ja podam swój niepełny kod to może ktoś biegły w VBA coś poradzi
-------------
dzień = 1: miesiąc = 1

GoSub odwołanie_1

d2 = rok: d3 = 19: GoSub odwołanie_3: a1 = re: d3 = 100: GoSub odwołanie_3

b = il: c = re: d2 = b: d3 = 4: GoSub odwołanie_3

d4 = il: e = re: d2 = b + 8: d3 = 25: GoSub odwołanie_3:
f = il: d2 = b - f + 1: d3 = 3: GoSub odwołanie_3: g = il

d2 = 19 * a1 + b - d4 - g + 15: d3 = 30: GoSub odwołanie_3

h = re: d2 = c: d3 = 4: GoSub odwołanie_3: j1 = il: k = re

d2 = 32 + 2 * e + 2 * j1 - h - k: d3 = 7: GoSub odwołanie_3:
s = re: d2 = a1 + 11 * h + 22 * s: d3 = 451: GoSub odwołanie_3

u = il: d2 = h + s - 7 * u + 114: d3 = 31: GoSub odwołanie_3

If il = 3 Then wielkanoc = 31 + 28 + re + 1

If il = 4 Then wielkanoc = 31 + 28 + 31 + re + 1

re = re + 1

ld = 0: d1 = dzień: dzień = j + 1 - Int((j + 1) / 7) * 7

GoSub odwołanie_1

GoSub odwołanie_2

GoTo koniec

odwołanie_1:
yl = rok + (miesiąc - 2.85) / 12: y2 = Int(yl / 100)

j = Int(Int(Int(367 * yl) - 1.75 * Int(yl) + dzień) -
0.75 * y2) + 1721115
Return

odwołanie_2:
p = (j - 1721089) / 29.53059: p = p - Int(p): r = Int(p * 4) + 1
Return

odwołanie_3:
il = Int(d2 / d3): re = d2 - d3 * il

Return

koniec:

End Sub
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Karolina
2004-10-08 18:54:16 UTC
Permalink
Post by pxd74
http://groups.google.com/groups?hl=pl&lr=&ie=UTF-8&oe=UTF-8&selm=ardalr%
247t
Post by pxd74
0%241%40news.tpi.pl
--
Pozdrowienia
pxd74
a może coś z tego wybierzsz:
http://www.vbcode.com/asp/showzip.asp?ZipFile=http%3A%2F%2Fwww%2Evbcode%2Ecom%
2Fcode%2FMoonPhaser%2Ezip&theID=4880
http://www.freevbcode.com/ShowCode.asp?ID=3336 - tu jest chyba jakiś przykład
do ściągniecia
... nie analizowałam tylko tak znalazłam
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Loading...