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.

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

(v1-v2)x(v3-v2)

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