Collision between two moving objects (one with a non-known trajectory)?

  • Context: Graduate 
  • Thread starter Thread starter Iximeow
  • Start date Start date
  • Tags Tags
    Collision Trajectory
Click For Summary
SUMMARY

The discussion focuses on calculating the collision point between two moving objects, A and B, where A's velocity and position are known, while B's trajectory is variable. The user employs a mathematical approach involving iterative distance calculations to approximate the collision time and point. Initially, the user explores a method using the law of sines to simplify the problem into finding the intersection of two lines, ultimately seeking a more precise solution. The conversation highlights the complexity of collision detection in dynamic environments.

PREREQUISITES
  • Understanding of basic physics concepts related to motion and velocity
  • Familiarity with mathematical functions such as square roots and trigonometry
  • Knowledge of iterative algorithms for numerical approximation
  • Experience with vector mathematics and collision detection techniques
NEXT STEPS
  • Research numerical methods for solving nonlinear equations
  • Explore advanced collision detection algorithms in game development
  • Learn about vector calculus applications in physics simulations
  • Investigate the law of sines and its applications in triangulation problems
USEFUL FOR

Mathematicians, physicists, game developers, and anyone involved in simulations or modeling of dynamic systems seeking to understand collision detection methodologies.

Iximeow
Messages
2
Reaction score
0
Alright, I've been working on this on my spare time for the past few weeks, and have a solution that ~works~, but I'm not happy with at all.

The general idea is to have two objects, A and B, where A's velocity and position are known, B's position and speed are known, but the direction B travels in can vary. I want to find where and when the two objects will collide, before even considering if it can happen at all.

Going to type out my math as it's simpler than just explaining it all in Engrish.

Ax, Bx = A's x-position, B's x-position
Ay, By = similarly, A's y-position, B's y-position
Avx, Avy = A's x-velocity, y-velocity

||B|| = B's speed

My solution thus far has been to find the distance from B to A, D1: sqrt({Bx-Ax}^2+{By-Ay}^2)

Then taking ||B||, and dividing D1 by it, giving T1 = D1/||B||

Then finding the distance from B to A(T1), D2: sqrt({Bx-Ax-Avx*T1}^2+{By-Ay-Avy*T1}^2)

Again, distance divided by ||B||, gives a better distance to correct for: T2 = D2/||B||

Then finding D3: sqrt({Bx-Ax-Avx*T2}^2+{By-Ay-Avy*T2}^2)

etc etc continuing on until Tn gets sufficiently small that I don't need to get closer, then having Tn and A(Tn), knowing that A(Tn) is close enough to the collision point I'm looking for. Initially, before I did the math, I was hoping to get something that I could use a limit for as n -> infinity, and get a precise answer, but from the way the math expands.. I'm pretty sure I can't do that?

If anyone knows what I may or may not be doing wrong, or a better way of finding this, I'd love you forever? :D
 
Physics news on Phys.org
... Don't mind me; reworking an idea I had a while back to use the law of sines gave a good answer.

Setting up a triangle with A and B's position as vertices, the collision point C as the third vertex, then knowing that AC = Bv*t, BC = Av*t, and easily finding the angle by A, and using the law of sines to know sin(A)/(Bv*t) = sin(B)/(Av*t). The t drops out, and then the angle by B is simple to find, which makes the problem into finding the intersection of two lines, and a bit more simple math to find how long it takes for one of the two objects to get to C.

Yay, precise answers. Now just wondering if AB/t has any real-world meaning or use.. hmm...
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 1 ·
Replies
1
Views
11K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
3
Views
1K
  • · Replies 1 ·
Replies
1
Views
1K
Replies
1
Views
2K
  • · Replies 17 ·
Replies
17
Views
8K