2007년에 만들었던 플래시인데 큰 오류가 있어서 약간 수정했습니다.

빨간원 : 태양
파란원 : 지구
초록원 : 화성
하얀원&빨간선 : 천구면에 투영된 화성의 겉보기 경로


천구의 천정(태양계의 위쪽)에서 바라본 시점이라서
아래 플래시에서는 역행할 때  경로가 겹쳐지게 되지만

지구와 화성의 공전궤도면이 일치하지 않기 때문에
실제 지구에서 볼 때는 S자 모양이나 α자 모양이 나타납니다.
나중에 한번 3D로도 만들어 봐야겠네요..

12.12.6 수정
3D로 만든 주소입니다.
http://tibyte.kr/141




===============================================================================================



 







 


달을 드래그해서 지구주위에서 돌려보세요.




※ 저작자의 허락 없는 불펌을 금합니다..





===================================================================
코드
=======

curveTo로 원호 그리기 연구하다가 실패해서 삼각함수로 떼웠더니 많이 지저분하네요..


container.graphics.lineStyle(0,0xff0000);
 container.graphics.moveTo(sim1.x,sim1.y);
    container.graphics.lineTo(sim1.x+Math.cos(-1*angle)*20*markof(-1*angle), sim1.y+Math.sin(-1*angle)*20*markof(-1*angle));
    container.graphics.moveTo(sim1.x,sim1.y);
    container.graphics.lineTo(sim1.x+Math.cos(90/180*Math.PI*(1+markof(-1*angle)))*20, sim1.y+Math.sin(90/180*Math.PI*(1+markof(-1*angle)))*20);
 
 container.graphics.lineStyle(0,0xff0000,0);
 container.graphics.beginFill(0xffff00);
 container.graphics.moveTo(sim2.x,sim2.y+20);
 for(var lati:int = 90 ; lati>=-90 ; lati-=10) {
  container.graphics.lineTo(sim2.x+Math.cos(lati/180*Math.PI)*Math.cos(-1*angle)*20*markof(-1*angle) , sim2.y+Math.sin(lati/180*Math.PI)*20);
 }
 for(var i:int = 0 ; i<=18 ; i++) {
  container.graphics.lineTo(sim2.x+Math.cos((i*10-90)/180*Math.PI)*20*markof(angle) , sim2.y+Math.sin((i*10-90)/180*Math.PI)*20);
 }
 container.graphics.endFill();




+ Recent posts