총 게시물 103건, 최근 0 건
   
MatriXsLib 예제 프로그램을 올립니다.
글쓴이 : 이형철 날짜 : 2003-07-02 (수) 16:16 조회 : 9565
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 21930 670
 MatriXsLib 예제 프로그램을 올립니다. +2 이형철 07-02 9566 32
103  MatriXsLib 1.0 +7 이형철 06-15 21930 670
102  별볼일 있는 세상을 만드는 MatriXs Project +7 지용호 08-21 19072 516
101  MatriXsLib 예제 프로그램을 올립니다. +2 이형철 07-02 9566 32
100  점찍기를 사용한 캐드 삼차원 지도 작업의 소… +1 이수욱 10-29 8159 146
99  matrix2 컴파일 실행 에러 문의입니다. +5 황태욱 01-08 8114 129
98  안녕들하세요~^^ +1 이도원 06-22 7701 137
97  이렇게 좋은 소스가..^^ +2 황태욱 01-07 7351 109
96  요즘 다들 머하시나요? +5 이도원 12-10 7139 122
95  Astronomical Algorithm.. +4 김창환 10-31 7102 122
94  첫모임~~~~ 이도원 06-08 7097 25
93  우리 별자리선 자료 파일 김창환 09-17 7089 47
92  비공개 개시판에 우리 별자리선 자료 파일을 … +2 김창환 09-17 6897 127
91  c 를 공부하다가 +5 이도원 11-13 6790 114
90  프로그램이 돌아가지 않을때 이파일을 받으… +2 이도원 09-16 6784 123
89  침체기 같네요... +3 이도원 09-22 6487 106
 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호  |    개인정보관리책임자 및 사이트관리자 : 지용호