<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def reorient(self, up, look):
        '''
        Reorient the mesh by specifying two vectors.

        up: The foot-to-head direction.
        look: The direction the body is facing.

        In the result, the up will end up along +y, and look along +z
        (i.e. facing towards a default OpenGL camera).

        '''
        from blmath.geometry.transform import rotation_from_up_and_look
        from blmath.numerics import as_numeric_array

        up = as_numeric_array(up, (3,))
        look = as_numeric_array(look, (3,))

        if self.v is not None:
            self.v = np.dot(rotation_from_up_and_look(up, look), self.v.T).T