Identity zones of the "isodynamic map"​
​Author: Dan Reznik​
​Date: April 21, 2021.

Initializations


Introduction

This is a continuation of our work on the "Dynamics of the Circumcenter Map" posted to the Wolfram Community site here : https://community.wolfram.com/groups/-/m/t/2234577
Let's first of all recall what the isodynamic points X(15) and X(16) of a triangle (red) T=ABC are. These are the two unique intersections of the 3 Apollonius circles (dashed below), each of which passes thru a vertex and intersection of the internal and external bisectors with the opposing side. Since the centers Oa,Ob,Oc of said circles are collinear, i.e., the circles are coaxial. X(15) and X(16) are also known as the first and second isodynamic points, respectively. The former (resp. latter) is always interior (resp. exterior) to T’s circumcircle (dashed gray below).
​
For more information on X(15) and X(16), visit: https://faculty.evansville.edu/ck6/encyclopedia/ETC.html and https://mathworld.wolfram.com/IsodynamicPoints.html
​
Now consider a point M either exterior or interior to T=ABC (red), below. Define the “2nd Isodynamic Map” as sending T to a new T’ (green) whose vertices are the X(16) of MAB, MBC, MCA:
We can apply the map once again and send the green triangle to the blue one(s) below:
In the remainder of this post we explore a rather curious property of 3 consecutive applications of this map.

Identity Zones

Without loss of generality, we will consider the starting triangle to be the equilateral T={ {1,0}, {-1/2, z}, {1/2, -z} }, where z =Sqrt[3]/2.
For M placed at a generic location on the plane, iterative applications of the map produce a stream of red, green, blue, etc., triangles which end up converging on M, though this behavior is yet not understood.For example, for M placed on the northweswt quadrant with respect to T:
... or M interior to T :

A striking phenomenon

When M is slid to certain “zones” of the plane, a sequence of 3 applications of the map returns the original triangle again! For example, with M at the position below, under the map the original equilateral is sent to the green, then the green sent to the blue, and then the blue sent *back* to the original equilateral
Using Mathematica’s RegionPlot[] we can compute with great precision the 6 disjoint regions M can be in such that 3 applications of the 2nd isodynamic map is the identity. These are shown light blue below (the 3 tiny regions interior to the equilateral actually produce identity from the 1st to the 4th triangle in the series).

How about the First Isodynamic Point?

Interestingly, the behavior of iterative calls to the 1st isodynamic map (where the X(15) of MAB, MBC, MCA are picked to create subsequent triangles) is rather well-behaved. Recall X(15) is interior to the circumcircle (whereas X(16) is exterior), therefore it produces new triangles that tend to stay near the centroid of the pre-image.

Interactive Manipulate App

Feel free to experiment and visualize iterations of either the 1st or 2nd isodynamic map. The controls are as follows:
- Xk: select whether the X16- (default) or X15-based maps are desired.
- its: use this with care! controls the number of iterations departing from the central (dashed) equilateral
- mx, my: where M should be placed
- constr: whether to show the construction for the last triangle in the iteration
- scale0, tx, ty: globally scales and translates the image
- CTR = {O,M}: centers the scene on either O or M. When centered on M, one can scale the scene to watch the convergence.
Please make sure to include the file “strictPeriodicityX16$14.mx” in the same folder with this notebook for the following code to work

GPU-based real-time computation

While computing the identity zones with Mathematica' s RegionPlot[] produces beautiful results, on my personal desktop visualizing said zones over a dynamic family of triangles is impractical. In particular, as we move away from an equialteral starting triangle, the identity zones change shape, disappear, or reappear.
​
To be able to see this in motion, enter the world of massive GPU parallelism and the amazing GPU.js library. With it we can calculate identity zones over a moving family of triangles at dozens of frames per second!
​
One frame of the GPU-based animation is shown below.The reference triangle T=ABC is bounded by the three red lines. Its two left vertices (A and B) are held stationary while a third (C), slides along a lemniscate (green); this will wildly vary the geometry of T. When C is on the central node of the lemniscate, T becomes equilateral.The real-time computed identity zones are shown blue (salt-and-pepper noise along boundaries is due to 32-bit precision currently available for GPU-based calculations).
For the live animation: https://dan-reznik.github.io/Isodynamic-Map-GPU/​
Our GPU.js project is available here: https://github.com/dan-reznik/Isodynamic-Map-GPU

Open Questions (we welcome help!)

- why does the identity phenomenon not occur for the 1st isodynamic point?
- can the thrice-applied identity of the 2nd-isodynamic map be proved?
- what are expressions for the boundary of the identity zones?
- given the shape of a triangle how many disjoint regions can there be?