2013-09-22 2 views
1

공이 드래그없이 탄력적으로 튀어 오르면 그 공의 전체 에너지 (운동 + 전위)는 항상 동일하게 유지되어야합니다. 그래프가 제대로 작동하고 있는지, 알지 못했는지 확인하기 위해 그래프를 만들었습니다. 대신이 모양입니다. graphJava에서 공이있는 물리학, 에너지가 작동하지 않음

마지막 4 또는 5 도트는 무시해야하며 이전 데이터 (8 초 전)입니다. 그래프가 뒤쪽으로 오면 그래프가 앞쪽에서 다시 시작됩니다.

흰색은 총 에너지이며 시안 색은 운동이며 녹색은 잠재력입니다. 에너지의 계산을위한

수식 : 등 힘

double Fzw = g * m; 
    double Fb = rho * V * g; 
    Fd = 0;//0.5 * rho * Math.pow(vy, 2) * Cd * A; 

    if (vy > 0) 
    { 
     Fres = Fzw - Fd - Fb; 
    } 
    else 
    { 
     Fres = Fzw + Fd - Fb; 
    } 

    a = Fres/m; 


    vy += a * Main.dt; 

수식 나는 이것을 위해 사용하고 다른 모든 코드에 대한

double tempv = Math.sqrt(Math.pow(vx, 2) + Math.pow(vy, 2)); 
double h = (600 + -y + 53 - (0.5 * size))/100; 
eKin = 0.5 * m * Math.pow(tempv, 2); 
ePot = m * g * h; 
eTot = eKin + ePot; 

수식을 통해 찾을 수 있습니다 여기에 : https://github.com/wuppy29/PWS/tree/master/src/com/wuppy/pws/src

나는 무엇이 잘못되었는지 알아 내려고 노력했지만, 왜 작동하지 않는지 전혀 모른다. 아무도 아이디어가 있니?

프로그램 : https://dl.dropboxusercontent.com/u/59067404/Balls.jar

+0

질문에 관련 코드 부분을 추가 할 수 있습니까? – Joni

+0

관련 코드가 모두 여기에 있어야합니다. – Wuppy29

+0

이것은 디버깅 서비스가 아닙니다. 그리고 나는 항상 물리학을 고도로 간주해 왔습니다 ... 자격을 얻을 필요가 없습니다. – Bohemian

답변

0

그냥 그래프보고에서, 당신이 잠재력과 운동 에너지에 대해 서로 다른 척도를 사용하고 있는지 알 수 있습니다. 그들은 서로의 거울 이미지이어야합니다.

+0

그러면 3 가지 에너지가 모두 그래프에서 같은 스케일을 사용하기 때문에 잘못된 에너지 중 하나를 계산해야합니다. – Wuppy29

+0

당신 만이 그런 질문에 대답 할 수 있습니다. 시스템의 총 에너지는 얼마입니까? –

+0

이 사진을 찍을 때 창에 하나의 공 (이미지에 보이지 않음)이있을 때 전체 에너지는 1.3과 2.3 사이입니다. – Wuppy29

0

새 위치를 보간하는 데 forward euler을 사용하고 있습니다. 보간법이 가장 정확하지 않으므로 오류가 시간이 지남에 따라 전파됩니다. Runge Kutta과 같은 것으로 생각할 수 있습니다. 나는 당신이 우리에게 보여준 코드에 다른 어떤 문제도 보지 못했다.