TISK HLEDÁNÍ PŘIDAT VZKAZ NÁVŠTĚVNÍ KNIHA - FÓRUM
 
Nejnovější Novější StaršíNejstarší
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.


Franta (Pondělí 29. listopadu 2010)  
:-) To je přesně ten, který jsem zmiňoval, že je odborníci v diskusi pod článkem neohodnotili příliš lichotivě. Pro orientační použití je ale pravděpodobně dostačující.


ZH (Pondělí 29. listopadu 2010)  
Narazil jsem na netu na script k výpočtu východu Slunce, tak jsem ho sem umístil.


Franta (Pondělí 29. listopadu 2010)  
Jan Cinert: udělám tedy ze sestavy ještě nějaký výběr, tedy vyberu situace, kde výška Slunce překračuje nulu.
Pak by se vidělo jak dál. Musím ale vymyslet jak to nějak schůdně z té sestavy dostat.
Může to být v Excelu?


Nejnovější Novější StaršíNejstarší

PŘIDAT VZKAZ