Portability | portable |
---|---|

Stability | unstable |

Maintainer | claudiusmaximus@goto10.org |

Safe Haskell | None |

External angles define external rays which can be traced back from the circle at infinity to parameters near the boundary of the Mandelbrot Set. Conversely, parameters near the boundary of the Mandelbrot Set can be traced outwards to compute external angles.

# Documentation

:: (Ord r, Floating r) | |

=> r | accuracy |

-> Int | sharpness |

-> r | radius |

-> Angle | external angle |

-> [Complex r] |

Compute the external ray for an external angle with a given accuracy, sharpness and starting radius. For example:

externalRay 1e-10 8 (2**24) (1/3)

The algorithm is based on Tomoki Kawahira's paper
*An algorithm to draw external rays of the Mandelbrot set*
http://www.math.nagoya-u.ac.jp/~kawahira/programs/mandel-exray.pdf.

:: (Ord r, Floating r, RealFrac r) | |

=> Int | iterations |

-> r | epsilon |

-> r | accuracy |

-> Int | sharpness |

-> r | radius |

-> Complex r | parameter |

-> [Complex r] |

Compute the external ray outwards from a given parameter value.
If the result `rs`

satisfies:

c = last rs magnitude c > radius

then the external angle is given by `t`

:

a = phase c / (2 * pi) t = a - fromIntegral (floor a)