이런 프로그램을 만들고 싶은데 밑에 그림처럼 나오네요,,,,
아무리봐도 속도벡터쪽이 문제인것 같은데,,,, 어떻게 해야할까요?
문제있는 부분의 코드를 올립니다.
/*
double cosX;
double cosY;
double xe, ze;
double ax,ay;
double b, Lx, Ly;
double tx1, tx2, ty1, ty2;
double X1 = 250, Y1 = 180;
int M = 1000000;
// 시간을 더해주기
time+=tInc;
b = L * cos((90-Alpha) *3.14/180); // projection of barrel onto x-z plane
Lx = b * cos(Gamma * 3.14/180); // x-component of barrel Radius
Ly = L * cos(Alpha * 3.14/180); // y-component of barrel Radius
cosX = Lx/L;
cosY = Ly/L;
//행성의 위치
xe = 250;
ax = G*M*(X1-s.i)/(sqrt(((X1-s.i)*(X1-s.i))+((Y1-s.j)*(Y1-s.j)))*(((X1-s.i)*(X1-s.i))+((Y1-s.j)*(Y1-s.j))));
ay = G*M*(Y1-s.j)/(sqrt(((X1-s.i)*(X1-s.i))+((Y1-s.j)*(Y1-s.j)))*(((X1-s.i)*(X1-s.i))+((Y1-s.j)*(Y1-s.j))));
// s.i는 x거리, x.j는 y거리
s.i = 0.5*time*time*ax + Vm*time*cosX + 250;
s.j = 0.5*time*time*ay + Vm*time*cosX + 180;
if(time>360)
return 3;
return 0; */