球顶碰撞时间

时间:2018-11-08 08:31:31

标签: math collision gravity

我知道要与地面碰撞。 这是我的计算方式:gravityY =正9.81

float timeToGround = (velocity.y + Sqrt(velocity.y*velocity.y + 2f * gravityY * distanceToGround)) / gravityY;

如何根据距离和初始速度计算与屋顶/天花板的碰撞时间?

float timeToRoof = ?

我不知道要看哪里,非常感谢您的帮助

2 个答案:

答案 0 :(得分:0)

您需要求解未知时间t的二次方程式

h = y0 + Vy * t  - g*t^2 / 2
or 
 g*t^2/2 - Vy*t + (h-y0) = 0  // a,b,c coefficient grouped

对于已知的起点高度y0,车顶高度h,重力g,初始速度Vy的y分量

答案 1 :(得分:0)

呵呵,谢谢您的帮助。 答案如下:

float timeToRoof = (-velocity.y + Sqrt(velocity.y * velocity.y + 2f * gravity.y * distanceToRoof)) / gravity.y;
  • gravity.y =负-9.81
  • velocity.y =当前速度
  • distanceToRoof =当前到屋顶的距离