docs: def triangle_unaddress(fx, tr):
      '''
      triangle_unaddress(FX, tr) yields the point P, inside the reference triangle given by the 
      (3 x d)-sized coordinate matrix FX, that is addressed by the address coordinate tr, which may
      either be a 2-d vector or a (2 x n)-sized matrix.
      '''
      fx = np.asarray(fx)
      tr = np.asarray(tr)
      # the triangle vectors...
      ab = fx[1] - fx[0]
      ac = fx[2] - fx[0]
      bc = fx[2] - fx[1]
      return np.asarray([ax + tr[1]*(abx + tr[0]*bcx) for (ax, bcx, abx) in zip(fx[0], bc, ab)])