'Computes transformed polygon shapes from a shape
according to current position and heading.'

def _polytrafo(self, poly):

    screen = self.screen
    (p0, p1) = self._position
    (e0, e1) = self._orient
    e = Vec2D(e0, ((e1 * screen.yscale) / screen.xscale))
    (e0, e1) = ((1.0 / abs(e)) * e)
    return [((p0 + (((e1 * x) + (e0 * y)) / screen.xscale)), (p1 + ((((- e0) * x) + (e1 * y)) / screen.yscale))) for (x, y) in poly]
