# Wolfram Function Repository

Instant-use add-on functions for the Wolfram Language

Function Repository Resource:

Convert a point reflected in a spherical mirror to its spherical anamorphosis map in a plane parallel to the xy-plane

Contributed by:
Erik Mahieu

ResourceFunction["SphericAnamorphosisMap"][{ converts the point {0, |

The anamorphosis map (the point *S*) is in the plane *z*=*h* if *z*_{i}>0 or *z*=-*h* if *z*_{i}<0. The value of *h* must be a positive real number. The sign of *h* is taken to be the sign of *z*_{i}.

The function converts points *I* in the *yz*-plane into anamorphic points *S* in the (*z*=*h*)-plane. The point *I* is the reflection of *S*. The spherical mirror has a radius of 1.

As a result of the symmetry of the sphere related to the three coordinate axes, only the distance of the viewpoint from the center of the mirror is relevant.

As the radius of the mirror is small compared to the viewpoint distance, the latter is taken to be at *x*=Infinity.

The range of the function is Disk[ ] in the *yz*-plane.

The default anamorphosis plane is *z*=±1.

Get the anamorphic map in the plane *z*=2 of a point {-.15,.1} reflected in a spherical mirror:

In[1]:= |

Out[1]= |

Get the anamorphic map in the plane *z*=-2 of a point reflected in a spherical mirror as {-.15,-.1} in the *yz*-plane:

In[2]:= |

Out[2]= |

Points can be combined to form simple designs such as arrows:

In[3]:= |

In[4]:= |

In[5]:= |

This 3D plot shows two arrows reflected in a spherical mirror and their anamorphic maps in the planes *z*=±2:

In[6]:= |

Out[6]= |

A classical example is a deformed anamorphic text message that can be reflected undeformed in a spherical mirror.

Convert a text into a set of point coordinates:

In[7]:= |

After conversion of the point coordinates to their anamorphic map:

In[8]:= |

Out[9]= |

The sign of * z_{i}* determines the sign of

In[10]:= |

Out[10]= |

Points with *z*-coordinates close to the equator *z*=0 have their anamorphosis map approaching infinity and should be avoided:

In[11]:= |

Out[11]= |

- 1.0.0 – 21 December 2020

This work is licensed under a Creative Commons Attribution 4.0 International License