오늘은 대한입니다.
sun's longitude:299 43 54.98 
· 자유게시판 · 묻고답하기 · 알파문서 · RPMS list
· 사용자문서 · 팁/FAQ모음 · 리눅스Links · 자료실
· 서버정보 · 운영자 · Books/FAQ · FreeBSD
/board/read.php:소스보기  
알파문서
자주 잊어먹거나, 메모해 둘 필요성이 있는 팁이나 문서, 기타 등등
[*** 쓰기 금지단어 패턴 ***]
글 본문 중간에 업로드할 이미지를 추가하는 방법 : @@이미지이름@@
ex) @@foo.gif@@
271 번 글: [misc] 두 천체간 각거리 크기 계산
글쓴이: 산이 [홈페이지] 글쓴날: 2011년 05월 22일 13:45:28 일(오후) 조회: 4237
Angular.distance.xls022 KB(22,528 Bytes) 파일명: Angular.distance.xls
[misc] 두 천체간 각거리 크기 계산

Angular Separation

두 천체간 각거리 크기는 Stary Night 에서 확인할 수 있습니다만,
천체 A(a1,b1)와 천체 B(a2,b2)의 각거리(d) 크기는

  - 공식1) cos(d) = sin(b1)*sin(b2) + cos(b1)*cos(b2)*cos(a1-a2)
  - 공식2) d = sqrt(cos(b)^2 * (a1-a2)^2 + (b1-b2)^2)

로 구할 수 있습니다. 각거리가 0(0°10' 보다 작은)이나 180에
가까울 경우는 (2)번 공식 사용합니다.

- a1,a2 는 적경 또는 황경
- b1,b2 는 적위 또는 황위
- b 는 두 천체의 평균값 (b1+b2)/2

* 공식출처: Astromical Algorithms. by Jean Meeus 1991, p.105 Angular
Separation.

참고로 적경/적위는 스텔라리움에서
 확인이 가능합니다.

적경과 적위는 평면좌표가 아닌 구면좌표값이므로
 위와 같이 구면삼각법으로
 계산해야 합니다.

1. 자바스크립트 버전

http://linuxchannel.net/gaggle/angular.distance.html


2. PHP 버전

---------------------------------
function angular_dist($n='0h0m0s,0d0m0s', $m='0h0m0s,0d0m0s')
{
  $n = trim($n);
  $m = trim($m);

  $p1 = preg_match('/.+-\d+/',$n) ? -1 : 1;
  $p2 = preg_match('/.+-\d+/',$m) ? -1 : 1;

  $n = preg_split('/[^\d.]+/',$n);
  $m = preg_split('/[^\d.]+/',$m);

  $a1 = deg2rad(($n[0] + $n[1]/60 + $n[2]/3600) * 15);
  $b1 = deg2rad(($n[3] + $n[4]/60 + $n[5]/3600) * $p1);
  $a2 = deg2rad(($m[0] + $m[1]/60 + $m[2]/3600) * 15);
  $b2 = deg2rad(($m[3] + $m[4]/60 + $m[5]/3600) * $p2);

  $diffa = abs($a1 - $a2);
  $diffb = abs($b1 - $b2);

  $cosd = sin($b1)*sin($b2) + cos($b1)*cos($b2)*cos($diffa); 
  $d = acos($cosd);
  $d = rad2deg($d);

  if($d<0.17 || $d>179.83)
  {
	$b = ($b1+$b2) / 2;
	$d = sqrt(cos($b)*cos($b)*$diffa*$diffa + $diffb*$diffb);
	$d = rad2deg($d);
  }

  return array
  (
	sprintf('%.2f',$d), // degrees of .2f format
	floor($d), // degrees
	floor(($d*60) % 60), // minute
	round(($d*3600) % 60)  // seconds
  );
}
---------------------------------

 
이전글 : [misc] 인텔 칩셋 구분
다음글 : [misc] 엑셀 삼각함수  
 from 211.211.109.3
JS(Redhands)Board 0.4 +@

|글쓰기| |답장쓰기| |수정| |삭제|
|이전글| |다음글| |목록보기|
인쇄용 

apache lighttpd linuxchannel.net 
Copyright 1997-2026. linuxchannel.net. All rights reserved.

Page loading: 0.01(server) + (network) + (browser) seconds