[misc] Ç×¼º Àû°æ°ªÀ¸·Î °³·«ÀûÀÎ ÀÚÁ¤ ³²Áß³¯Â¥ °è»ê
Àû°æ ³¯Â¥ ³²Áß³¯Â¥
0 3.21 9.21 // ÃߺÐ
6 6.22 12.22 // µ¿Áö
12 9.21 3.21 // ÃáºÐ
18 12.22 6.22 // ÇÏÁö
¿¹) Àû°æ ¾à 19h Ç×¼ºÀÇ ÀÚÁ¤ ³²Áß³¯Â¥´Â?
- Àû°æ¿¡¼ ³¯Â¥ offset = Àû°æ/2 + 3°³¿ù 21ÀÏ
- ³²Áß³¯Â¥ offset = offset + 6°³¿ù
µû¶ó¼
- Àû°æ/2 + 9°³¿ù + 21ÀÏ // 13º¸´Ù Å©¸é -12°³¿ù
¶Ç´Â
- Àû°æ/2 + 10¿ù -7ÀÏ // 13º¸´Ù Å©¸é -12, 1º¸´Ù ÀÛÀ¸¸é +12 °³¿ù ´õÇØÁÜ
¶Ç´Â
- Àû°æ/2 - 2¿ù -7ÀÏ // 1º¸´Ù ÀÛÀ¸¸é +12 °³¿ù ´õÇØÁÜ
¸¸¾à °è»êµÈ °ªÀÌ ¶Ç´Â °è»êµÈ °ªÀÌ
19/2 - 2 = 7.5 (7¿ù Áß¼ø)
µû¶ó¼ 7¿ù Áß¼ø¿¡¼ 7ÀÏÀ» »©ÁÖ¸é 7¿ù 8ÀÏ ÀÚÁ¤ÁîÀ½¿¡ ÀÌ º°Àº ³²ÁßÇÔ
<?php
function dms2deg($dms)
{
if(!is_array($dms) && preg_match('/^[\d.+-]+$/',$dms)) return sprintf('%.4f',$dms);
if(is_array($dms)) $dms = implode(' ',$dms); // to string
$dms = preg_replace('/[^\d.+-]+/',' ',$dms);
list($d,$m,$s) = preg_split('/\s+/',$dms);
if(preg_match('/^-/',$d)) $deg = sprintf('%.4f',$d-$m/60-$s/3600); // -0 to < 0
else $deg = sprintf('%.4f',$d+$m/60+$s/3600);
return $deg;
}
function ra2middate($ra)
{
$ra = dms2deg($ra); // match h to d
$sec = $ra/24.0 * 365.24160 * 86400; // to seconds
$sec += 22723200; // gmmktime(0,0,0,9,21,1970);
return gmdate('n.d',$sec);
}
$f = file('ra.txt');
foreach($f AS $v)
{
if(!$v = trim($v)) continue;
list($m,$ra) = preg_split('/\s+/',$v);
if($ra == '') contine;
$m = preg_replace('/[^\d]+/','',$m);
$r[$m] = ra2middate($ra);
}
ksort($r);
foreach($r AS $k=>$v)
{
printf("%d\t%s\n",$k,$v);
}
?> |