赤道座標の換算コード
まぁ、単に四則演算を自動でやってくれるだけなんだけど。
#! usr/bin/perl # #-------------------------------------------------------------- # # RaDec_calc.pl # #-------------------------------------------------------------- # # Description: # =========== # 赤経α[h:m:s]、赤緯δ[d:m:s]をともにdeg、arcmin、arcsec # 単位に換算してくれるプログラム。 # # # Usage: # ===== # RaDec_calc.pl RA[h:m:s] Dec[d:m:s] # # RA [h:m:s] : 赤経RA # Dec[d:m:s] : 赤緯Dec # # # # Revision history: # ================ # created May 25 2007 # revised August 26 2007 円周率の最後の桁 # revised August 27 2007 RA, DECの符号を文字として処理 # revised August 28 2007 use/bin/perl # #-------------------------------------------------------------- $pi = 3.1415926536; if(@ARGV != 2){ die "usage: RaDec_calc.pl RA[h:m:s] Dec[d:m:s] \n"; } $RA = shift @ARGV; $Dec = shift @ARGV; @Dec = split(/:/, $Dec); #if($Dec[0] >= 0){ if($Dec[0] =~ /^-/){ $Dec_deg = $Dec[0] - $Dec[1] / 60. - $Dec[2] / 3600.; } else{ $Dec_deg = $Dec[0] + $Dec[1] / 60. + $Dec[2] / 3600.; } $Dec_min = $Dec_deg * 60; $Dec_sec = $Dec_deg * 3600; $Dec_rad = $Dec_deg * $pi / 180.; @RA = split(/:/, $RA); #if($RA[0] >= 0){ if($RA[0] =~ /^-/){ $RA_deg = ($RA[0] - $RA[1] / 60. - $RA[2] / 3600.)*15 ; } else{ $RA_deg = ($RA[0] + $RA[1] / 60. + $RA[2] / 3600.)*15 ; } $RA_min = $RA_deg * 60; $RA_sec = $RA_deg * 3600; print "\n"; print "RA = $RA_deg [deg] \n"; print "RA = $RA_min [arcmin] \n"; print "RA = $RA_sec [arcsec] \n\n"; print "Dec = $Dec_deg [deg] \n"; print "Dec = $Dec_min [arcmin] \n"; print "Dec = $Dec_sec [arcsec] \n\n";