The problem with light vector interpolation

The following applet shows the problem with interpolation of the light vector in shading models (such as Phong model). The light vector (unit vector from point to L) is computed at vertices A and B. For a point C in between, it is interpolated, which yields the light vector in red. Even after renormalisation, this vector is not necessarily pointing towards L. It is particularly mis-oriented if you bring L close to [AB]. You can also move C on [AB] by moving the E slider.

That Java applet is powered by the excellent free software GeoNext.