최대 속도가 설정된 2 차원 물체를 시뮬레이트하려고하는데 최대 속도 일 때 물체의 움직임을 수학적 모델로 구성하는 것이 어렵습니다. 그것은 모두 올바른 방향으로 움직이지 않고 있습니다. 및 가속도가 부분적으로 최대 속도 제한에 의해 차단되었습니다.최대 속도로 일정 가속도로 물체 시뮬레이션하기
예. 최대 속도는 √2이고, 현재 (1,1)로 향하고 있고 실제로는 (√2, 0)으로 향해야합니다. x 축을 따라 직접 가속하면 속도 제한이 깨집니다.
대신에 시간의 경과에 따라 정확한 속도로 반올림하는 것이 필요합니다. 내가 너무 높을 때 새로운 속도를 계산하고 최대하여 확장됩니다하고있는 일이 있었나 : 작업 (일종의) 않습니다,하지만 난 부드럽고 수를 리팩토링 할 필요가있어
newVelocity = oldVelocity + acceleration * dt;
if(newVelocity.getLength() > maxSpeed){
newVelocity = newVelocity.scale(maxSpeed);
}
- 시뮬레이션의 세분성에 의존하지 않는 - 현재로서는 dt 값의 절반으로 두 패스와 반대되는 한 패스를 수행하면 다른 결과를 얻습니다.
난 할 노력 해왔다하면 속도가 원
그러나의 탄젠트으로 적용 가속도의 양을 계산 한 후 원의 포인트 인, 그리고 모델은 (이다 그리고 이것은 나의 역학과 미적분이 실패한 곳이다.) 현재 속도 각과 시간에 기반한 공식에 적용된 가속도로부터 도출 된 순간 각속도의 계산을 어떻게 돌릴 것인가? 단일 시뮬레이션 틱.
나는이 문제가 상당히 간단한 해결책을 가지고 있음을 거의 확신하고있다. 나는 단지 구글을 위해 어떤 용어 집합을 만들지 못하고있다.
속도 벡터를 다시 스케일링하여 한계를 초과 할 때 속도를 클램프하지 않는 이유는 무엇입니까? – meowgoesthedog