Franta (Úterý 30. listopadu 2010)
Jan Cinert: Co říkáte na "refrakční dvojče"?

ZH: Pro změnu, co říká na výsledek PHP funkce date_sunrise() pro před Unixovou éru SkyMap Pro?
Zkusil jsem si podobný výpočet a pro 50 rovnoběžku a 15 poledník mi pro 21.6.1070 vyšlo 7:54 (GMT+1) - to se mi zdá trochu moc, ale třeba tam mám nějakou chybu.


Jan Cinert (Úterý 30. listopadu 2010)
Vidím, že Franta a Zdeněk Homola se pěkně rozjeli, až tak, že chvílemi nevím o čem vlastně píší. Musím se přiznat, že k užívání počítače jsem se dostal poměrně pozdě a aplikace různých programů není moje silná stránka. Rovněž do astronomie jsem vstoupil pouze skrze mytologii. Franta se dříve tázal, jestli může být výstup v Exelu, samozřejmě ano.

Dříve jsem se zmínil, že rychlost změny azimutu o jeden stupeň velí k velké přesnosti. Myslel jsem tím hlavně, aby nedošlo většímu nesouladu mezi azimuty a převýšením s refrakcí. Odvodil jsem, že na délce 6,2 m VZ osy činí 1° odchylku 10 cm. Zhruba s takovou délkou se, myslím si, dá při vytyčování kostelů počítat vzhledem k jejich velikosti a zejména proto, že to činili na nesrovnaném terénu. Čtvrtina stupně (zde 2,5 cm) odpovídá jedné časové minutě. Během takového intervalu mohlo dojít ke koncensu u vytyčovatelů, že se objevila polovina kotouče a následné stanovení místa pro zatlučení kolíku. Jako laik si myslím, že výsledná tolerance 1/4° by byla vyhovující.

Příčný řez kaplí sv. Václava je v uvedeném odkazu níže pod půdorysem. Je to varianta E. Vlčka (1997) podle výkresu K. Hilberta (1913). Uvedl jsem, že v žádné z myslitelných variant nemohla být kaple sv. Tomáše v prostoru přístavby rotundy. Mínil jsem, že přístavba by přiléhala ze západu k rotundě a byla orientována buď s rotundou, nebo shodně s bazilikou. Při podmínce, že přístavba byla malá, podle Kosmy, to nevychází. Pokud by východní závěr baziliky byl pozůstatkem přístavby, znamenalo by to, že rotunda byla z převážné části zbořena. Pak by Kosmas nemohl psát o "okrouhlém kostele". Východní a západní závěr baziliky s kryptami jsou opravdu mimo vzájemné osy. Připadá mi to také tak, jako by západní závěr byl vytyčen a založen nezávisle na části východní. Je to opravdu zajímavé, ale zatím bych se osobně přiklonil spíše k novému vytyčení po požáru nedostavěné baziliky.


ZH (Pondělí 29. listopadu 2010)
Tohle bych asi nezvládl, ale vy zdá se jo...

Zato jsem nahradil tu php funkci jdtounix() tak, že jsem zkrátka vynásobil juliánský den odpovídající datu 1.1.1970 počtem vteřin, které juliánský den má a odečetl to od obdobně spočítaných "juliánských vteřin" pro kýžený den a toto záporné číslo date_sunrise() akceptuje. Akorát to teď již chce práci, nikoli vymejšlení, což mě tolik nebaví a uvidím, kdy se k tomu dokopu...


Franta (Pondělí 29. listopadu 2010)
jsem v té oblasti poprvé, ale jdtounix() je jen pro Unix éru.

Počítat azimut v minulosti jsem myslel z deklinace, kterou nějak transformujeme do minulosti. Jak jsem uváděl ten odkaz na:
http://www.tzb-info.cz/docu/tabulky/0000/000054_help.html
tak tam je jakýsi výpočet deklinace. Je to tedy slunovratová deklinace, která je nějakým algoritmem transformovaná pro jednotlivé dny roku.
Pro slunovratovou deklinaci v závislosti na čase existuje vztah, kterým by šlo tu dnešní transformovat do minulosti - jak už jsem tu jednou psal ten triviální příklad: pyramidy=dva sluneční kotouče na sever, rok nula bude jeden kotouč, 10 století půl kotouče - tedy polovina z poloviny stupně. Možná je to zanedbatelné, ale spočítat by to mohlo jít celkem jednodušše. Tedy výpočet 365 deklinací třeba pro rok 1000 a z nich pak 365 azimutů. Pak by mělo zbýt už jen to načasování, tedy výpočet zpoždění juliánského kalendáře a tedy přiřazení správné deklinace ke správnému dni v minulosti.
Přdpokládám, že data z tzb-info budou vyjadřovat únosné zjednodušení situace - slouží to jako výpočet oslunění fasády, či pro tepelné zisky z oslunění v tepelně technických výpočtech.


ZH (Pondělí 29. listopadu 2010)
Blbě jsem se vyjádřil, ale možná i blbej jsem. Převod z juliánského data na juliánský den mi to zvládlo, ale nepodařilo se mi udělat timestamp (jdtounix() ap.) do té funkce date_sunrise().


ZH (Pondělí 29. listopadu 2010)
OK, je to na dvě desetinná místa.

Nojo schroustne, voni, jak jste si jistě všiml, žádné php funkce krom matematických nepoužívají, protože jsou chytřejší než já ;).


Franta (Pondělí 29. listopadu 2010)
Omluva, nedošlo mi, že ten PHP kód bude brát fórum osobně

$jd = juliantojd(6, 15, 1070);
$gregorian = jdtogregorian($jd);
echo "$gregoriann";

Takhle už by to mělo být průchodnější


Franta (Pondělí 29. listopadu 2010)
A ještě k těm časovým funkcím. Myslel jsem použít něco takového:



výsledek je na http://pefr.net/jd.php

http://cz.php.net/manual/en/function.juliantojd.php
http://cz.php.net/manual/en/function.jdtogregorian.php

obě funkce by měly být funkční i v PHP4


Franta (Pondělí 29. listopadu 2010)
Ještě prosba. Když umíte s PHP, upravte, prosím, řádek:
echo " (azimut = ".intval($AZ)." stupňů)";
tak aby se z proměnné $AZ nedělalo celé číslo a naformátujte ten výsledek na jedno, či dvě desetinná místa. Myslím, že tak to bude použitelnější. S tím celým číslem to ale zase pěkně demonstruje skutečnost, že o slunovratu se Slunce zastaví na obzoru - od 13.6 do 30.6 to totiž ukazuje stále stejný azimut.


Franta (Pondělí 29. listopadu 2010)
Ani já nemíním polemizovat. Za nutaci "může" samozřejmě Měsíc a za to, že se chová tak, jak se chová, zase "může" Slunce. To s tím pnutím spíše berte jako pokus o vtip.
Na druhou stranu, ten skript schroupne klidně 1000 let staré datum a ani nemrkne.


ZH (Pondělí 29. listopadu 2010)
No nevím, jestli ne spíš tou přítažlivostí Měsíce a planet, ale nejsem schopný o tom polemizovat. Každopádně se nutace v tom programu projeví až v řádu tisícin stupně.

Vždycky, když jsem něco dělal v php s časovými údaji, hrozně jsem se trápil, když s tím člověk denně nedělá, tak se mu zavaří hlava... A když je to před začátkem světa, který je v Unixu 1.1.1970, tak je to o to horší. Musí se přes juliánský den atd., člověk (já) by musel mít velkou motivaci se do toho ponořit.

Ještě dodávám, že mi to nedalo a kouknul jsem na to, ale před 1.1.1970 se opravdu v interních php funkcích nelze dostat, to co se počítá s juliánským datem, je absurdně až od tohoto roku 1970. Souvisí to zřejmě s limitem 32-bitového systému, od vyšší verze php (5.3) na takovém stroji by to snad už šlo, to ale na mém serveru nemají. Nebo napsat vlastní funkce pro práci s časem...


Franta (Pondělí 29. listopadu 2010)
Ten program (návrh slunečních hodin) počítá s refrakcí, precesí a nutací. Ta nutace, to už vesmírné pnutí už asi skoro bude, ne :-)


Franta (Pondělí 29. listopadu 2010)
OK, reaguji po objevení Vašeho příspěvku.


Franta (Pondělí 29. listopadu 2010)
Tady jsou nějaké vzorečky, na základě kterých by se dala sestavit jednoduchá pomůcka pro výpočty spojené s polohou Slunce.

Je tam i výpočet deklinace, tedy by bylo možné transformovat deklinaci Slunce do minulosti a získat tak hodnoty azimutů. Chtělo by to ještě doplnit o přepočet mezi mezi gregoriánským a juliánským kalendářem - na to jsou nějaké funkce v PHP5

http://www.tzb-info.cz/docu/tabulky/0000/000054_help.html


ZH (Pondělí 29. listopadu 2010)
Koukal jsem na tu diskusi, tipnul bych si, že vesmírné pnutí, vliv planet ap. budou z našeho hlediska zanedbatelné.

No, vzpomněl jsem si, že přímo v jazyce php jsou funkce na podobné výpočty a skutečně i funkce date_sunrise(), nevím, jak je kvalitní, ale asi by ji jako interní funkci nezačlenili, kdyby nebyla. Ale nechce se mi v tom vrtat, byl by problém s aplikací juliánského data. Daly by se sice dělat libovolné výpisy, ale pro tento jednorázový účel to nemá cenu, lépe použít jeden ze tří programů, které tu zmiňujeme.