I implement finding the closest point to origin on tetrahedron. My current approach is getting planes perpendicular to faces through edges and checking signs of oriented distances from origin to these planes:

perpPlane = facePlane · edgeLine

orientedDist = originPoint ∨ perpPlane

Signs of the oriented distances are sufficient to find a closest vertex, edge or face.

Does anyone know, is there a better approach, simpler or with less computations?