code: def get_signed_area(self):
          
          accum = 0.0
          for i in range(len(self.verts)):
              j = (i + 1) % len(self.verts)
              accum += (
                  self.verts[j][0] * self.verts[i][1] -
                  self.verts[i][0] * self.verts[j][1])
          return accum / 2
docs: Return area of a simple (ie. non-self-intersecting) polygon.
          If verts wind anti-clockwise, this returns a negative number.
          Assume y-axis points up.