Is there any sure fire way to find the plane which a 3D face ( defined by points $P_1$, $P_2$, $P_3$, $P_n$) is lying on? One might be tempted to say that obtain the following orthonormal vectors
would do the job, but the problem is that $P_1$, $P_2$ and $P_3$ may all lie on a single line and hence the above vectors are not useful.
Of course one can always loop through all the points until one finds two different sets of orthonormal vectors, but it is messy and subjected to numerical error when implemented on a computer.
Is there any other more elegant, sure fire way of finding the 3D plane on which the 3D face is lying on?