Really, the big difference is that Angry Birds and Bad Piggies
both have a side view of the world. Side views work quite well for
video analysis (which is how I get most of my data from the game). Angry
Birds Go! uses a 3D view showing the motion from the perspective of the
car and bird driving it (or just above the car).
Analyzing the motion in cases like this isn’t as straight forward as sideways motion. I’ve looked at similar cases before though. The one that comes to mind is this analysis of the Mars Curiosity Landing video. The basic idea is that the farther away an object is from the “camera”, the smaller it appears. By looking at this angular size you can get a measure of the distance to the camera (or viewer). Here is a useful illustration of the relationship between angular size and distance.
I can measure the angular size of some object in the video and from
this get the distance. But there is an easier way which I will describe
in a moment.
You might not notice this in the middle of a race, but you can see it in this video. When you jump on these levels, it tells you how far you went. Well, it stops reporting jump distances after you get over the required distance. I can use this reported distance along with the time of the jump to get a first approximation to the speed. How do you get the time? You could just look at the frame number in the video, but I prefer to use Tracker Video Analysis to get the time.
For the first jump in my test video, the car traveled 40.6 meters (as reported by the game) and it took 0.95 seconds. This gives a speed of:
If you like different units, the speed is 95.6 mph. Zoom. Faster than
I would have thought. Well, in my test video, I have two more jumps.
Using the same idea, I get speeds of 44.90 m/s and 55.50 m/s.
The key to projectile motion is that the motion can be broken into a
vertical and horizontal case. Each case can be treated separately except
that they have the same time interval. For the vertical motion, it’s
not too difficult to calculate the height that the car falls. Assuming a
constant vertical acceleration of -9.8 m/s2 and an initial vertical velocity of 0 m/s, I can write the following kinematic equation.
Since I know the time for this vertical motion (from the video), I
can get the height. Using the 3 jumps in the test video above, I get
vertical drops of 4.42 m, 3.01 m, and 3.02 meters. Remember, I am making
the assumption that the car starts off moving only horizontal. If
instead the car left the ground at some angle above the horizontal, then
the height would actually be lower. However, I have to start somewhere.
I have no easy way to measure this “launch angle” and it looks close to
horizontal.
What about the angle of this course? If I use these three jumps as an estimate then I can calculate the angle based on the height and horizontal distance for these jumps.
Here I am making the assumption (yes, I am making a lot of
assumptions) that the average slope of this track is about the same as
the slope for these jumps. Even if it isn’t exactly true it’s a pretty
good approximation. So, based on the three jumps I get a slope angles of
6.19°, 4.89° and 4.34°. Let’s just call this an average slope of about
5°.
Now for the wild speculation. Suppose that I have my car and I drive with an average speed of 45 m/s down a slope that is inclined at 5°. I did this exact track and it took me 42 seconds to complete. So, how long is the whole track? This is your most basic kinematics problem. Using the speed and time, I get a distance of 1890 meters or 1.17 miles.
How tall is this hill that contains this track? Assuming a constant slope, then I can find the height using a giant right triangle. The hypotenuse of this triangle is the 1890 meters and the angle is 5°. Using the sine function, I get a height of 164 meters. So, it’s a hill and not really a mountain. I guess you could call it a mountain if it made you happy.
Analyzing the motion in cases like this isn’t as straight forward as sideways motion. I’ve looked at similar cases before though. The one that comes to mind is this analysis of the Mars Curiosity Landing video. The basic idea is that the farther away an object is from the “camera”, the smaller it appears. By looking at this angular size you can get a measure of the distance to the camera (or viewer). Here is a useful illustration of the relationship between angular size and distance.
How Do You Get Data?
Right now, Angry Birds Go! is just on mobile devices. So, how do you get a video of the game? I used two things. First, there is this app for Mac OS x called Reflector. It turns your Mac OS X computer into an airplay receiver. You can send the screen of your iPhone to your computer. I think there is something similar for Windows computers too. The next step is to capture the screen as a video. Quicktime does an excellent job here. It’s that easy.First Estimation of Speed
Honestly, this sort of feels like cheating since it is so simple. On some levels, you get check boxes for jumping the car over some set distance. Here is a sample of one of those levels.You might not notice this in the middle of a race, but you can see it in this video. When you jump on these levels, it tells you how far you went. Well, it stops reporting jump distances after you get over the required distance. I can use this reported distance along with the time of the jump to get a first approximation to the speed. How do you get the time? You could just look at the frame number in the video, but I prefer to use Tracker Video Analysis to get the time.
For the first jump in my test video, the car traveled 40.6 meters (as reported by the game) and it took 0.95 seconds. This gives a speed of:
How Steep Is the Race Track?
This is another approximation. However, let me assume that when the car jumps it starts out with a horizontal velocity and leaves off a vertical drop. This would make it just like projectile motion (assuming that air resistance can be ignored). Here is a diagram.What about the angle of this course? If I use these three jumps as an estimate then I can calculate the angle based on the height and horizontal distance for these jumps.
Now for the wild speculation. Suppose that I have my car and I drive with an average speed of 45 m/s down a slope that is inclined at 5°. I did this exact track and it took me 42 seconds to complete. So, how long is the whole track? This is your most basic kinematics problem. Using the speed and time, I get a distance of 1890 meters or 1.17 miles.
How tall is this hill that contains this track? Assuming a constant slope, then I can find the height using a giant right triangle. The hypotenuse of this triangle is the 1890 meters and the angle is 5°. Using the sine function, I get a height of 164 meters. So, it’s a hill and not really a mountain. I guess you could call it a mountain if it made you happy.
More Questions
This is all just a rough approximation. I think I can do better by using the angular size of objects in the game. Once I do this, I won’t need these recorded jump distances to get the speed of the car. After that, I can attempt to answer the following questions:- How big are things? How big are the blocks and the birds and stuff? You would think I could just measure the angular size of these things, but I can’t. Well, I can but I don’t know the angular field of view in the game.
- What do the different powers do? I assume that some of these powers make you go faster, but how much faster?
- Is there a correlation between car horsepower and speed?
- If the cars go at nearly a constant speed, what does this say about friction and air resistance?
- Is there air resistance when the cars jump?
Comments