Wolfram Computation Meets Knowledge

Bowl a Strike with Wolfram System Modeler

Bowl a Strike with Wolfram System Modeler

Explore the contents of this article with a free Wolfram System Modeler trial. Bowling is a simple game that consists of a ball, 10 pins and a lane. You take the ball, come to the starting line, aim between pins 1 and 3 and throw the ball. You instinctively assume that the ball and the lane are perfect and expect the ball to go straight where you aimed.

However, we’ll almost always find that this intuition is wrong. Jan Brugård and I will try to explain this phenomenon and reveal the physics behind bowling in this blog post by using Wolfram System Modeler to explore different effects.

As a curious person with zero bowling experience, I started to model the game and noticed tons of parameters to decide, such as initial ball velocity, initial ball position, rotational speeds and more. I had no clue which were important and which were not. I found plenty of interesting material on the internet, but I wanted to keep my inexperienced, childlike spirit alive. So I decided to go bowling with my wife for the first time in my life. As the saying goes, better late than never.

Let’s Bowl a Few Frames

We found a bowling alley near where we live. Yes, we were now onsite!

Bowling alley
&#10005


Right off the bat, we started playing. I chose a ball, came to the middle of the lane at the starting line, aimed at the head pin and threw the ball. It was not that fast, and it took the ball a bit more than two seconds to reach the pins. It went straight part of the way and then, to my disappointment—and against my intuition—it hooked 20 cm to the left. Why?

After our game, I went back to work and implemented a model that included the ball, the alley and the contact between them:

CloudImport
&#10005


I designed it following the United States Bowling Congress (USBC) rules, including a lane length of 18.29 m (60 ft.) and an initial ball velocity of around 8 m/s (9.145 ≂ 8 m/s). It was also rotating, however, so I tried to count the revolutions—but it was way too fast. I checked it out and found that the angular velocity is around 30–60 rad/s. I assumed 45 rad/s in my case.

I simulated the first version of my model and tried to replicate my first-ever bowling throw. Let’s look at the resulting System Modeler animation:

 

As you see, contrary to my first attempt, the ball went straight the whole way, so why did my throw deviate halfway? Was it something with the ball, lane or me?

Let’s start with the ball. It may sound weird at first, but the ball is not perfect. You might think this is due to the holes, and yes, you are partly right. Then again, ball manufacturers add some counterweight to balance these holes. Yet the mass they add might also cause differences in the radius of gyration (i.e. gyradius), either intentionally or unintentionally. If any difference exists, we will likely see deviations in the bowling throws because of the tennis racket theorem (AKA the Dzhanibekov effect), as illustrated in this blog post.

Let’s add this imperfection to the ball and see what happens:

alley = ImageResize
&#10005


Overlay
&#10005


After checking the USBC rules again, I used the maximum radius of gyration difference allowed. It was tiny, only 0.2 mm. As you see, the ball does not go straight this time. It starts out that way, and then it hooks. This deviation is not, however, as large as the one I observed.

It is possible to see this effect more clearly by playing around with the radii of the gyration:

Manipulate
&#10005


It curves erratically. Getting such curves, however, requires designing a ball beyond the allowed limits. So, there must be something else explaining the difference between my first throw and the model. After failing with my first throw in the bowling lane, I decided to change my initial position around 20 cm to the right while keeping the ball speed roughly the same.

It went as before; however, it hooked more than the first throw and hit pin 2.

Bowling alley
&#10005


How does shifting the initial position affect the result in my model? The following code illustrates this:

Overlay
&#10005


It goes as expected, like the earlier throw. Contrary to my real-life experience, however, there is no difference in deviation. When I read more about bowling lanes, it turns out that lanes have uneven friction on purpose.

Friction patterns

Yes, it sounds too confusing, but this increases the complexity and, thus, competition. They even name lanes based on different friction patterns, including “shark,” “bear” and “tiger.” In general, they have very low friction in the first two-thirds of the lane, but it increases to almost 10 times more friction in the last part. So what happens if I introduce this to my model?

It is better to admit that the friction distribution varies a lot from lane to lane, and this makes it hard to deal with all the concepts as a rookie bowler. So, I will model this as a variable. After 1.5 seconds, the ball will reach the dry part of the lane like this:

Oily versus dry lane
&#10005


I modeled the lane in this way and sent my first shot, and this is what I got:

Overlay
&#10005


Yes, it curves a bit more than before but still not as much as my throw. Perhaps it was just me making bad throws? There are pros out there bending these balls in official tournaments even more crazily. There had to be something I was missing. When I checked the possible reasons, I remembered how pros threw the ball: they spin it!

That also explained why I got a different trajectory when I thought I had replicated every detail, including position and arm swing, to adjust the ball velocity from my former throw. While throwing the ball, I had also spun the ball.

This angular velocity affects the trajectory too. Even if I tried to count the number of spins around the y axis by looking at the finger holes, it turned out to be impossible for me because the ball skids and rotates in the direction of the alley. Since it’s hard to observe these values, I checked them out. The spinning speed was between 1–10 rad/s, depending on the bowler. In this case, I assumed it was 5 rad/s.

The following figure explains how the spinning ball and surface work in unison. After the ball first skids, it loses a bit of energy in the dry part and starts curving as the friction increases. It gets full traction on the dry part of the lane, and because of its rotational speed, it displays mind-bending curves!

Bowling ball diagrams
&#10005


After adding the spinning angular velocity, I finally got results similar to those in the field:

Overlay
&#10005


If you want to play around with the model, add any parameter that you think increases the accuracy.

Why Do We Curve?

Now we all know that the ball curves in most cases but not how we can have it hook as we please. Moreover, why does it seem to hook so much?

The answer to this is probably the angle of attack. It is pretty hard to throw a strike. Most bowlers realize pretty quickly that there is a narrow pocket between the 1-3 pocket (right hand) or the 1-2 pocket (left hand) to achieve a strike. Hooking the ball gives it a better angle at these pockets and increases the tolerance for error. When a ball is rolled straight, hitting the pocket must be precise. By hooking the ball, the ball hits the pins with more force, producing better carry-through.

A straight roll—even when it hits the pocket—will tend to just tap on the pins if the ball is just slightly right of the center pocket or has an inadequate entry angle. In other words, a hooked ball can achieve strikes with less precise hits.

Pin strike diagram
&#10005


There are many more things to consider, but let’s wrap up this story. We have evaluated the effect of parameters that I observed as a rookie on a bowling ball’s trajectory.

In the end, I think I can answer the question about why your intuition about bowling is wrong. As I mentioned earlier, neither the ball, lane, myself nor (possibly) you is likely perfect. But hopefully, playing around with the following bowling game can give you insights that move you toward perfection:

Manipulate
&#10005


Test Your Skills

Now that you’ve seen our efforts to explain how and why bowling balls roll the way they do, download the model and run it yourself using Wolfram System Modeler to replicate the strike.

Check out Wolfram’s System Modeler Modelica Library Store or sign up for a System Modeler free trial.

Comments

Join the discussion

!Please enter your comment (at least 5 characters).

!Please enter your name.

!Please enter a valid email address.