kachilous
kachilous

Reputation: 2529

Collision Detection in 2D Motion

I have created a very simple numerical simulation that models an object being thrown off a building at some angle, and when the object hits the ground, the simulation stops. Now I want to add in collision detection. How would I go about doing this? I know I need to find the exact time that the object (a ball) hits the ground, as well as the velocity in the x and y direction, and position of the object when it hits the ground, and I have to add in parameters that say how much the ball will bounce on impact. But I don't know how to go about doing this. I know that there are various ways of detecting collision but since I am new to this, the most comprehensible method would be best.

Upvotes: 4

Views: 1209

Answers (3)

Ray301
Ray301

Reputation: 296

If you are just looking for the math, that you could write C code for. I found this one helpful. Math Models

Upvotes: 1

Dhaivat Pandya
Dhaivat Pandya

Reputation: 6536

  • Make a coordinate system, with the ground at y=0. Track the coordinates of the ball as it flies and then check when it has y=0, and that's where it hits the ground. You can also keep track of the x and y velocity as the ball is moving.

  • Use Physics skillz. This is a good tutorial. If you have it, I recommend Fundamentals of Physics by Halliday, Resnick and Walker. They have a very good chapter on this.

Upvotes: 1

Alan Geleynse
Alan Geleynse

Reputation: 25139

Collision detection simply involves determining the distance between 2 objects.

If you are only interested in collisions between objects and the ground, you can use:

if(object.y <= ground.y) {
    //collision occurred
}

To do collisions between objects, you can loop through all objects and compare them to each other in the same way.

Upvotes: 0

Related Questions