Finding Opposite Position?

How would I go about finding the exact opposite position of a polygon? (I’'ve drawn a polygon and I want the exact same one but flipped on the other side of the screen.)

[lua]
function ReversePoly(polydatatbl)
local centerx = ScrW() * 0.5
local centery = ScrH() * 0.5
local newpolytbl = {}
for index, coords in pairs(polydatatbl) do
local newxpos = centerx - coords
local newypos = centery - coords[y]

	newpolytbl[#newpolytbl+1] = {newxpos, newypos}
end

return newpolytbl

end

– DEMO
local triangle = {
{ x = 100, y = 200 },
{ x = 150, y = 100 },
{ x = 200, y = 200 }
}

local tri2 = ReversePoly(triangle)

hook.Add(“HUDPaint”, “PolygonTest”, function()
surface.SetDrawColor(255, 0, 0)
draw.NoTexture()
surface.DrawPoly(triangle)
surface.DrawPoly(tri2)
end)
[/lua]
untested (setting up srcds :v:)

[editline]value[/editline]

True, updated code

You really shouldn’t be calling “RevesePoly” every frame tho, like seriously.

Have that reverse poly thing print out the new X and Y variables then you should copy those