Jump to content
  • Advertisement
Sign in to follow this  
51mon

How to simulate a "small" rigid sphere that collides with an elastic surface?

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

Hi
I'm about to model a tennis net for a sports game. As the first iteration I was thinking of simulate the movement of the net with cloth simulation and Verlet integration. When the ball touches the net the vertices will be pushed to the outer edge of the ball accordingly. So I think I got the animation of the net sorted.

But I'm not entirely sure how to simulate the interaction between the ball and the net. The ball must bounce against the net. Maybe I can model the net as a rubber membrane? What I'm looking for is a method to simulate a "small" rigid sphere that collides with an elastic surface. Does anybody know of some method I can use?


Thanks

Share this post


Link to post
Share on other sites
Advertisement
Well, if you can animate the net as you say, then you could simply calculate a spring force from the offsets of the net's vertices.
Simply SprinfForceFromVertice = VerticeOffset*STIFFNESS; Or something like that. Maybe you could fake it just by the distance between the original position, and the altered position. Then sum up all the forces from the deforming vertices and apply it to the ball.
You can do it accurately, or just do something that looks good.

Share this post


Link to post
Share on other sites

Well, if you can animate the net as you say, then you could simply calculate a spring force from the offsets of the net's vertices.
Simply SprinfForceFromVertice = VerticeOffset*STIFFNESS; Or something like that. Maybe you could fake it just by the distance between the original position, and the altered position. Then sum up all the forces from the deforming vertices and apply it to the ball.
You can do it accurately, or just do something that looks good.


I was thinking along the same lines you suggest before. There would be problem if other forces than the ball worked on the net however, such as weather and gravity; and there would also be inaccuracies if the ball clipped the net and still moved when ball-net interacted for the second time. Also in the method I'm using only the external forces are known explicitly. The internal forces are modelled implicitly as springs between the vertices and computed as offset of the vertex position. Further the movement of the mesh is propagated between neighbours over many frames. Therefore my plan was to simulate the ball movement as "a sphere colliding with an elastic surface" and feed the Verlet integration with the balls position.

I fully agrees that a simple system that looks good is something beneficial :-)

Share this post


Link to post
Share on other sites
"There would be problem if other forces than the ball worked on the net however, such as weather and gravity; and there would also be"

"I fully agrees that a simple system that looks good is something beneficial :-)"

contradiction....

Is the net the most important feature in your application? I guess not... So weather? gravity? Well, you know what you are doing.....

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!