How do you do: Collision Detection with Angular Velocity?,
Members - Reputation: 122
Posted 30 August 2001 - 01:46 PM
Members - Reputation: 351
Posted 31 August 2001 - 03:02 AM
here for links to info on V-Clip, other systems and related resources.
Once you have this you can use backtracking and interpolation to determine the precise point and time of collision: when you detect two overlapping objects rewind to the previous calculation step and see where the objects are cloest and how close they are. Interpolate between this seperation distance and the penetration distance to find out when they hit, then work out the positions at this time to find out where.
Angular velocity comes into resolving the collision in two ways. First the angular velocity adds (or subtracts) from the collision velocity, with the velocity of the collsion point being
v + r ^ w
where v is the object velocity, r the position of the colision point relative to the object centre and w the angular velocity about this centre.
Angular velocity also needs to be considered when calculating the collision results: for each object the impulse of the collision adds to both the rotatational and linear velocity, using formulae
v = v + J/m
w = w + I^-1 (r ^ J)
J = impulse, I = moment of inertia tensor (inverted here), m = mass, v r & w as before.