I want to detect collision between a rectangle and an arrow. What is the best algorithm or method for that?
I tried to implement Separating Axis Theorem but for following case i get collision = true which is wrong.

Also, is an arrow a convex polygon?
Thanks for help.
Regards
An arrow is concave.
The easiest way to do this would probably be to treat the arrow as two separate shapes: a rectangle and a triangle. Checking for a rectangle-to-rectangle collision is pretty easy, and for the triangle (which is convex) you could use whatever code you have for checking against convex polygons. If either returns true for collision, return true; otherwise, return false.
Hopefully that helps.