Collision Response
- time: backup to point of collision or deal with it at next time step?
- kinematic or dynamic response?
- rigid objects or flexible objects?
- need to calculate normal of contact surface
- if point- or edge-plane contact: normal to plane
- if edge-edge contact: cross product of edges
- if point-point or point-edge: ignore contact
Common approaches to rigid object collisions
- Kinematic Response
- Move to surface being penetrated
- Negate motion component (normal to contact surface) that violates penetration constraint.
- for 'bounce' negate velocity component that is normal to contact surface
- Dynamic penalty
- Add force (e.g. spring) to penalize penetration (i.e., restore non-penetration)
- Can introduce stiff equations, and therefore small time steps, into simulation
- Need to set force so that penetration is eliminated after just a couple of frames but not over react so as to introduce large amounts of energy into the system
- Impluse force
- Assume response of collision is that separating velocity, Vs, is some fraction of normal component of collision velocity: Vs = e*Vn
- Vs is a function of linear velocity and rotational velocity
- compute normal force at contact point of rigid object such that linear velocity and rotational velocity equal Vs
If flexible object, move point/edge to contact surface and compute force on deformable object.