Parallel Curves, Evolutes, and Caustics by Adrian Mariano email adrian@u.washington.edu Caustic.m If light is shined from a point source onto a curved mirror, it focuses on a curve called the caustic. The orthotomic is an intermediate curve used to obtain the caustic. If gamma is a parametrized curve, then the orthotomic of gamma relative to the point S is given by 2((gamma - S) . N ) N and the caustic of gamma for the light source at S is the evolute of the orthotomic. Orthotomic[{fx,fy}, {i,j}, t, ] Returns an expression for the orthtomic of {fx,fy} with respect to the point {x,y}. The curve {fx,fy} is specified parametrically in t. The only option is to disable internal simplification via calls to TrigReduce and Simplify with Simplify->False. Caustic[{fx,fy}, {i,j}, t, ] Returns an expression for the caustic of {fx,fy} relative to the light source {i,j}. The only option is to disable internal simplification with Simplify->False. EqnEllipse[a, {i, j}, t] If a caustic is drawn to an ellipse with axes a and 1 from a light source at {i,j}, the caustic may have asymptotes. The roots of this equation of t give the t values for the points at infinity, assuming the parametrization {a Cos[t], Sin[t]}. EqnCircle[i, t] If a caustic is drawn to a unit circle from the point {i,0}, it may have asymptotes. The roots of this equation of t give the t values for the points at infinity, assuming the usual parametrization for the circle. CausticBadEqn[{fx,fy}, {i,j}, t] Given the mirror defined by {fx,fy}, the caustic from {i,j} may have asymtotes. This function returns an equation whose roots are the parameter values for the points at infinity of the specified caustic. EllipseCaustic[a, {i, j}, t] Gives the equation for a caustic to the ellipse {a Cos[t], Sin[t]} from the point {i,j}. CircleCaustic[i_, t_] Gives the equation for the caustic to the unit circle from the point {i,0}. CircleCausticBad[i_] Returns a list of parameter values near which the caustic to the unit circle from {i,0} is not defined. EllipseCausticBad[a, {i, j}] Returns a list of parameter values near which the caustic to the ellipse from {i,j} is not defined. CausticBad[{fx,fy}, {i,j}, {t, tmin, tmax}] Returns the points in {tmin, tmax} which give bad sections of the caustic to {fx,fy} from {i,j}. PlotCircleCaustic[i, plotrange, ] PlotEllipseCaustic[a, {i, j}, plotrange, ] PlotCaustic[{fx,fy}, {i, j}, {t, tmin, tmax}, plotrange, ] Plot the caustic to a unit circle, ellipse, or arbitrary curve. This function will graph the caustics and properly handle asymptotes. For caustics to a circle, the light source is at {i,0}. For arbitrary caustics, the mirror is defined by {fx,fy}, evaluated over the specified range of t. The options are ShowSource->False Normally the light source is displayed as a dot. This can be disabled. DotSize->.015 The default size of the light source dot is .015. This can be changed as desired ShowCurve->False By default, the mirror curve is displayed. This can be disable. Any other options are passed on to Show.