Problem: After a completely inelastic collision, two objects of the same mass and initial speed stick together and move away at half their initial speed. Find the angle between their initial velocities.

Now as you guessed this is a problem in 2-dimensions (Note when I say 2 and 3 dimensions in this post I'm talking about Euclidean Spaces i.e:) $$\mathbb{R^2}$$ Now my question is more a question of finding the most efficient Mathematical "Technique" to solve this problem.

The way I see it there are two ways that I could solve this :

1. Solve in one dimension at a time

I could break up the two-dimensions and solve for the angles needed to produce the result (as momentum is conserved independently in each dimension, this wouldn't be that difficult to do in 2 dimensions), but it's not something I'm keen on doing. The reason being, the question could easily be extended to 3 dimensions, and then the process of solving for velocities and angles in each dimension becomes really tedious.


2. Solve all at once using Linear Algebra

Now off the bat, Linear Algebra seemed to me to be the easiest way to represent and manipulate the vectors in 2-dimensions and I know that given questions like these in 3-dimensions (and higher dimensions), Linear Algebra really is the way to go, but I'm not sure how useful it is in this specific question.

Trying to solve this way, this is how far I've gone :

$$\Sigma{\vec{p}_i} = \Sigma{\vec{p}_f}$$ $$m_{a}\vec{v}_{a_{i}} + m_{b}\vec{v}_{b_{i}} = m_{a}\vec{v}_{a_{f}} + m_{b}\vec{v}_{b_{f}}$$ The masses cancel out, as both are equivalent, leaving us with just the velocity vectors. $$ \vec{v}_{a_{i}} + \vec{v}_{b_{i}} = \vec{v}_{a_{f}} + \vec{v}_{b_{f}} $$

Now incorporating linear algebra, to represent the initial velocities as column vectors

$$\begin{bmatrix} v_{x_{a}} \\ v_{y_{a}} \end{bmatrix} + \begin{bmatrix} v_{x_{b}} \\ v_{y_{b}} \end{bmatrix} = \vec{v}_{a_{f}} + \vec{v}_{b_{f}} $$ $$\begin{bmatrix} v_{x_{a}} + v_{x_{b}} \\ v_{y_{a}} + v_{y_{b}} \end{bmatrix} = \vec{v}_{a_{f}} + \vec{v}_{b_{f}} $$ But that is as far as I can get using Linear Algebra. Also note that the problem mentions speed, the magnitude of velocity of the masses, and I'm not sure how to incorporate that into the equation I've arrived at. Furthermore I'm not sure how I could get the angle between their initial velocities, in the current equation using Linear Algebra (Dot Product or Cross Product maybe?, but I don't see how I could do that given the equation I have).

  • So is there a way to solve this problem using Linear Algebra? (There has to be, I just probably can't see it)
  • Are there other easier, more efficient ways of solving this problem that you think would work?

If I have made any mistakes along the way or if you think there are gaps in my understanding of anything I've written, please inform me.

  • $\begingroup$ It seems to me that you should probably study linear algebra some more. You know enough to see that it is useful, but you don't know enough to apply it all the way, which can be fixed with a few exercises in calculating dot and cross products (you don't need the latter for this one, but it's good to understand because it is important for angular momentum). Start with the dot product and learn to understand its properties, then things will become clearer. $\endgroup$
    – CuriousOne
    Mar 28, 2016 at 19:21
  • $\begingroup$ Related: A graphical solution to the collision problem $\endgroup$ Jun 4, 2017 at 16:29

3 Answers 3


Linear algebra is the easiest way to go with this; it's really not as hard as you think. You just have to use a couple basic facts about dot products, along with a few simple points from the question itself.

First, a note on terminology. Matrices don't really come into play, so we usually just call this "vector algebra", and we don't bother splitting things out into components unless absolutely necessary. Second, if you're ever asked for an angle between things, you should start thinking about the dot product, because that involves the cosine of the angle between the vectors.

Now, you've missed a few tricks that your problem statement suggests. First, you know that the collision was completely inelastic, so the final velocities of the two masses are identical. \begin{equation} \vec{v}_{a_i} + \vec{v}_{b_i} = \vec{v}_{a_f} + \vec{v}_{b_f} = 2 \vec{v}_f. \tag{1} \end{equation} Second, you also know that the initial speeds were the same. I'm gonna call this speed $s$, and we know that it gives the magnitude of the initial velocity vectors. Another way to say this is that if you take the dot product of each initial velocity vector with itself, you get $s^2$: \begin{equation} \vec{v}_{a_i} \cdot \vec{v}_{a_i} = \vec{v}_{b_i} \cdot \vec{v}_{b_i} = s^2. \tag{2} \end{equation} Third, we also know that the final velocity was half that speed: \begin{equation} \vec{v}_{f} \cdot \vec{v}_{f} = \left( \frac{s}{2} \right)^2. \tag{3} \end{equation} The final trick is that the dot product between the two initial velocity vectors is the magnitude of the first (which is $s$) times the magnitude of the second (which is also $s$) times the cosine of the angle you're looking for (which I'll call $\theta$).

It sounds like you don't have much experience using the vector algebra, so I'll point out an important feature: the dot product is linear, which means that we can expand out the dot product of a sum just like we would in basic algebra. In particular, we can now go back to equation (1) and take the dot product of the left-hand side with itself, and set it equal to the dot product of the right-hand side with itself: \begin{equation} (\vec{v}_{a_i} + \vec{v}_{b_i}) \cdot (\vec{v}_{a_i} + \vec{v}_{b_i}) = (2 \vec{v}_f) \cdot (2 \vec{v}_f) \end{equation} Linearity of the dot product(*) lets me expand this out to \begin{equation} \vec{v}_{a_i}\cdot\vec{v}_{a_i} + \vec{v}_{b_i}\cdot\vec{v}_{b_i} + 2\vec{v}_{a_i}\cdot\vec{v}_{b_i} = 4 \vec{v}_f\cdot\vec{v}_f. \end{equation} Finally, you can plug in our results from equations (2) and (3), along with $\vec{v}_{a_i}\cdot\vec{v}_{b_i} = s^2 \cos\theta$, and solve for $\theta$.

(*) Technically, you also need to use symmetry of the dot product: $\vec{v}_{b_i}\cdot\vec{v}_{a_i} = \vec{v}_{a_i}\cdot\vec{v}_{b_i}$. You'll see this if you write out the expansion of that sum. This is important because if you ever need to take the cross product, that's antisymmetric: $\vec{b}\times\vec{a} = -\vec{a}\times\vec{b}$.


The solution is pretty short if you just consider momentum and split it up into components: x - in the direction of their mutual velocity after the collision and y - perpendicular to that. The y-components sum to zero.

If you only have two masses colliding their motions before and after have to be in the same plane - the plane that contains their initial velocities. I'm not sure what you mean by the question being extended to 3 dimensions. You can always just consider it in the 2-D plane that contains the initial velocities.

  • $\begingroup$ Thanks for the answer, but the method you suggested to solve the problem is the method I was trying to avoid. What I meant by extended the problem to 3 dimensions was that a problem could be posed where you could have the 2 masses moving in R^3, in 3 dimensional Euclidean Space and using the method you suggested trying to solve the problem becomes quite drawn out and tedious, as you would have to solve for velocities and angles in X, y, and z dimensions and the whole process becomes tedious $\endgroup$ Mar 28, 2016 at 23:57
  • $\begingroup$ There's no reason not to put your collision in the x-y plane. Further, I would put the final velocity along the positive x axis, which puts the two initial velocities at the same angle (one above and one below) from the negative x axis. Then all you have to work out is conservation of momentum in the x direction. (Conservation of momentum in the y direction doesn't tell us anything we didn't already know). It's not tedious at all, I just worked it out and it takes about 5 lines of really simple algebra and some basic trig. $\endgroup$
    – David Elm
    Nov 21, 2016 at 12:26

The most efficient tecnique is to find the magnitude $J$ of the exchanged momentum (impulse) first and then apply it to each body to change their velocities.


Initial velocity vectors are ${\bf v}_1$ and ${\bf v}_2$, and the impact changes their velocities by $\Delta{\bf v}_1$ and $\Delta{\bf v}_2$. This means the velocity vectors after the impact is ${\bf v}_1 + \Delta {\bf v}_1$ and ${\bf v}_2 + \Delta {\bf v}_2$.

The impact has coefficient of restituion $\epsilon = 0 \ldots 1$, and the exchange of momentum happens along a direction ${\bf n}$ (for example from body 1 towards body 2, ${\bf n} = \frac{{\bf r}_2-{\bf r}_1}{\|{\bf r}_2-{\bf r}_1\|}$).

In your case $\epsilon = 0.5$ I think

Law of Collisions

The impulse magnitude is $$ J = (1+\epsilon) \frac{{\bf n} \cdot ({\bf v}_1 - {\bf v}_2)}{ \frac{1}{m_1} + \frac{1}{m_2} } $$

which is derived from the law of collisions

$$ \mbox{(relative speed after impact)} = -\epsilon \, \mbox{(relative speed before impact)} $$

$$ {\bf n} \cdot \left( ({\bf v}_2+\Delta {\bf v}_2) - ({\bf v}_1 + \Delta {\bf v}_1) \right) = -\epsilon\, {\bf n} \cdot \left( {\bf v}_2 - {\bf v}_1 \right) $$

Applied Impulse

The change in velocity vectors is calculated from the impulse $J$ towards body 2 along ${\bf n}$ and away from body 1. $$\begin{align} \Delta {\bf v}_1 & = - \frac{J }{m_1} {\bf n}\\ \Delta {\bf v}_2 & = + \frac{J }{m_2} {\bf n} \end{align}$$

Combined Solution

The above is combined to

$$\begin{align} {\bf v}_1^{final} & = \frac{1+\epsilon}{1+\frac{m_1}{m_2}} \left[ (1-{\bf n} {\bf n}^\top) {\bf v}_1 + ({\bf n} {\bf n}^\top) {\bf v}_2 \right] \\ {\bf v}_2^{final} & = \frac{1+\epsilon}{1+\frac{m_2}{m_1}} \left[ (1-{\bf n} {\bf n}^\top) {\bf v}_2 + ({\bf n} {\bf n}^\top) {\bf v}_1 \right] \end{align} $$

Note that ${\bf n}{\bf n}^\top = \left| \matrix{ n_x^2 & n_x n_y & n_x n_z \\ n_x n_y & n_y^2 & n_y n_z \\ n_x n_z & n_y n_z & n_z^2 } \right| $ and that $1-{\bf n}{\bf n}^\top = \left| \matrix{ 1-n_x^2 & -n_x n_y & -n_x n_z \\ -n_x n_y & 1-n_y^2 & -n_y n_z \\ -n_x n_z & -n_y n_z & 1-n_z^2 } \right| $


Not the answer you're looking for? Browse other questions tagged or ask your own question.