Нормаль грани равна перекрестному произведению между векторами двух соединительных ребер всех ребер, смежных с гранью.
Пусть a, b и c будут позиционными векторами 3 из 4 точек вокруг грани:
//edge a<->b<br>
Vector3f ab = b-a;</p>
<p>//edge b<->c<br>
Vector3f bc = c-b;</p>
<p>//normal of the face<br>
Vector3f normal = Vector3.cross_product(ab,bc);
Если вы не знаете, каково перекрестное произведение между двумя трехмерными векторами, вы можете посмотреть здесь: http://en.wikipedia.org/wiki/Cross_product