Microetching Ridge Mathematics
The goal of the microetching topography at a location \(R_\mathrm{p}\) is to reflect the light from a light source at \(R_\mathrm{s}\) to an observer at \(R_\mathrm{o}\). This is essentially a focusing problem and this can be treated using either the ray or wave model for light. Mirrors of various shapes can be utilized to focus light. The paraboloid will take a point source and direct it to a point infinitely far away. An ellipsoid will take light from one point and focus it to another. Unfortunately, both of these are three dimensional structures and the micro etching is flat. We must accomplish the slightly more challenging problem of focusing light with a flat object.
If we utilize the ray model we can imagine that for a differential area at \(R_\mathrm{p}\), there could be a planar mirror that would do the job. The direction that this mirror should be facing will be the average of the vectors to the observer and the source. Namely \(V_m = \{v_x, v_y, v_z\} \propto (\frac{R_\mathrm{s}-R_\mathrm{p}}{|R_\mathrm{s}-R_\mathrm{p}|} + \frac{R_\mathrm{o}-R_\mathrm{p}}{|R_\mathrm{o}-R_\mathrm{p}|})\).
Of course the mirror won't be parallel with the plane of the piece and the edges would be protruding out. A long time ago Fresnel tackled a similar problem with the regards to attempting to make light house lenses as flat and light weight as possible. This led to what is now referred to as the Fresnel Lens. Here we utilize a similar concept and create a Fresnel Mirror. We can imagine cutting this mirror in a series of slices along the \(z\) direction and reducing it to a series of planar rectanular shaped facets. In the ray approximation, there can be as many of these stripes as we desire so that they lie very close to being within the plane of the microetching. If this were done for each and every point on the piece, within the ray model, all of the light that hit the piece and was intended to be visible for an observer at location \(R_mathrm{o}\) would be utilized.
If we look at these striped facets as a topography, we could describe them as \(Z(x,y)\) where they could be approximated at a point \(\{x,y\}\) by \(Z(x,y) = \mathrm{saw}(k_x x + k_y y + \phi\). A sawtooth function with properly chosen \(k_x\) and \(k_y\) will create the desired facets, but in practice, it would require "grayscale" lithography and be extremely challenging to pull off over a large scale. Instead, we content ourselves with some periodic function \(f\) that is \(\sin\)-like so that there exists at least some portion of the face with with a normal oriented in the directio of \(\{v_x, v_y, v_z\}\). We can find the normal to the surface described through the gradient operator
$$\nabla(f(k_x x + k_y y + \phi)-z)\\ \{k_x f'(k_x x + k_y y + \phi), k_y f'(k_x x + k_y y + \phi), -1\}$$
and see that if \(f'\) has a suitable range the direction \(V_m\) will be in there somewhere. From this, it follows that \(K = \{k_x, k_y\} \propto \{v_x, v_y\}\). Given the binary nature of lithography, we have found that the second order processing effects for certain periodicities in \(f\) yield better and brighter light scattering than others. In other words we will fix \(|K| = k_0\). Also given the binary nature of lithoghraphy, we depend on various physical processes to create \(f\), but we only get to expose a binary function \(g = \mathrm{boole}(\arg(k_x x + k_y y + \phi)>a)\). This will yield a uniform striped pattern on some small area that when fabricated will scatter light from a source at \(R_\mathrm{s}\) to an observer at \(R_\mathrm{o}\).
However, there is a significant problem with this strategy. We want the stripes from one small region to be aligned with the regions on the \(\{+x,-x,+y,-y\}\) directions. We refer to this as "phase matching" and would be accomplished by properly adjusting \(\phi\) for each point. However, in general it is simply not possible. It is as if we have bought a bunch of staircases, all with the same step height and step width, cut them at odd angles and hoped that we can build something that can easily climbed in all directions. This is heavily related to the concept of a conservative field. The altitude on a topographic map represents a conservative field, and the stripes naturally are derived from that altitude. However, given a list of stripes, one can not necessarily determine a valid altitude. As a trivial example, the stripes might dictate that you are walking continuously uphill even as you return to the same location. Clearly, something must break somewhere.
Much of my work on this strategy has been figuring out how and where to algorithmically hide the places where this mathematically breaks.
An alternative method is to begin with a conservative field and relax our constraints that the periodicity be near \(k_0\). As stated earlier, the shape which focuses light from point to another is an ellipsoid. The definition of an ellipsoid is \(|R_\mathrm{s}-R_\mathrm{e}|+|R_\mathrm{o}-R_\mathrm{e}|=c\). This is essentially the technique of loosely tying a string to two nails put into mathematical terms. From an optics perspective, the surface that is traced out by this function is such the light has equal phase when it follows this path and therefore will add coherently. Or course, the set of all \(R_\mathrm{e}\) (a 3D ellipsoid) will not not be contained in the plane of microetching, however, with judicious choice of \(c\), atleast a single 2D ellipse can be. The family of such ellipses can be found by setting \(z=0\) and varying \(C\). In fact, one can find a conservative field by
$$ c(x,y) = (|R_\mathrm{s}-R_\mathrm{e}|+|R_\mathrm{o}-R_\mathrm{e}|-c_0)_{z=0}$$
and using \(\mathrm{boole}(\mathrm{mod}_{2\pi}(c(x,y))\) from above to generate stripes.
With a bit of work, one can derive that at a point \(R_\mathrm{p}\) the drawn ellipse will be normal to the direction \(K\) and therefore contribute to focusing the light. The challenge becomes how to vary \(c\) so that the periodicity\(K\) between two such ellipses is relatively near \(k_0\). It is mathematically impossible to achieve everywhere along the length of the ellipse however, by judicious choices of \(c_0\) one can find something that works well enough over a small region.
In practice, we do not fill the entire piece (XXX excepted) with stripes designed to focus light from \(R_\mathrm{s}\) is to an observer at \(R_\mathrm{o}\). Rather, the piece is broken up into segments that represent a pair \(R_{\mathrm{s}i}\) is to an observer at \(R_{\mathrm{o},i}\). Through a sequence of observer positions, one can make the piece animate as the observer walks past. On the other hand, through a sequence of light position, one can make the piece appear to animate to an observer standing at the designated location.
The first strategy is far more complicated and computationally taxing, however it yields excellent results to produce smoothly varying animations over a small region. The second strategy works well for large pieces and yields better results on more general shapes.