title: Collision detection with oddly shaped polygons
body: <p>I am planning to make a program which will have some circular shapes moving inside of a oddly shaped Polygon. </p>
  
  <p>I can't seem to figure out how to do the collision detection with the edges and have the shapes bounce back correctly. </p>
  
  <p>I am sure this problem has been solved before, but I can't find a nice example. </p>
  
  <p>My main problems are:
  Figuring out if the circle has hit the edge of its surrounding polygon. 
  Once a hit occurs calculate the normal of the hit point to figure out the reflection vector. </p>
  
  <p>Can anyone point me in the right direction? </p>
  
  <p>Thanks, Jason </p>