Sorry what I said wasn't clear. I was going from the idea that you can define a rectangle only by two 2d points : one containing the smallest x and y couple, and the other the biggest.
An algorithm to find such bounds in your case would look something like this :
#Supposing that you already have an Array containing all the unprojected positions of the vertices. Let's call him unprojectedVerticesArray (as such he contains only Vector2 variables)
#We initialize the points so that the bounds can't be made of something not in the Array. Initializing them with a Vector2(0,0) might be incorrect
var p1 : Vector2 = unprojectedVerticesArray
var p2 : Vector2 = p1
for i in unprojectedVerticesArray:
p1.x = min(p1.x, unprojectedVerticesArray.x)
p1.y = min(p1.y, unprojectedVerticesArray.y)
p2.x = max(p2.x, unprojectedVerticesArray.x)
p2.y = max(p2.y, unprojectedVerticesArray.y)
Normally in the ends p1 and p2 should define your rectangle correctly. The four points of the rectangle would be (in screen coordinates) (p1.x,p1.y), (p2.x,p1.y), (p2.x,p2.y), (p1.x,p2.y)
Hope it helps a bit more !