Reflection law (from Fermat's principle) for arbitrary surface Normally reflection law is deduced from Fermat's principle (e.g. here) for a planar mirror. Also some other mirror surfaces can be studied (e.g. here they treat a spherical mirror). Is there some article or book where they treat a general smooth surface to deduce that the incident angle of the ray is the same angle as the reflected angle?
If not, could you give me any hint as to how to treat this problem (with geometrical optics)? I appreciate your help.
 A: The overall concept of the proof isn't too difficult, especially if you've studied calculus of variations. If we've already proved the case for a planar mirror, it's not difficult to see that any curved mirror surface can be locally approximated by a planar surface (if you zoomed in far enough, the curved mirror would look flat). The same equal-angle reflection law should hold.
For the same argument stated more formally, to find the path of minimum time (or more correctly, stationary time) in accordance with Fermat's principle, we're interested in a path where first order perturbations to the path yield variations in time that are 0 to the first order (in other words, the derivative of time with respect to some path variable is 0). Thus we can make a first order approximation to the surface without affecting the proof in any dramatic way.
If you're interested in an entirely mathematical proof of the same concept, you can follow mostly the same steps as in proving the case for a planar mirror. Start by choosing an initial point and final point for your ray, and by defining your surface (if you're working in 3 dimensions, this will be a 2 dimensional plane. If you're working in a simplified 2 dimensions, this will be a line). Then you'll want to parameterize your position along your surface (this will need two variables for a plane, or a single variable for position on a line. A convenient variable for the line is path length, especially for a generic curve). Then write out the total time based on the distance between points, take the derivative with respect to your chosen parameter, and set it to 0.
If you follow these steps using generic points and variables, this will yield a relation equivalent to the angles being equal. 
A: Let the ray intersect the surface; at that point erect a plane tangent to the surface, and a ray normal to the tangent plane.  You can do this with any surface - use the gradient operator if you have had vector calculus.
The ray now interacts wrt the tangent plane, and the angles are measured wrt the surface normal - and you can apply Snell's law directly, or the law of reflection.  As you move a finite distance, the ray over will have a different tangent plane and surface normal.
