Do mass and velocity play a role in the outcome of collisions? Let’s find out.

We’ll be colliding three objects: a cube, a sphere, and a turret. A cube has a mass of 40 kg, a sphere has a mass of 75 kg, and a turret has a mass of 100 kg (found by using the console command physics_debug_entity while looking at an object). If all goes well, the object with the larger momentum due to its larger mass or greater velocity should send the other object flying backwards as the result of their collision.

Test 1: Two cubes of the same mass hitting at the same velocity.

Their identical momenta cancel out.

Test 2: A sphere striking a lighter cube at the same velocity.

The sphere’s larger momentum causes the cube to fly backwards.

Test 3: A cube striking a turret.

The turret has a larger mass and its momentum causes the cube to fly backwards.

Test 4: A sphere striking a turret.

The turret has a slightly larger mass and its momentum causes the cube to fly backwards.

Test 5: A fast cube strikes a slower cube.

The fast cube’s greater momentum knocks the slower cube backwards.

It looks like mass and velocity are significant factors in collisions and handled correctly (at least superficially) by the Source engine.

If you remember from last time, I calculated the amount of work being exerted by an aerial faith plate, then used my answer to calculate the distance a projectile would fly. I asserted that if I could predict where the projectile would land using the amount of work being done, then work is a measurement that is actually conserved by an aerial faith plate. The only problem is that in calculating the initial velocity of a projectile off an aerial faith plate, equal masses cancel out. Equating work to kinetic energy and solving for velocity, we find that:

v = √(2*W/m)

and given that

W = m*a*d,

we actually have

v = √(2*m*a*d/m) [bolded for emphasis]

And if the two masses are the same, they cancel out. So last time when I correctly predicted the distance my projectile would travel, I erroneously claimed that I was able to do so because that work done by aerial faith plates was conserved. It was actually because my calculations cancelled out mass, so being able to calculate the distance my projectile traveled had nothing to do with work.

So, I reran the experiment, this time with a weighted sphere, which, according to the game, has a larger mass of 75 kg. Plugging in to the equations above and running the same experiment as last time, we find that the weighted sphere should travel about 5 panels if the aerial faith plate enacts the same amount of work on any object it launches. As you can see in the video below, that clearly doesn’t happen.

Work done by the aerial faith plates isn’t conserved. It appears as if they ignore the mass of an object and so subsequently calculating the amount of work an aerial faith plate exerts isn’t useful. It appears they use a different factor to determine the path a projectile will take, which will be investigated soon.

Of course, immediately after I finish a video I realize that I came to an incorrect conclusion. For the fun of it, I’ll post what I was working on below. See if you can figure out where I was wrong (answer after the video).

“We could be wrong…”

If you break down the equations, you’ll actually discover that mass cancels out when calculating the initial velocity of the projectile. In other words, mass doesn’t actually matter. This experiment explores the way in which the Source engine handles an aerial faith plate’s acceleration and velocity more than it does mass. Mass easily could have been arbitrarily high or low and it wouldn’t have affected our results. Unlike what I said in the video, this experiment does not show that mass is an internally consistent variable. Whoops. However, this video does a good job of showing how well Source handles projectile motion, so I’m posting it for now. Expect a follow up with objects of varying mass.

sv_cheats 1 (only needs to be done once)
noclip (lets you fly around the room)
phys_timescale 0 (freezes objects in the game)
phys_timescale 1 (lets objects move normally again)
impulse 200 (removes/replaces portal gun)

Portal 2 can help students study more than just mechanics.

Thanks again to Yasser Malaika from Valve for sharing this awesome demonstration of the ideal gas law made using the Puzzle Maker. If you watched the Games for Change presentation last week, this should look pretty familiar (see 22:30).

There’s a lot more to explore with this concept. Expect to see more of it in the future.