need help with my maths

I want to know if a face is visible.

I have the normal at the faces (at the begining) and I only translate along Oz (in global coordinates) or rotate around Ox and Oy (in local coordinates).

I must calcute (view vector).(face normal) but how can I obtain the face normal ?

Thanks for your response and sorry for my bad english.

If you know the vertex’s of the face…
(v1 - v2) . (v3-v2)

i.e. the dotproduct of two of the faces (polygons) edges (vectors).


You can transform your face normals too to global coordinates.

Only the affine part of your transformation matrix should be applied to the normal(upper left 33 part of a 44 matrix).

If you do not use matrices, you should apply only rotation to your normal, around the origin of the global coordinate system.

I’ve just read Gavin’s comment.

I don’t want to criticise him ,
but his method is just not correct.
A dot product returns a scalar not a vector.
You can obtain the normal by calculating


(cross product), but transforming is more efficient(generally).

haha, sorry, and I was only doing it yesterday…
Just been doing angles between vectors and that threw me off…