Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

I Generalizing collision normal between two arbitrary shapes

  1. Jun 14, 2016 #1
    I am working on a physics engine, and I have a question about the collision normal. There are a lot of different ways people say to calculate this, perpendicular to the collision angle, perpendicular to the edge of body 'B', etc. I was wondering if it would be okay to assume the collision normal is always [1,0]. If that is not okay, is this:
    • vector = distance(A.Center, B.Center)
    • angle = atan2(vector.Y, vector.X) + PI / 2
    • normal = [cos(angle), sin(angle)]
     
  2. jcsd
  3. Jun 17, 2016 #2

    haruspex

    User Avatar
    Science Advisor
    Homework Helper
    Gold Member
    2016 Award

    Not sure how you are defining collision normal, but basing it on the line joining the mass centres does not sound right.
    First, there is the question of the tangent plane at the point of contact. The normal to that could be considered a collision normal.
    Next, there is the relative velocity. The direction of that vector is also relevant.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted