Non linear modelling of the deflectometry problem
1. Why nonlinear?
As it is presented in Appendix , the goal of the project is to compute for each pixel of the camera the position of a shiny object.
Contrary to triangulation methods where a matt object is observed, a shiny object can’t be seen because it reflects the incoming light.
Therefore a pattern is placed in the camera field so as to be seen by reflection on the object.
The knowledge of the SneelDescartes law and the position of incident and reflected raws gives the following relation for each point on the surface :
\frac{\overrightarrow{V_r}}{\\overrightarrow{V_r}\} + \frac{\overrightarrow{V_i}}{\\overrightarrow{V_i}\} = \overrightarrow{n} where \overrightarrow{n} is a normal vector to the surface.
Our surface is viewed by the camera, if we called (u,v) the coordinates of a point of the image plane, then we can associate the function that parametrize the surface p(u,v) :\mathbb{R^2} \rightarrow \mathbb{R^3} where m(u,v) = \vec{OM} where M is the position of the point in the camera referential for instance if O is its origin.
A normal vector to the surface at any point P can be written as follows:
\vec{N(u,v)} = \frac{\partial p(u,v)}{\partial u} \wedge \frac{\partial p(u,v)}{\partial v}
Since \vec{V_i} and \vec{V_r} depends only on the location some points of points we have two ways to calculate a normal vector of the surface.
2. Telecentric model
In order to develop the equations we will use the geometry obtains by the use of a telecentric lens.
Basically a telecentric lens is a lens that contrary to etnocentric lens( which are the most common in imaging) collects all the parrallel incoming rays. By consequences the image of an object do not depends on its distance from the lens.
For any points on the sensor is associated a point in an image plane that is located in an image plane. The relation between the sensor plane and the image plane is only the magnification.
Then for each point (u,v) we can write:

\vec{V_r(u,v)} = \vec{V_r} and choose \vec{V_r} so that \\vec{V_r}\ = 1

\vec{IP} = \lambda(u,v)\vec{V_r}

\vec{V_i(u,v)} = \vec{PM(u,v)} = \vec{PI(u,v)} + \vec{IM(u,v)} where:

\vec{PI} = \lambda(u,v)\vec{V_r}

\vec{IM} = \lambda(u,v)\vec{V_r}

The constraints due to the location of the surface points on a ray change the problem the goals is not only