def METHOD_NAME(self,p):
    p, _ = self.surface.project(p)
    x = p[..., 0]
    y = p[..., 1]
    z = p[..., 2]
    n = np.zeros(p.shape, dtype=np.float)
    n[..., 0] = x
    n[..., 1] = y
    n[..., 2] = z
    val = np.sqrt(np.sum(n**2, axis=-1))
    n[...,0] /= val
    n[...,1] /= val
    n[...,2] /= val
    return n