Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Hybrid666

tennis ball spin

This topic is 5274 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

iv been looking around for ages, and apart from a load of mathematical equations and people saying "ooooo its very complicated" i cant find anything about implementing spin into a tennis ball simulation. im just looking for some decent advice on the subject, and some helpful links, cos im very stuck best i managed was to download a copule of open source billiard games, but one was german, and the other seemed dutch so didnt help much anyone got any suggestions/advice/help ? cheers in advance, Hybrid

Share this post


Link to post
Share on other sites
Advertisement
For tennisball rotation the vector perpendicular to the racket is the racket normal. A substitude is created when the player does not move the racket in the direction of that normal, when you have a substitude like this:

_
| /| force vector
|/
|-> normal
|

^ substitude vector
|
|
|
|

I don't know any formulas for converting a force to rotation but i don't think that's too hard, something like this will do (maybe a bit more complicated):
r=ball rotation in degrees per second
v=racket velocity (of the substitude vector) in units per second
o=outline of the ball

r=v*(360/o)

Right?

EDIT: source tag for fixed width font

[edited by - Tree Penguin on June 2, 2004 10:58:07 AM]

Share this post


Link to post
Share on other sites
There appear to be 3 parts to this which alter a son-spin sim (!):

1)Interaction of spinning ball with the air ie curving.
2)Interaction of spinning ball with ground.
3)Interaction of spinning ball with Racket.
And possibly
4)Interaction of spinning ball with top edge of net.

1) is the main one I should think, followed by 2) and 3) - I don't recall a spinning ball acting differntly when hit apart from maybe when sliced.
There's also the factor of how the ball gets spin in the first place. This could simply be modelled by directing the force on the ball when hits ground/racket to the point which hits first.
Treat the ball hitting ground/racket as an instantaneous reaction and the spin it has can affect the resultant trajectory.
How spin makes the ball curve requires some aerodynamics.

To do properly with deformation of ball is very hard but a simple sim should be attainable bit a bit of fudging some coefficients

[edited by - d000hg on June 4, 2004 8:15:25 AM]

Share this post


Link to post
Share on other sites
There are two kinds of spin: topspin and backspin.

Topspin is where the top of the ball is spinning in the same direction as it''s moving (forwards). Topspin does a couple things:
It causes the ball to fly much lower than it normally would. This is due to pressure differences on the top and bottom of the ball. It will fall much quicker.
When the ball contacts with the ground, it will actually accelerate, shooting forwards. This is due to the frictional force exerted by the spinning of the ball.

Backspin is created by "slicing" the ball. This is nearly always done from backhand shots only, as it''s rather difficult to do forehanded. The ball tends to fly much higher and fall slower. It also slows down on contact with the ground. An especially strong backspin can actually cause a 60mph ball to hit the ground and stop dead, just bouncing up and down. I''ve occasionally seen the ball reverse direction, but this is not common and you have to hit the ball kind of slow and high for this to work. It''s not done in pro tennis generally.

I don''t the mathematics involved in simulating this, though. You might be able to cobble some sort of approximation up. I''m a tennis player I don''t how to code it.

Share this post


Link to post
Share on other sites
As I tennis player I can tell you it is possible to add a very crooked top or back spin that makes the ball seem as though it is going sideways. It might as well be a 3rd kind of spin.

Share this post


Link to post
Share on other sites
cheers for the help, but i know about the various factors, i.e. air,ground,racket, u can figure that out by watching a game of tennis and having never even used a computer.

im looking for some advice on the actual physics involved, not just a list of buzzwords like back spin etc, and any tutorials/sites that cover the topic.



cheers,
Hybrid

ps. any1 have a copy of the Topspin (Xbox) source code handy?

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Maybe you can you just use rigid body code with a lot of friction for contacts (soft body must be more accurate but also more difficult to code). For the trajectory in the air I have no idea of the exact way to do it but after reading this topic it seams possible to simulate it by adding a force hortogonal to the rotation axis and to the velocity vector, the intensity beeing calculated with the angular velocity (maybe a factor could the trick ...). I would appreciate if you tell us if you manage to make it behave realistically.

Hope this helps ...

Share this post


Link to post
Share on other sites
If we assume the ball can only spin perpendicular to diection of travel ie top/back-spin, then if you CrossProduct the spin axis and movement direction, spin will exert a force along this line either positive/negative depending on top/back-spin and your coordinate system choice.

Share this post


Link to post
Share on other sites
OReily has a book called "Math and Physics for game developers"

[edited by grhodes_at_work to remove reference to possible illegal copy of book]

[edited by - grhodes_at_work on June 7, 2004 1:09:13 PM]

Share this post


Link to post
Share on other sites
quote:
Original post by d000hg
If we assume the ball can only spin perpendicular to diection of travel ie top/back-spin, then if you CrossProduct the spin axis and movement direction, spin will exert a force along this line either positive/negative depending on top/back-spin and your coordinate system choice.


In fact you need sidespin for serving but I think generally crossing spin-axis with velocity gives a good direction to apply ''spin-force'' to.

Share this post


Link to post
Share on other sites

  • 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!