총 게시물 103건, 최근 0 건
   
MatriXsLib 예제 프로그램을 올립니다.
글쓴이 : 이형철 날짜 : 2003-07-02 (수) 16:16 조회 : 9961
MatriXsLib.zip (48.5K), Down : 65, 0000-00-00 00:00:00
MatriXsLib 예제 프로그램을 올립니다.
다운로드 받아서 사용해 보시면 바로
MatriXsLib 라이브러리의 사용법을 알 수 있을 거에요! ^^;

모든 헤더 파일은 MatriXsLib.h 안에 들어있습니다.
우리 라이브러리 사용하실 분들은
#include MatriXsLib.h
하신 다음 그냥 각종 클래스들을 사용하시면 됩니다.(쉬워요!)

다운로드 받으셔서 Visual C++에서 연 다음에
MatriXsLib.cpp 파일에 있는 main()
함수를 띄워서 예제를 보시면 됩니다.

Visual C++에서 관련된 class를 누르시면 함수와 멤버들을 확인할 수 있습니다.
우리 프로젝트도 이파일을 기준으로 해서 확장하도록 하죠

그럼 소스 코드 나갑니다.

#include

#include "MatriXsLib.h"

void main()
{
/***************
JD를 계산하는 예
***************/
DateTime dt(2003, 7, 10, 6, 0, 0);
double jd = dt.GetJD();

/******************************************
UT나 GST, LST 등을 직접 알 때 선언하는 방법
******************************************/
// LCT를 하나 선언
LCT lct(2003, 7, 10, 6, 0, 0);

// GST를 하나 선언함, 위에서 구한 jd를 사용
GST gst(jd);

/*******************************
LCT, GST, UT, LST 간의 변환 방법
*******************************/
// 위치를 하나 선언
Location loc(Util::deg2rad(127.0), Util::deg2rad(37.0), +9.0);

// LCT로부터 UT를 구함
// 이 때 GMT와의 차이가 필요한데 위에서 선언한 loc 변수를 사용함
UT ut(lct, loc.m_dgmt);

// UT로부터 GST를 구함
GST gst2(ut);

LST lst(gst, loc.m_lon);

// 이 모든 것을 한 줄로 할 수 도 있음
LST lst2(lct, loc.m_dgmt, loc.m_lon);

/*********************
좌표계를 선언하는 방법
*********************/
// 고도 방위각으로부터 직접 horizon coordinates를 선언
Horizon hor(Util::deg2rad(6.0), Util::deg2rad(0));

// 적경, 적위값으로부터 직접 equatorial coordinates를 선언
Equatorial equ(Util::deg2rad(6.0), Util::deg2rad(0));

// 황경, 황위로부터 직접 ecliptic coordinates를 선언
Ecliptic ecl(Util::deg2rad(6.0), Util::deg2rad(0));

// 은경, 은위로부터 직접 galactic coordinates를 선언
Galactic gal(Util::deg2rad(6.0), Util::deg2rad(0));

/*******************
좌표계간의 변환 방법
*******************/
// 적도 좌표계로부터 지평 좌표계를 얻어옴
Equatorial equ2(hor, lst, loc.m_lat);

// euqatorial 좌표계에서 세차를 보정하는 방법
equ2.CorrectPrecession(2000, 1875);

/***********************************
Matrix를 이용한 좌표계간의 변환 방법
***********************************/
// 변환 행렬을 얻어옴
Matrix mat1 = Matrix::Ecl2Equ(ut);
Matrix mat2 = Matrix::Equ2Hor(lst, loc.m_lat);

// 합성 변환을 만듬
Matrix mat = mat1 * mat2;

// 드디어 변환
Horizon hor3 = mat * equ;

/**************************
태양의 위치를 계산하는 방법
**************************/
// 특정 시간의 태양을 생성, 모든 계산은 이 때 행해짐
Sun sun(ut);

// 지구 중심의 위치를 얻어옴, 즉, 현재 지구의 위치를 계산해서 뺌
Vector pos = sun.GetPositionG();

// 태양 중심의 위치를 얻어옴(항상 0, 0, 0)
Vector pos2 = sun.GetPositionH();

// GetPositionG와 GetPositionH 등의 함수는
// 제가 잘못 생각하고 설계한 것입니다.
// 모든 위치는 자신이 공전하고 있는 것을 중심으로 계산하는게 좋을 듯 합니다.

/************************
달의 위치를 계산하는 방법
************************/
// 특정 시간의 달을 생성, 모든 계산은 이 때 행해짐
Moon moon(ut);

// 지구 중심의 위치를 얻어옴
Vector pos3 = moon.GetPositionG();
}

지난번 모임은 어플리케이션 위주였고
라이브러리 팀도 언제 한번 모입시다~
그리고 게시판에 글 좀 써요~
질문이라던가 요청 같은 거라도!!

지도리 2003-07-03 (목) 02:02
우왕.. 잘 만들었네 ^^
그래요 우리 한번 모이져...
제가 할 수 있는일이 있을런지 모르겠지만...
조금이나마 도움되겠져!!!
다들 모여여...
언제로 잡을깡??? ^^
댓글주소
스마일넷 2003-07-03 (목) 22:22
소스란 참 어려운거야..;;
댓글주소
   

총 게시물 103건, 최근 0 건
번호 제목 글쓴이 날짜 조회 추천
 MatriXsLib 1.0 +7 이형철 06-15 22346 670
 MatriXsLib 예제 프로그램을 올립니다. +2 이형철 07-02 9962 32
28  예쁘져? +3 이형철 08-13 2827 36
27  첫모임을 마치고...^^ +1 전성현 06-08 2824 26
26  토요일 오후 3시 두레문예관 407호에서 기획 … +3 이형철 06-27 2815 31
25  MatriXs Project 4번째 모임 +6 이형철 07-29 2807 53
24  다들 숙제는 잘 되어가는지요? +6 형철 08-07 2799 33
23  얼마 안 있으면 토욜이네요 ^^ +2 전성현 06-25 2797 25
22  질문... Add to project에 관해 +2 지용호 08-08 2796 35
21  우리 MatriXs 프로그램(소프트웨어)과 천체망원… +2 지도리 07-16 2775 25
20  별찍는거 ver 0.2 +1 형철 08-03 2773 41
19  ^^ 이번에 발동걸은겨! +1 지용호 05-16 2741 26
18  세번째 모임~ +4 오학주 07-10 2738 27
17  MatriXs 비공개 개시판을 열었습니다. +2 형철 08-08 2727 33
16  열심히 공부하고 있습니다. ^^ +1 지용호 08-15 2718 51
15  용어 찾지 못한게 한 70개 되는데... +1 한경호 08-11 2701 57
14  배경이 산뜻하게 바꼈네요..^^ 이도원 07-20 2684 27
처음  1  2  3  4  5  6  7  맨끝
 
Since 2001.2.7 과학기술정보통신부 등록 비영리민간단체 천문노트. Copyright All rights reserved.
단체명 : 천문노트  |    고유번호 : 101-82-15888  |    대표자명 : 김태욱, 조우성  |    주소 : 138-804 서울특별시 송파구 가락동 93 금강빌딩 7층 710호  |    전화 : 02-543-3295  |    Fax : 02-6918-6888  |    통신판매신고번호 : 종로 제01-5696호  |    개인정보관리책임자 및 사이트관리자 : 지용호