docs: def point_in_segment(ac, b):
      '''
      point_in_segment((a,b), c) yields True if point x is in segment (a,b) and False otherwise. Note
      that this differs from point_on_segment in that a point that if c is equal to a or b it is
      considered 'on' but not 'in' the segment.
      '''
      (a,c) = ac
      abc = [np.asarray(u) for u in (a,b,c)]
      if any(len(u.shape) > 1 for u in abc): (a,b,c) = [np.reshape(u,(len(u),-1)) for u in abc]
      else:                                  (a,b,c) = abc
      vab = b - a
      vbc = c - b
      vac = c - a
      dab = np.sqrt(np.sum(vab**2, axis=0))
      dbc = np.sqrt(np.sum(vbc**2, axis=0))
      dac = np.sqrt(np.sum(vac**2, axis=0))
      return np.isclose(dab + dbc, dac) & ~np.isclose(dac,dab) & ~np.isclose(dac,dbc)