함께 만드는 별빛 세상, 천문노트 · Since 2001

현재 시간에 따른 태양, 달 위치 계산.

조재훈 2013-08-30 (금) 12:39 9747 1
목록
이전글 다음글

웹 아카이브(2016-12-29 기록)에서 복원한 글입니다. 일부 이미지나 첨부파일이 빠져 있을 수 있습니다.

제가 현재 게임 개발중에 있습니다.
현재 SSAO, HDR, Depth-of-field, Motion-bluring, Speed-blur 등의 Post fx가 적용되어 있고,
거기에 조금 더 실사같은 그래픽을 위해 천문학적으로 태양 위치, 달 위치, 별같은 물체를 실시간으로 위치가 자동으로 변경되는
시스템을 구축하고 있습니다. 또, 태양과 달이 정상적으로 위치를 잡으면(?) 이제 더 실사같도록 다른 천체도 적용할 예정입니다.

현재 상태 스크린샷입니다.



현재 태양의 위치를 적용하기 위해
        core::matrix4 mat;
        core::vector3df kampas;
        f32 vieta[4];

        saule(52.0f,-5.0f,Juliandate);
        kampas.X=-sun_angle[1];
        kampas.Y=sun_angle[0];
        kampas.Z=0.0f;
        mat.setRotationDegrees(kampas);
        vieta[0]=0.0f;
        vieta[1]=0.0f;
        vieta[2]=1000.0f;
        vieta[3]=0.0f;
        mat.multiplyWith1x4Matrix(vieta);
        sun_pos_from.X=vieta[0];
        sun_pos_from.Y=vieta[1];
        sun_pos_from.Z=vieta[2];
        sun_angle_from=sun_angle[1];
        saule(52.0f,-5.0f,Juliandate+time);
        kampas.X=-sun_angle[1];
        kampas.Y=sun_angle[0];
        kampas.Z=0.0f;
        core::matrix4 mat2;
        mat2.setRotationDegrees(kampas);
        vieta[0]=0.0f;
        vieta[1]=0.0f;
        vieta[2]=1000.0f;
        vieta[3]=0.0f;
        sun_angle_to=sun_angle[1];
        mat2.multiplyWith1x4Matrix(vieta);
        sun_pos_to.X=vieta[0];
        sun_pos_to.Y=vieta[1];
        sun_pos_to.Z=vieta[2];
요런 코드를 쓰고 있습니다.

현재는 분단위로 태양의 위치를 계산해서 from과 to로 구분, 즉,
from에서 부터 to 까지의 이동은 vector transforming으로 밀어버리고,
분단위의 계산만 정확히 하려고 합니다.

그런데 현재로서의 문제도,
정확한 계산이 아닌건지, 현제 game data exchange timer의 문제인지
아니면 위 코드를 도출시킨 공식들에 문제가 있는건지

시간 주기도 맞질 않고 태양이나 달의 위치도 전혀 변하지 않네요.;;
또 시간 주기를 빠르게 돌리도록 해 봐도 전혀 위치가 변하질 않네요,....;;

댓글 1

박명정2013-10-23 10:37

잘 만드시고 중간 중간 데모 프로그램도 오픈 해 주시면 감사~ ^^

로그인하면 댓글을 쓸 수 있습니다.

천문 프로그래밍 게시판

총 147건
글쓰기