code: def _create_and_rotate_coordinate_arrays(self, x, y, orientation):
          
          # Using this two-liner requires that x increase from left to
          # right and y decrease from left to right; I don't think it
          # can be rewritten in so little code otherwise - but please
          # prove me wrong.
          pattern_y = np.subtract.outer(np.cos(orientation)*y, np.sin(orientation)*x)
          pattern_x = np.add.outer(np.sin(orientation)*y, np.cos(orientation)*x)
          return pattern_x, pattern_y
docs: Create pattern matrices from x and y vectors, and rotate them
          to the specified orientation.