The answer is going to be in two parts.

**
Answer, part 1:
**

First we need to understand
what we really mean when we say
"a point lies on a plane."
Recall that by convention we
represent a plane P by the row vector [a b c d]
and a point V by the column vector [x y z 1]^{T}.

Representing a plane: | [a b c d] | Representing a point: | / | | \ | x y z 1 | \ | | / |
---|

Now consider what happens when we transform all the vertices of a shape by some matrix M. In that case, every vertex V is replaced by V' = (M • V).

So how then would we transform planes? Clearly we want to transform planes so that they still contain the same vertices. In other words, we want to find P' such that:

But this means that we want P' = (P • M^{-1}),
since then:

P' • V' =

(P • M^{-1}) • (M • V) =

P • (M^{-1}• M) • V =

P • V = 0

**
Answer, part 2:
**

Now consider the surface normal direction vector
N = [n_{x} n_{y} n_{z} 0] at some vertex V.
The three values n_{x},n_{y},n_{z} are really
describing
the three linear components
(the "a b c" parts) of the tangent plane P = [a b c d]
which passes through the surface at vertex V.
Transforming N is simply a matter of transforming
that plane P, and then throwing out its "d" coefficient.
In other words, want N' = N • M^{-1}.

And now we've answered the original question, since:

(M^{-1})^{T}
| • | / | | \ | n_{x}n _{y}n _{z}0 | \ | | / |