Jump to content
  • Advertisement
Sign in to follow this  
jammy5202

Bowling Physics

This topic is 4683 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I am trying to create a bowling simulator with realistic physics. I am getting confussed by the angular motion of the ball and how that produces the curve of path of the ball. Does any one know any good example or resources that would help with understanding the problem. Am i correct in thinking that the main area are:- 1)Angular momentum (continuing rolling) 2)Moment of inertia (it to start rolling) Any help with the correct formula's and area to look at would be helpful

Share this post


Link to post
Share on other sites
Advertisement
the radius of gyration also affects how a ball hooks.

here are a few links you might find useful:

http://scienceworld.wolfram.com/physics/RadiusofGyration.html
http://mathworld.wolfram.com/RadiusofGyration.html

from bowlersparadise.com:

"Radius Of Gyration

This is a measurement of the effective weight distribution in a ball as it relates to the moment of inertia. It essentially is an indication of the resistance to rotation motion. It is equal to the square root of the moment of inertia divided by the weight."

hope that helps.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by jammy5202
I am trying to create a bowling simulator with realistic physics. I am getting confussed by the angular motion of the ball and how that produces the curve of path of the ball.
....
Am i correct in thinking that the main area are:-
1)Angular momentum (continuing rolling)
2)Moment of inertia (it to start rolling)

I believe there is a lot more to it that just that.
You may not believe it but a realistic bowling simulator requires of all of the nuances of physics calculation involving friction, collision, and transfer of momentum.

I suggest that if you are making a game find yourself a good physics engine and focus on the game.
If you doing it for the learning experience, then learn about rigid body physics instead of bowling physics, the rest will follow.


Share this post


Link to post
Share on other sites
I believe this book has a chapter specifically on bowling:

http://www.amazon.com/gp/product/0883189461/qid=1136377174/sr=2-1/ref=pd_bbs_b_2_1/104-6819179-7543926?s=books&v=glance&n=283155

Share this post


Link to post
Share on other sites
You should add friction to your checklist, which makes the ball curve the way it does.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
A bowling simulator is not a "beginners game", it is in fact beyond the capability of most advanced programmers. It is more difficult that say a Formula 1 Racing Simulator. Hence, the reason a true bowling simulator game really has never existed. It is a nearly impossible task to truly be accurate as there is so much variance in bowling. While the physics end of it is not horrible the variances of real bowlers impact on said physics is enormous. There are also as many have noted variance in other areas. There is no such thing as a "perfect alley". The boards are different. There are different types of oil. Even a bowling ball, one can take two bowling balls that are the exact same items but they are not exactly the same. Oh... and unless one uses BCD based floating point math the computer will make a complete mess in accuracy if using normal floating point math.

Inertia is as follows: I=((-2gh/v2)-1)gm2.

In this equation, I is inertia, g is gravity, v stands for the velocity of the ball, m is the mass of the ball you are using, and h is height from which the ball is thrown.

Velocity:

v (velocity)= d (distance)/t (time)

Ball speed reduction:

µk=Fk/mg

µk stands for the coefficient of kinetic friction and Fk stands for the Force due to kinetic friction. m is the mass of the ball and g stands for gravity.

All bowlers balls slow the moment they touch the alley.

Hook:

Hook is determined by the by several factors and again, lots of variance here depending on oil, oil pattern, boards never being exactly the same, the type of material boards are made of, surface of the ball, angular rotations placed on the ball artifically (adding more hook or lift ot both) vs the balls natural "RG" factor. Inertia, friction, velocity again all are phsyics factors as well.

The "RG" factor or radius of gyration. Basically speaking this is a measurement of how mass and density of a ball is distributed. Basically, a 10 lb ball with say an Radius of Gyration of 4 will be equal to a 10 lb hollow sphere that has a 4" radius.

Putting it all together into an equation that works for a accurate simulator? Good luck.

Its actually rather amazing. Such a simple sport where a decent bowler can throw a couple balls, adjust a bit and throw a decent game is SO far beyond the realms of "easy" or even "fairly difficult" for a computer to simulate its mind boggling.

Then there are pin physics which are not random either and easily just as complex as the toss of the ball per se.

While a bowling simulator might sound a fairly easy little toy to code up its the exact opposite in a huge way, enormously huge way.

This is why every bowling game ever produced is basically a bunch of jibberish hoo-hah based solely on patterns. Its also why once one gets a hang of one they can beat it just about every time. The only ones in fact that have a true variant of user interaction are the arcade ones with a trackball. The trackball allows the player to at least attempt simulate some release force and angular motion, other than that.... again, its all patterns. The more patterns of ball trajectory vs pin actions they call it "more realistic" when it fact thats complete hogwash. Instead its simply a bit less random, not physics based at all.

Now some have tried other ways... They will use polygonal collision detection to try and simulate ball taking out pins and pins taking out pins... You'll notice these forms never have a pin "spin" and never fall or a pin moved by a miniscule touch of ball to pin or pin to pin. They are not based in physics. A pin hit by a ball where the pin never falls is again, complex physics at work. The Pin also has mass or "coefficient of restitution". When the ball strikes the pin tries to transfer energy to the ball. If that energy is greater than that of the ball impact then the pin does not fall.

There's more! LOL.

A true bowling simulator would require quite the background in many fields to create and be anywhere near accurate. A PHD in physics is a good place to begin. Next would be some expertise in fluid dynamics (stupid oil), particle dynamics as balls, lane surfaces, friction/oil and heat affecting the ball physics... ummm... in real time are factors. To be "accurate" one needs scrap using a math co-processor's floating point mis-abilities and go to accurate binary coded decimal fixed point math and in order for it all to occur in real-time for computation sake forget all about C++, VB or Java etc. The math would need to be done in assembler.

Again... its a relatively simple game in human concept but to a computer its one of the most difficult simulations you could ever consider. More difficult that a flight or racing simulator? Yes and no. Again, most simulators that are "games" are not "101% simulator". They take alot (alot) of shall we say liberty in what is simulated and what is not.

For example. A flight sim will use complex physics but few deal with things such as humidity, air density, thermals, drag coefficients of rain on and on. Simulators that do try and simulate as much of the real world conditions as possible again find ways around "the real world". That is to say they are not by any means simulating it, they are patterning it. So, "rain" or altitude (thining of air and colder air) they pattern out. What is the net effect. Might be ice on the wings added to weight/drag which effects speed, inertia, lift etc.

Point being they are not "simulating" physics... uh uh. They are using patterns that SIMULATE the physics/reactions in a way that is believable to the player.

With something as simple as bowling is in concept to try and accurately deal with the real world physics in real-time no less with the just infintismal amounts of variables real world bowlers enact as they bowl? Its not a "beginners game" to code up.

I'd classify it basically akin with any other complex real world, real time attempt at simulation... If you need to ask these questions about the physics and variables involved then do not even bother to write a line of code. Instead, get the knowledge of understanding the equations and interactions thereof studied and completely understood. Then write code. In fact, dont write a single line of code dealing with any graphics etc... thats all after goose sauce.

Instead you want a simulation of the ball physics, just going to be a spew of numbers coming out from inertia to mass, friction on and on... and understanding what your seeing.

Then a simulation again thats nothing but trajectories of pins upon initial ball impact at any point across the pin deck. This need be done in three dimensional space as again, pins have characteristics, mass, size, shape etc. On impact they can move in any direction or orientation in said 3D space and one needs detect as pins hit other pins and again, transfer energy resulting in changes in trajectory, orientation all confined under the constraints again of gravity, inertia on and on. Then of course there are the issues of "the gutter", a concave element where a pin can get hung up in its trajectory or not, there are of course the sides of the pin deck which depending on pin orientation, trajectory, speed, inertia etc. will cause a measurable physics effect on the pins future trajectory, loss of inertia... Then there are pins bouncing of the bottom of the pin deck.... hmmm...

Once these two simulations are complete we then come to the complex matter being how the ball drives through pins altering the model above as pins are struck by the ball and of course pins striking the ball.

Now we can think about a visual representation of all this.

Again... you have selected an extremely complex item to try to simulate....

Ummm... What was that line in that old Matthew Brodderick movie, "War Games?"...

"Greetings Professor Falken... How about a nice game of chess?"

Much easier item to code.

Share this post


Link to post
Share on other sites
I think that there is quite a gap between writing a simulation for your thesis on computational physics and writing one for fun and learning.

It's like telling Miyamoto that he couldn't make Super Mario Brothers because it would be too complex to predict how Mario jumps. You would have to factor in wind, and what he had for lunch, and how well he stretched, etcetera!

Really, if you don't have anything constructive to add, I don't know why you're bothering to post here.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
I did add constructive information such as the equations for intertia, velocity computation, ball velocity degredation and considerably more. The forum poster stated he/she wanted to create a bowling simulator with realistic physics. That is not an easy task. I do not know of a bowling simulator that actually uses a true physics model, they use patterns, often heaps of patterns but not physics.

Perhaps you should read what the original poster requested before spewing and sounding like you have a clue as to whats being spoken of.

"Realistic physics" means realistic physics. He/she did not say, for "fun". What was said is, "I am trying to create a bowling simulator with realistic physics."

What part of this do you not understand or do you just randonmly hop around threads spewing meaningless jibe that as you say, "Really, if you don't have anything constructive to add, I don't know why you're bothering to post here."

Appears to me that you added nothing constructive so why are you bothering to post here.

Furthermore, Mario Brothers is not a simulator it is an arcade game. I believe the originator of this thread said "simulator" not arcade game. So... before providing more useless comparisons and accusing others of not contributing when you truly are not contributing perhaps its best you attempt to look stupid elsewhere in a thread you can handle my tragic little citizen.

Share this post


Link to post
Share on other sites
I made a simple bowling simulator with the Novodex physics engine. No, I didn't model every last molecule of wood on the lane, but the effects looked quite good. You could get the ball to hook and slice by adjusting the spin on the simple sphere that was the ball, it was kinda neat. I wouldn't recommend it if you wanted to build your first physics engine, because of all the things that would have to be implemented, but if you use a ready made engine it's fairly easy to get going and get a resonable simulation.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!