Jump to content

  • Log In with Google      Sign In   
  • Create Account


Does this type of collision phyisics have a name?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
9 replies to this topic

#1 Lemunde   Members   -  Reputation: 128

Like
0Likes
Like

Posted 23 March 2014 - 01:22 AM

For years I've been using a collision system that involves each object having a radius and checking if the distance between the two objects is less than the sum of the two radiuses(radi?). Essentially it uses circles instead of boxes for collision checking. It works rather well for 2d space sims and any game that uses a top-down view. But I don't know if it's a common technique and if it is I'd like to know what it's called.

 

Also are there any significant drawbacks to using a system like this?



Sponsor:

#2 Hodgman   Moderators   -  Reputation: 29400

Like
5Likes
Like

Posted 23 March 2014 - 01:57 AM

Bounding-circles (or bounding-spheres in 3D). It's actually really commonly used even in more complex schemes as an initial test, because it's so simple/cheap.
e.g. Bounding-sphere test everything first, then do a more complex/accurate test on the ones that passed the sphere test.

#3 BarrySkellern   Members   -  Reputation: 667

Like
1Likes
Like

Posted 23 March 2014 - 04:05 AM

As for drawbacks, the main problem is that a circle is not necessarily a close enough representation of your object. For a long thin object the bounding sphere will contain a huge amount of empty space. That will lead to a lot of false positives in intersection tests. An axis aligned or oriented box is a tighter fit in many cases.

Whether circles are good enough for your circumstances, well, that of course has more to do with your circumstances than the circles.

Edited by BarrySkellern, 23 March 2014 - 04:06 AM.

Visit http://www.mugsgames.com - Just released: Stroids, a retro style mini-game for Windows PC.

Mugs Games on Twitter: @MugsGames and Facebook: www.facebook.com/mugsgames

Me on Twitter @BarrySkellern

 


#4 IceCave   Members   -  Reputation: 159

Like
0Likes
Like

Posted 23 March 2014 - 04:37 AM

In addition (or more likely substraction) to BarrySkellerns post you can make those bounding-"circles" fitting more closely by calculating them to ellipses using matrices, as long as you are having basic understanding how matrices work and use them of course.

 

For games where you have to cheat, whenever a player is unlikely to see the trick, they are even precise enough for most collision detections whenever the player can't see the difference.

 

There is no actual general drawback of this method to others.


Edited by IceCave, 23 March 2014 - 04:38 AM.


#5 Lemunde   Members   -  Reputation: 128

Like
0Likes
Like

Posted 23 March 2014 - 06:06 AM

Thanks for the responses. I might play around with the elipse idea later. Honestly the idea already occurred to me but I haven't really felt the need to put the time into implementing it. Getting all my objects to bounce off eachother properly is hard enough without adding shape variations into the mix.



#6 BGB   Crossbones+   -  Reputation: 1554

Like
5Likes
Like

Posted 23 March 2014 - 11:14 AM

As for drawbacks, the main problem is that a circle is not necessarily a close enough representation of your object. For a long thin object the bounding sphere will contain a huge amount of empty space. That will lead to a lot of false positives in intersection tests. An axis aligned or oriented box is a tighter fit in many cases.

Whether circles are good enough for your circumstances, well, that of course has more to do with your circumstances than the circles.

 

it also depends on whether or not you need to deal with objects which may have an arbitrary rotation.

with a circle or sphere, no matter how the object is rotated, it will fit within the existing space.

 

 

if you have to make an axis-aligned bounding box (AABB) over every possible rotation, generally it will involve more empty space than the sphere, though bounding box is generally more accurate if bounding a particular rotation.

 

though, for oriented bounding boxes (OBB), these are often a tighter fit, but collision checks are more expensive.

likewise for convex polyhedra (where the object is bounded by a collection of bounding planes, or the 2D equivalent being a polygon).

 

so, generally, if using a more expensive solid-type (like an OBB or polyhedra), it may still make sense to use sphere checks first to eliminate impossible collisions early.

 

likewise, they may have other uses, like a sphere traveling through space is simpler to bound accurately than an AABB, and may also have advantages for certain other cases, like when trying to find the initial collision point for fast-moving objects, ...



#7 ferrous   Members   -  Reputation: 1918

Like
0Likes
Like

Posted 24 March 2014 - 12:14 PM

A good example of the limitations of sphere/circle tests for me is the old wing commander games.  They had simple sphere checks, and because of that anytime you got near a large ship you would suddenly collide with it, even if you were actually way above it.  Contrast that with the first X-wing game, which had a more complicated check, and suddenly you could fly in between the shield generators on a Star Destroyer, and it was amazing at the time.



#8 Lemunde   Members   -  Reputation: 128

Like
1Likes
Like

Posted 25 March 2014 - 03:33 AM

Well I definitely wouldn't use it for large, complex objects, especially in a 3d space sim. The engine I'm working on uses circle collision for game objects and circle-line collision for game objects interacting with static objects like walls and such.

 

I don't really have a hard time coding more complex collision systems, but the problems arise when I want to apply physics to those collisions. At that point I'm pretty much coding my own version of Box 2d which would be an extreme amount of work. With circle collisions I can simply limit the physics system to billiard physics, allowing for realistic physics at the cost of collision accuracy. It's a trade off I'm happy with.



#9 Eklipse   Members   -  Reputation: 149

Like
0Likes
Like

Posted 26 March 2014 - 02:49 PM

There are also systems that use a hierarchy of spheres to more tightly represent the object. So the parent level is a large encompassing sphere but then the children are smaller and more of them etc. It can be taken to the level desired to get the fit required. But at some point the multiple sphere intersections will become slower.

 

I am assuming you are using the squared distance for comparison as well.



#10 Lemunde   Members   -  Reputation: 128

Like
0Likes
Like

Posted 27 March 2014 - 12:35 AM

There are also systems that use a hierarchy of spheres to more tightly represent the object. So the parent level is a large encompassing sphere but then the children are smaller and more of them etc. It can be taken to the level desired to get the fit required. But at some point the multiple sphere intersections will become slower.

 

I am assuming you are using the squared distance for comparison as well.

 

I'm not, actually. Is that supposed to do something?






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS