Calculating intersection between particle and polygon

I’m trying to find an elegant solution to the problem of a particle colliding with a polygon.

As you can see from the reference image, the particle has an X and Y velocity, and after applying the translation, the particle will be beyond the furthest polygons. The path the particle took can be represented by the purple line, indicating that it would have to collide with polygon 1, 3 and 4. I’m trying to find a solution that checks the particles movement with only the polygons it could possibly intersect (not polygon 2) and respond properly (bouncing the particle off of polygon 1). I’m looking for an algorithm without a lot of iteration, and I’d be interested in the math behind it as well.

Has this been solved before? Does anyone have any solutions?