Home Articles Other Contact

Schwarzian Reflection

< Previous

3 / 27 / 23

Next >

7 min read

TLDR (click to show/hide)

Mirrors are cool and relatively easy to represent mathematically, at least when they're flat... What happens if you want to represent a reflection across any shape other than a line/plane though? It turns out we can turn to some complex analysis with something called a Schwartz function which lets us find some explicit solutions for reflections across all sorts of interesting curves.

At some point, back in a geometry class in middle or high school, we all learned how to reflect points across lines. We just need to find the line perpendicular to the one we're wanting to reflect across passing through the point we want to reflect, and then get the point the same distance down the line on the other side.

This isn't terribly hard, but what does it look like to reflect a point across an arbitrary curve instead? What about closed shapes like ellipses? It seems clear that our reflected point should still be along the line orthogonal to the curve, but how far should it be reflected? How would we calculate this? Let's first remind ourselves of a bit a complex analysis before looking at the answer to these questions.

Background

Schwarz Function for an Analytic Arc

Suppose we have an arc C in the plane given by F(x,y)=0. We can rewrite this curve in conjugate coordinates as per the section above as F(x,y)=F(z+2, z-2i)=g(z,)=0.

Now suppose that g(z,) is an analytic function. For a point z0 on the curve C, if we have that g|z00, then we can solve for uniquely using the Implicit Function Theorem to get =S(z). The theorem tells us that S(z) is regular and analytic in a neighborhood of z0. If all points along C are regular points (ie. they hold the property that their derivative with respect to is nonzero), we can define S(z) in an entire strip-like region around the curve.

Neighborhood of C for which S(z) is defined. Figure credit to Philip J Davis.

This tells us that for any regular curve, we can find a unique function that maps points on the curve to their conjugate value. But how does S act on points in the neighborhood surrounding our curve? We explore this in the next section.

Schwarzian Reflection

A curve C given by:

{ x=f1(t) y=f2(t)   where   0t1 and z(t)=f1(t)+if2(t)=f(t)

is a simple analytic arc if:

For a point t0[0,1], the function f(t) is analytic in some circle |t-t0|λ(t0), and since f has nonzero derivative as per our assumptions, it maps a sub-circle |t-t0|λ1λ(t0) one-to-one conformally onto a region Rz0 containing z0=f(t0). Therefore, any z Rz0 is the image of a unique t.

Now, if we consider z*=f1(t¯ )+if2(t¯), we see that it is the Schwarz reflection of z in C where reflection is given by the sequence zt t¯z* as depicted in the figure below.

Sequence of transformations that identify C with the x-axis, conjugate the point t, and return to a reflected point across the curve. Figure credit to Philip J Davis.

We can relate z* back to the Schwarz function by noting that *=f1(t)- if2(t) since fi are real-valued analytic functions and fi( t¯)=fi(t). From there, we can deduce that:

x=f1(t)=z+*2, y=f2(t)=z-*2i F(z+2, z-2i)=g(z,)=0 *=S(z) z*=S(z)

So the Schwarzian reflection is the complex conjugate of the Schwarz function! With this exciting connection, we can finally move on to a more interactive example in the next section.

Example

The Schwarz function of a circle centered at z0 with radius r is given by S(z)=r2 z-z0+0. For any set of points within a neighborhood of the circle, such as the parametrized ellipse below, we can pass them through the Schwarz function, take the complex conjugate, and get the reflected points in the circle.


An ellipse's reflection across a circle. Try moving the highlighted points around to change the shape of the ellipse and the location of the circle.

Resources