The »Newton fractal« (flower) for a given complex function $f$ is constructed by coloring each complex number $z$ (or rather each point on a finite grid). We iteratively apply Newton’s method to construct the sequence $z_0 = z,\ z_1 = z_0 - \frac {f(z_0)} {f'(z_0)},\ \dots,\ z_k = z_{k-1} - \frac {f(z_{k-1})} {f'(z_{k-1})}, \ \dots$. If we detect that the sequence converges after $n$ terms (that is, if the difference between $n$-th and previous term is smaller than a fixed convergence threshold constant), we will paint the pixel corresponding to $z$ according to $red(n)$, $green(n)$ and $blue(n)$. If the sequence does not converge after a fixed number of iterations, we deem it divergent and paint the pixel black. Note that if the sequence does converge, it is to some root of function $f$.

The renderer implements two generalizations of »Newton fractals«.

### Nova fractals

The Newton method step $z_k = z_{k-1} - \frac {f(z_{k-1})} {f'(z_{k-1})}$ in the above is substituted by a generalized

for some complex constants $a, c$.

### Repetitions

A new layer of complexity can be implanted into the fractal in the following way. Repeated a fixed amount of times, when we detect convergence at the term $z_n$, we simply restart the sequence by setting $z_n = z - z_n$ and continue with $z_{n+1}$ (restarting simultaneously the counter of the maximal number of iterations). The effects can be seen below, for repetitions set to 1 (usual Newton fractal), 2 and 5 respectively.

#### Function and its derivative

##### Must be a JavaScript expression. Available complex functions: .add(), .sub(), .mul(), .div(), .pow(), .sin(), .cos(), .abs(), .tan(); Examples:

$x + y + z\ \equiv\ x.add(y).add(z)\ \qquad sin^2(cos(z)) \ \equiv\ z.cos().sin().pow(2)$

f(z) =
f'(z) =

#### Parameters for the Newton’s method

##### Sets parameters a, c for the modified Newton’s method. Increase repetitions for added complexity.
a =
c =
Repetitions
Maximum iterations
Convergence threshold =

Red(n) =
Green(n) =
Blue(n) =

Bottom
Top
Left
Right
Pixels