9
$\begingroup$

I asked this question on MSE here.


Given a scalene triangle $A_1B_1C_1$ , construct a triangle $A_{n+1}B_{n+1}C_{n+1}$ from the triangle $A_nB_nC_n$ where $A_{n+1}$ is the orthocenter of $A_nB_nC_n$, $B_{n+1}$ is the incenter of $A_nB_nC_n$ and $C_{n+1}$ is the centroid of $A_nB_nC_n$, My question is If this process is repeated indefinitely would the sequences $\{A_n\}$, $\{B_n\}$, $\{C_n\} $ converge ?

There are only four possible scenarios:

  1. The points will converge to a point.
  2. The points will eventually stuck on a loop.
  3. The points will completely diverge.
  4. The points will eventually make an isosceles triangle (or equilateral triangle) which will end the sequence.

All of these scenarios would depend on the initial triangle. So given the initial triangle $A_1 B_1 C_1$ how to determine which of the four scenario would happen to the sequences $\{A_n\}$, $\{B_n\}$, $\{C_n\} $?

I tried to draw the first few triangles and see if the point will converge or not.

enter image description here


enter image description here


enter image description here


Graphing the first 25 triangles suggests that the sequence converge.

enter image description here

Here is the graphing the first 30 triangle, If anyone needs them.

If this is true that the three sequences will converge to a point this point will be unique to the triangle, I wonder what extra properties this point have.


Here is a python code that can calculate $A_n, B_n, C_n$

import math

print("Number of Triangles ")
n=int(input() )
m=max(n,50)

from decimal import Decimal
import decimal
decimal.getcontext().prec = m
Decimal(10)**(-m)

# enter your coordinates here----------------------------------------------------------------------------------------
A=[Decimal(0),Decimal(0)]
B=[Decimal(0),Decimal(0)]
C=[Decimal(0),Decimal(0)]

print("Enter the coordinates of A_1")
A[0]=Decimal(float (input() ))
A[1]=Decimal(float (input() ))
print("Enter the coordinates of B_1")
B[0]=Decimal(float (input() ))
B[1]=Decimal(float (input() ))
print("Enter the coordinates of C_1")
C[0]=Decimal(float (input() ))
C[1]=Decimal(float (input() ))

X=[Decimal(0),Decimal(0)]
Y=[Decimal(0),Decimal(0)]
Z=[Decimal(0),Decimal(0)]


#defining some useful functions----------------------------------------------------------------------------------------
def v(a,b):
    result= [b[0]-a[0], b[1]-a[1]]
    return result 
def dis(a,b):
    result =[Decimal(math.sqrt((a[0]-b[0])**2+(a[1]-b[1])**2))]
    return result
def det1(a,b,c):
    result=[Decimal(a[0]*(b[1]-c[1])-a[1]*(b[0]-c[0])+b[0]*c[1]-b[1]*c[0])]
    return result
def det2(a,b,c):
    result=[Decimal(a[1]*((a[0]*c[0]+b[1]**2)-(b[0]*a[0]+c[1]**2))-(b[0]*c[0]+a[1]**2)*(b[1]-c[1])+b[1]*(b[0]*a[0]+c[1]**2)-(a[0]*c[0]+b[1]**2)*c[1])]
    return result
def det3(a,b,c):
    result=[Decimal((b[1]*c[1]+a[0]**2)*(b[0]-c[0])-a[0]*((a[1]*c[1]+b[0]**2)-(b[1]*a[1]+c[0]**2))+(a[1]*c[1]+b[0]**2)*c[0]-b[0]*(b[1]*a[1]+c[0]**2))]
    return result


for i in range (2,n+1):
    AB= dis(A,B)[0]
    BC= dis(B,C)[0]
    CA= dis(C,A)[0]

    #Here to calculate A_n----------------------------------------------------------------------------------------    
    X[0]=(det2(A,B,C)[0])/(det1(A,B,C)[0])
    X[1]=(det3(A,B,C)[0])/(det1(A,B,C)[0])

    #Here to calculate B_n----------------------------------------------------------------------------------------
    Y[0]=(BC*A[0]+CA*B[0]+AB*C[0])/(AB+BC+CA)
    Y[1]=(BC*A[1]+CA*B[1]+AB*C[1])/(AB+BC+CA)

    #Here to calculate C_n----------------------------------------------------------------------------------------
    Z[0]=(A[0]+B[0]+C[0])/(3)
    Z[1]=(A[1]+B[1]+C[1])/(3)

    A[0]=X[0]
    A[1]=X[1]
    B[0]=Y[0]
    B[1]=Y[1]
    C[0]=Z[0]
    C[1]=Z[1]

    print(f"A_{i}= {A}")
    print(f"B_{i}= {B}")
    print(f"C_{i}= {C}")
    print("\n")

It seems that the limit point (assuming it exists) in not in the Encyclopedia of Triangle Centers,

$A_{200}$= (8.6517261735796624259738866329868556565084282680250211296497747096925130468748471270311512731368352997396376217183698044561298843731579912635996830539690878380408962952883253860600049288093494865497599 , 2.6448983193088667221426565924157297722624220231935390980264815214196851480235776604874831322040452866206749638086977011401669267140152803272215053706747629093984074903821689253277924827830127005097490)

the distance between $A_{200} $ and $\overline {B_1C_1}$ (in the triangle 6-9-13) is

0.53607927192029201038720734406762285666375854671162570169736131240500819198707277389944959286896591541232676930403964641142971002571581881565561923735731504211210609184202055267373207796429563740347276

which doesn't exist on this list.

$\endgroup$
18
  • 2
    $\begingroup$ Well, if my simulations are anything to go by, the iterates of $\Phi$ tend to $(0,0,0)$ for triangles of very different shapes (i.e., the triangles converge to a point), in rather interesting ways, and so I will stick my neck out and conjecture that this is the case for any shape. $\endgroup$
    – crow
    Commented May 26 at 15:31
  • 2
    $\begingroup$ @Daniel Asimov It appears to ocillate between approximations to two specific triangles. Again this is based on a few crude simulations so pure speculation. But the dynamics of the iteration proposed by the OP seem to be quite fascinating. $\endgroup$
    – crow
    Commented May 27 at 7:15
  • 1
    $\begingroup$ @PietroMajer It is not defined, in fact if the sequence reached a degenerate triangles starting from a non-degenerate one the sequence will stop as I sated in the point 4 $\endgroup$
    – pie
    Commented May 27 at 13:57
  • 1
    $\begingroup$ This is reminiscent of a kind of “iterated mean” process (see this question on this subject), but in dimension 2 and invariant under Euclidean similitudes rather than in dimension 1. To prove convergence you probably need to rephrase it as a map in the modulus space of triangles, but it is unlikely that the point will have interesting properties, as already the arithmetic-quadratic mean of two real numbers is largely unstudied (as per previously linked question). $\endgroup$
    – Gro-Tsen
    Commented May 27 at 17:33
  • 1
    $\begingroup$ It looks like for a triangle whose side lengths are some values close to $1,0.05730946,0.959413912$, the $9^{\text{th}}$ iteration is an isometric copy of the original triangle but around $5$ times bigger. This means that this triangle would satisfy your scenario $3$: "The points will completely diverge". That said, 1) I am worried about the precision of my geogebra, especially since the 4$^{\text{th}}$ iteration of the triangle I mention is almost degenerate. 2) I'm not even going to try to prove it rigorously $\endgroup$
    – Saúl RM
    Commented Jun 1 at 20:28

1 Answer 1

5
+250
$\begingroup$

Below I give an example of a triangle which seems to grow exponentially when iterating the process from the question (so it satisfies Scenario 3). The example relies on the existence of a fixed point of a function $F^9:\mathcal{T}\to\mathcal{T}$ defined below. Computational evidence suggests that the fixed point exists, but I have not proved it.

Note that to each triangle $T$ you can assign two unique numbers $x,y\in[0,1]$ such that $1\geq y\geq x$ and the sides of the triangle $T$ are in proportion $(1:x:y)$. Let's call the point $(x,y)$ the "shape" of $T$, $S(T)$.

Then the space of shapes of (non-isosceles) triangles is the set $\mathcal{T}:=\{(x,y)\in[0,1]^2;y>x,x+y>1\}$, the interior of an triangle in $\mathbb{R}^2$ of area $\frac{1}{4}$.

Now, for each triangle $T$ denote by $f(T)$ the triangle formed by the orthocenter, incenter and centroid of $T$. And define a map $F:\mathcal{T}\to\mathcal{T}$ by $F(S(T))=S(f(T))$ (actually, $F$ is not defined in the entire $\mathcal{T}$).

After observing the behaviour of the map $F^n:\mathcal{T}\to\mathcal{T}$ for big $n$, it seems that for almost all $S\in\mathcal{T}$, the sequence $S,F(S),F^2(S),\dots$ will converge to a point which I will call $P_0$, approximately $(0.31720,0.85873)$. However, convergence is very slow. In the big figure below, I start with a point $A\in\mathcal{T}$ and denote $A_n=F^{n-1}(A)$ for $n=2,3,4,5,11,21,31,41,51,81,141$. $A_{141}$ is already close to $P_0$. In the small figure, I chose an initial point $A$ much closer to $P_0$.

enter image description here enter image description here

I have not tried to prove that $P_0$ is a stable fixed point of the dynamical system $F:\mathcal{T}\to\mathcal{T}$.

Now, the interesting thing would be finding triangles which satisfy Scenario $3$ (or $2$, but such a triangle seems unlikely to exist) from the question: the iterates of the triangle $T$ diverge. There is a simple way to do that: we just need to find a point $S=S(T)\in\mathcal{T}$ such that $S=F^n(S)$, for some $n$, and such that $f^n(T)$ is bigger in size than $T$. Then the triangles $T,f(T),f^2(T),\dots$ will get exponentially bigger with time.

Thus, the question becomes about finding fixed points of powers of the map $F:\mathcal{T}\to\mathcal{T}$. For most fixed points $S=F^n(S)$, we have that $f^n(T)$ is smaller than $T$, so they are no use. But it seems there is a point $P$ near $(0.05730946, 0.959413912)$ such that $P=F^9(P)$ and such that, if $T$ is a triangle with $S(T)=P$, then $f^9(T)$ is around $5$ times bigger than $T$.

One could possibly prove the existence of the fixed point $P$ by studying the derivative of $F^9$ near $P$, but that is easier said than done. Below I leave a picture of the triangle $T$ (small, black, two of its vertices are $(0,0)$ and $(1,0)$) and its ninth iterate (brown).

enter image description here

$\endgroup$
6
  • $\begingroup$ How did you compute $A_{141}$? $\endgroup$
    – pie
    Commented Jun 3 at 0:51
  • 1
    $\begingroup$ I made a geogebra tool to compute the function $F(p)$ for any point $p$, then another geogebra tool that computes $F^{10}(p)$ and applied it $14$ times. Surely inefficient, but surprisingly geogebra can handle it well. If you want I can send you the files (my email is in my profile) $\endgroup$
    – Saúl RM
    Commented Jun 3 at 2:26
  • 1
    $\begingroup$ Have you tried to find $F(p)$ explicitly as a function of $p$? It may be feasible to show that $F()$ is one to one and either strictly expanding or strictly contracting in some neighborhood of your fixed point, and that would ensure its existence. $\endgroup$ Commented Jun 4 at 5:39
  • $\begingroup$ I considered trying that, but look at the small image, where $d(A,P_0)<10^{-4}$. I am pretty sure $F$ will not be contractible near $P_0$. In any case there is no harm checking whether the eigenvalues of the derivative are $<1$ in norm near $P_0$, I will try using software to do that. But if so they have to be really close to $1$ $\endgroup$
    – Saúl RM
    Commented Jun 4 at 11:15
  • $\begingroup$ I just tried and it seems the function $F$ is too complicated for my matlab to process (it gave me an error, maybe I made some mistake in the process). If someone can compute it they are welcome to try though, I am curious about whether $DF$ has eigenvalues of norm $<1$ near $P_0$ or they have norm $1$ $\endgroup$
    – Saúl RM
    Commented Jun 4 at 12:34