Jump to content

  • Log In with Google      Sign In   
  • Create Account


#ActualPrestoChung

Posted 19 October 2013 - 10:42 PM

I am looking for methods that take into account rotation as well as translation for continuous collision detection.

 

My broad phase algorithm uses swept maximal bounding spheres returning a start time when the objects will be within their maximum radius.

I have two ideas how to handle the next phase of collision detection:

1 ignore rotation:
A simplified collision I am considering is to ignore rotation from the beginning of the narrow phase and use a GJK representation to raycast the relative motion of the objects to the origin. This should give an intersection time by a raycast against a convex hull. This method will result in colliding objects to stop rotating for a portion of the time step, and can miss collision due to rotation over the timestep.

2 bisection search:
Doing a bisection search of instantaneous GJK tests at increasingly smaller intervals, presumably down to a fixed size. If a collision is detected then only earlier points in the bisection need be considered (reducing the search space), but to rule out collision completely the full space needs to be searched. This seems fairly expensive and can still miss collisions where the periodicity of motion is between the test points.

 

I have found some indication that dual numbers or dual quaternions + screw theory may have some application but it seems like an advanced topic and so far the only game-related application I have found is in mesh deformation, not collision detection. Screw theory seems promising, but I'm not sure it applies to situations where the axis of rotation is not the same as the axis of translation, or if that is just a sub-set of certain screw motions.

 

Some possible resources:

http://www.seas.upenn.edu/~meam520/notes02/RigidBodyMotion3.pdf

http://link.springer.com/chapter/10.1007%2F978-3-642-16135-3_18

https://www.springer.com/computer/image+processing/book/978-1-4471-2339-2


#1PrestoChung

Posted 19 October 2013 - 10:41 PM

I am looking for methods that take into account rotation as well as translation for continuous collision detection.

The broad phase algorithm uses swept maximal bounding spheres returning a start time when the objects will be within their maximum radius.

I have two ideas how to handle the next phase of collision detection:

1 ignore rotation:
A simplified collision I am considering is to ignore rotation from the beginning of the narrow phase and use a GJK representation to raycast the relative motion of the objects to the origin. This should give an intersection time by a raycast against a convex hull. This method will result in colliding objects to stop rotating for a portion of the time step, and can miss collision due to rotation over the timestep.

2 bisection search:
Doing a bisection search of instantaneous GJK tests at increasingly smaller intervals, presumably down to a fixed size. If a collision is detected then only earlier points in the bisection need be considered (reducing the search space), but to rule out collision completely the full space needs to be searched. This seems fairly expensive and can still miss collisions where the periodicity of motion is between the test points.

 

I have found some indication that dual numbers or dual quaternions + screw theory may have some application but it seems like an advanced topic and so far the only game-related application I have found is in mesh deformation, not collision detection. Screw theory seems promising, but I'm not sure it applies to situations where the axis of rotation is not the same as the axis of translation, or if that is just a sub-set of certain screw motions.

 

Some possible resources:

http://www.seas.upenn.edu/~meam520/notes02/RigidBodyMotion3.pdf

http://link.springer.com/chapter/10.1007%2F978-3-642-16135-3_18

https://www.springer.com/computer/image+processing/book/978-1-4471-2339-2


PARTNERS