0
$\begingroup$

I was bored and started thinking of fractals and decided I scribbled what I thought could be one.

$$a_{i+1} = (a_i - b_i) / c_i $$ $$b_{i+1} = (b_i - c_i) / a_i $$ $$c_{i+1} = (c_i - a_i) / b_i $$

I was just wondering if there was any information on this or what type of fractal this could be? I like the look of each layer as it develops.

I inputted into a vba program and got this as one of the layers of this fractal.

enter image description here

Red lines show are where the function at one point gave a div by zero error everywhere else is roughly how fast it goes to infinity.

For those who have excel and know how to use its code here is the code I wrote to generate this. Just note not to run this with any conditional formatting it will slow to a crawl and never complete.

Sub main()
    Application.EnableEvents = False
    Application.DisplayAlerts = False
    Dim x, y, z As Double
    For x = -100 To 100
        For y = -100 To 100
            For z = -100 To 100
                SpeedToInfinity = Itterate(x / 100, y / 100, z / 100)
                ThisWorkbook.Worksheets(1).Cells(y + 101, z + 101) = SpeedToInfinity
                DoEvents
            Next
        Next
        abc = 1 ' set a break point here.
    Next

    Application.EnableEvents = True
    Application.DisplayAlerts = True

End Sub

Function Itterate(a As Double, b As Double, c As Double)
    Dim newA, newB, newC As Double
    Dim counter, counterMax As Integer

    counterMax = 200

    On Error GoTo ErrorHit
    For counter = 0 To counterMax
        newA = (a - b) / c
        newB = (b - c) / a
        newC = (c - a) / b
        a = newA
        b = newB
        c = newC

    Next
ErrorHit:
        Select Case Err.Number
            Case 11: 'div by zero
                counter = counter * -1
            Case 0:
        End Select
    Itterate = counter
End Function
$\endgroup$
  • 1
    $\begingroup$ I'm a little confused. First off, while the term fractal does not have a generally agreed upon definition in mathematics, every notion of fractal with which I am familiar refers to a set. What is the set you are defining? It looks like, perhaps, it is attracting set set of a discrete time dynamical system? Second, I am not sure that I follow your code. It looks like you take $(a_0,b_0,c_0)$ to be a point in $\mathbb{R}^3$, then iterate, looking at how fast the iterates diverge to infinity (or not?). Is this correct? $\endgroup$ – Xander Henderson Feb 13 at 1:39
  • $\begingroup$ Then I'm happy to be corrected. Yes I am taking every point (-1 to 1 with steps of 0.01) in R^3 space and seeing how fast they go to infinity. I did the same thing when I was coding the Mendelbrot set just my iterate function was a little more complex. $\endgroup$ – Tolure Feb 13 at 1:44
  • 1
    $\begingroup$ Note that only the direction of the $(a b c)$ vector matters, as a common factor will be eliminated after the first iteration. So it is convenient to consider the points on the unit sphere, using an appropriate projection to 2D. I used stereographic projection here: shadertoy.com/view/3s23DV $\endgroup$ – Claude Feb 13 at 7:09
  • $\begingroup$ Very nice. Thank you for doing so, it looks great. $\endgroup$ – Tolure Feb 13 at 8:00
  • $\begingroup$ @Claude could you explain a little more about how a common factor will get eliminated after the first iteration? $\endgroup$ – Tolure Feb 15 at 5:55
1
$\begingroup$

Note that only the direction of the $(a b c)$ vector matters, as a common factor will be eliminated after each iteration:

$$\begin{pmatrix} a \\ b \\ c \end{pmatrix} := \begin{pmatrix} (a - b) / c \\ (b - c) / a \\ (c - a) / b \end{pmatrix} = \begin{pmatrix} (ka - kb) / kc \\ (kb - kc) / ka \\ (kc - ka) / kb \end{pmatrix}, \forall k \not= 0$$

So it is convenient to consider the starting points on the unit sphere, using an appropriate projection to 2D. I used stereographic projection here: https://shadertoy.com/view/3s23DV

screenshot of shadertoy output

The darkest lines on the edges of an octahedron correspond to division by zero at the first iteration. Then there are slightly less dark lines for division by zero at subsequent iterations.

You can hopefully see the structure has a 3-fold rotational symmetry about an axis with poles at near-center bottom left and top right of the image, and 2-fold point reflection symmetry about the center of the sphere.

(Pre)periodic cycles (that don't get too large) would certainly be bright in the image, so consider those: Wolfram Alpha gives fixed points $(a_0≈2.53209, b_0≈-0.879385, c_0≈1.3473)$ and rotations thereof. So the poles should be at the normals of the plane formed by those 3 fixed points: let $u = (a_0, b_0, c_0), v = (b_0, c_0, a_0), w = (c_0, a_0, b_0)$ then the poles should be in the directions $\pm (u - v) \times (w - v)$. By a symmetry argument I think that works out as $\pm(1,1,1)$ but I need to double-check this.

Because only the direction matters, solutions to the family of equations $$\begin{pmatrix} a \\ b \\ c \end{pmatrix} = k \begin{pmatrix} (a - b) / c \\ (b - c) / a \\ (c - a) / b \end{pmatrix}$$ also end up in a cycle of period $1$ (with preperiod $1$). AFAICT the solution should vary smoothly with $k$ not passing through $0$, with $3$ rotationally symmetric branches times $2$ signs for $k$, so perhaps it could be instructive to plot these $6$ curves. (I have no time to try that today, but may revise this answer at a later date.)

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.