 Burning Ship - Maple Help

Fractals[EscapeTime]

 BurningShip
 BurningShip fractal generator Calling Sequence BurningShip( n, zbl, zur ) BurningShip( n, zbl, zur, opts ) Parameters

 n - positive integer specifying the dimensions of the square Array output zbl - complex(realcons); the bottom left corner of a box in the complex plane zur - complex(realcons); the upper right corner of a box in the complex plane opts - (optional) keyword options of the form opt=value where opt and value are described below Options

 • output : keyword option of the form output=value where value is a name or list of names denoting the returned Array image(s). The accepted names are layer1, layer2, color, or raw. The default value is color.
 • iterationlimit : keyword option of the form iterationlimit=value where value is a positive integer specifying the number of iterations the formula is applied. The default value is 25.
 • cutoff : keyword option of the form cutoff=value where value is positive and of type realcons. The iterative process is stopped for each complex input point when the absolute value exceeds the cutoff value. The default value is 10.0.
 • container : An n-by-n-by-2 Array with datatype=float and order=Fortran_order used in-place to store the raw data. Description

 • The BurningShip command generates Array images which provide a visualization of the BurningShip set. The entries of the image are shaded according to the behavior of complex input points under a particular iterative rational map. Taking an initial point z=0+0*I then for each complex input point c a sequence of points z[i] are computed until abs(z[i]) exceeds the cutoff value (ie. escapes).

${z}_{i}={\left(\left|\mathrm{\Re }\left({z}_{i-1}\right)\right|+I\left|\mathrm{\Im }\left({z}_{i-1}\right)\right|\right)}^{2}+c,{z}_{0}=0$

 • For each entry point in the designated complex box the iterative process is repeated until either the iteration limit or the cutoff value is exceeded.
 • The two-dimensional grayscale Array image returned by supplying the option output=layer1 contains data denoting the number of iterations required for each entry to escape. The grayscale image returned by supplying the option output=layer2 contains the absolute values of the final values for entries which escape. For either layer the real data is scaled to 0.0 .. 1.0 before being returned as an image.
 • The three-dimensional color Array image returned by supplying the option output=color contains data where the three layers corresponding to red, green, and blue have been computed using the raw escape data.
 • The three-dimensional Array returned by supplying the option output=raw contains the unscaled data of layer1 and layer2. This Array can be used to generate a customized color image using the Colorize command. Examples

 > $\mathrm{with}\left(\mathrm{Fractals}:-\mathrm{EscapeTime}\right)$
 $\left[{\mathrm{BurningShip}}{,}{\mathrm{Colorize}}{,}{\mathrm{HSVColorize}}{,}{\mathrm{Julia}}{,}{\mathrm{LColorize}}{,}{\mathrm{Lyapunov}}{,}{\mathrm{Mandelbrot}}{,}{\mathrm{Newton}}\right]$ (5.1)
 > $\mathrm{with}\left(\mathrm{ImageTools}\right):$
 > $\mathrm{bl},\mathrm{ur}≔-1.8-0.09I,-1.7+0.02I$
 ${\mathrm{bl}}{,}{\mathrm{ur}}{≔}{-1.8}{-}{0.09}{}{I}{,}{-1.7}{+}{0.02}{}{I}$ (5.2)
 > $M≔\mathrm{BurningShip}\left(500,\mathrm{bl},\mathrm{ur}\right)$
 ${{\mathrm{_rtable}}}_{{36893628442523158396}}$ (5.3)
 > $\mathrm{Embed}\left(M\right)$ > $\mathrm{Embed}\left(\mathrm{BurningShip}\left(500,\mathrm{bl},\mathrm{ur},\mathrm{output}=\mathrm{layer1}\right)\right)$ > $\mathrm{Embed}\left(\left[\mathrm{BurningShip}\left(200,\mathrm{bl},\mathrm{ur},\mathrm{iterationlimit}=18,\mathrm{output}=\mathrm{layer1}\right),\mathrm{BurningShip}\left(200,\mathrm{bl},\mathrm{ur},\mathrm{iterationlimit}=30,\mathrm{output}=\mathrm{layer1}\right),\mathrm{BurningShip}\left(200,\mathrm{bl},\mathrm{ur},\mathrm{iterationlimit}=150,\mathrm{output}=\mathrm{layer1}\right)\right]\right)$   > $\mathrm{bl},\mathrm{ur}≔-1.8-0.2I,-1.5+0.1I$
 ${\mathrm{bl}}{,}{\mathrm{ur}}{≔}{-1.8}{-}{0.2}{}{I}{,}{-1.5}{+}{0.1}{}{I}$ (5.4)
 > $\mathrm{Embed}\left(\mathrm{BurningShip}\left(500,\mathrm{bl},\mathrm{ur}\right)\right)$ > $\mathrm{Embed}\left(\mathrm{BurningShip}\left(500,\mathrm{bl},\mathrm{ur},\mathrm{output}=\mathrm{layer2}\right)\right)$ > $\mathrm{Embed}\left(\left[\mathrm{BurningShip}\left(200,\mathrm{bl},\mathrm{ur},\mathrm{cutoff}=4.0,\mathrm{output}=\mathrm{layer2}\right),\mathrm{BurningShip}\left(200,\mathrm{bl},\mathrm{ur},\mathrm{cutoff}=10.0,\mathrm{output}=\mathrm{layer2}\right),\mathrm{BurningShip}\left(200,\mathrm{bl},\mathrm{ur},\mathrm{cutoff}=100.0,\mathrm{output}=\mathrm{layer2}\right)\right]\right)$   > $R≔\mathrm{Array}\left(1..500,1..500,1..2,\mathrm{datatype}=\mathrm{float}\left[8\right]\right):$
 > $\mathrm{bl},\mathrm{ur}≔-1.8-0.09I,-1.7+0.02I$
 ${\mathrm{bl}}{,}{\mathrm{ur}}{≔}{-1.8}{-}{0.09}{}{I}{,}{-1.7}{+}{0.02}{}{I}$ (5.5)
 > $\mathrm{BurningShip}\left(500,\mathrm{bl},\mathrm{ur},\mathrm{iterationlimit}=50,\mathrm{cutoff}=10.0,\mathrm{output}=\mathrm{raw},\mathrm{container}=R\right):$
 > $\mathrm{Embed}\left(\left[\mathrm{FitIntensity}\left(R\left[..,..,1\right]\right),\mathrm{FitIntensity}\left(R\left[..,..,2\right]\right)\right]\right)$  > $P≔\mathrm{Colorize}\left(500,R,\mathrm{Array}\left(\left[2,7,7\right],\mathrm{datatype}=\mathrm{integer}\left[4\right]\right),\mathrm{Array}\left(\left[0.86,0.05,0.1\right],\mathrm{datatype}=\mathrm{float}\left[8\right]\right),\mathrm{rgb}=0,\mathrm{mode}=3,\mathrm{layer}=2\right):$
 > $\mathrm{Embed}\left(P\right)$  Compatibility

 • The Fractals:-EscapeTime:-BurningShip command was introduced in Maple 18.