code: def get_strike(self):
          
          areas = self._get_areas()
          strikes = numpy.array([surf.get_strike() for surf in self.surfaces])
  
          v1 = (numpy.sum(areas * numpy.sin(numpy.radians(strikes))) /
                numpy.sum(areas))
          v2 = (numpy.sum(areas * numpy.cos(numpy.radians(strikes))) /
                numpy.sum(areas))
  
          return numpy.degrees(numpy.arctan2(v1, v2)) % 360
docs: Compute strike of each surface element and return area-weighted average
          value (in range ``[0, 360]``) using formula from:
          http://en.wikipedia.org/wiki/Mean_of_circular_quantities
  
          Note that the original formula has been adapted to compute a weighted
          rather than arithmetic mean.