Skip to content

Commit

Permalink
Update help files for perturbation and other changes
Browse files Browse the repository at this point in the history
Fixes #161
  • Loading branch information
LegalizeAdulthood committed Nov 26, 2024
1 parent f8fcd21 commit 198a75d
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 11 deletions.
22 changes: 19 additions & 3 deletions hc/src/help.src
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,8 @@
{8.2.1, 2, "Periodicity Logic"}
{8.2.2, 2, "Limitations of Integer Math (and How We Cope)"}
{8.2.3, 2, "Arbitrary Precision and Deep Zooming"}
{8.2.4, 2, "The Id \"Fractal Engine\" Architecture"}
{8.2.4, 2, "Perturbation Algorithm"}
{8.2.5, 2, "The Id \"Fractal Engine\" Architecture"}

{Appendix A, 0, Mathematics of the Fractal Types,
"Summary of Fractal Types",
Expand Down Expand Up @@ -272,10 +273,21 @@ Found a bug? File an issue on our github project!\

New Features in Version 1.1:

o None yet!\
o Perturbation drawing algorithm. Paul de Leeuw contributed an
implementation of the perturbation drawing algorithm with support
for the Mandelbrot (type=mandel) and Mandelbrot power (type=manzpower)
fractal types. See {Drawing Method} and {Perturbation Algorithm} for
details. (PR #160)
o The color palette editor can be positioned using the mouse and the
current pixel whose color is displayed in the editor can also be
selected with the mouse. (Fixes #150)

Bugs Fixed in Version 1.1:

o The version number is now correctly displayed in the title of help
screens. (Fixes #154)
o When run from the Visual Studio debugger, the working directory of
the program is properly set to the home directory. (Fixes #153)
o When the monitor configuration changed since the last time Id was run
and the previous window position is no longer on-screen, the previous
window position is forgotten and the window is placed by the system.
Expand All @@ -286,7 +298,11 @@ o Corrected an assert popup during a Debug build. (Fixes #147, #140)

Known limitations:

o Navigation is exclusively through the keyboard. Mouse support will be
o This initial implementation of perturbation does not support
periodicity checking and only supports a limited number of inside and
outside coloring algorithms. Suspend and resume is not supported with
perturbation.
o Navigation is mostly through the keyboard. Mouse support will be
restored in a subsequent release.
o Sound output does nothing, although all controls can be set through
parameters or interactive screens. Sound output will be restored once a
Expand Down
7 changes: 7 additions & 0 deletions hc/src/help3.src
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,13 @@ visualization even in the slowest fractals. With "fillcolor=0" (below)
the squares are not painted and the points are spread over the image
until all have being calculated (sort of a "fade in").

Perturbation ("p") is a drawing type that is particularly fast when used
with deep-zooms of the Mandelbrot set that require arbitrary precision
arithmetic. This initial implementation of perturbation does not support
periodicity checking and only supports a limited number of inside and
outside coloring algorithms. Suspend and resume is not supported with
perturbation.

The "fillcolor=" option in the <X> screen or on the command line sets a
fixed color to be used by the boundary tracing and tesseral calculations
for filling in defined regions. The effect of this is to show off the
Expand Down
15 changes: 8 additions & 7 deletions hc/src/help4.src
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,11 @@
Inserts comments into par files.
~FF
{Calculation Mode Parameters}
passes=1|2|3|g|b|d|t|g1..g6|s|o Select single-pass, dual-pass, triple-pass
solid-guessing, solid-guessing stop after pass n,
boundary-tracing, diffusion, tesseral,
synchronous orbits, or orbits drawing algorithms
passes=1|2|3|g|b|d|t|g1..g6|s|o|p Select single-pass, dual-pass,
triple-pass solid-guessing, solid-guessing stop
after pass n, boundary-tracing, diffusion,
tesseral, synchronous orbits, orbits, or
perturbation drawing algorithms.
fillcolor=normal|<nnn> Sets a block fill color for use with Boundary
Tracing and Tesseral options
float=yes For most functions changes from integer math to fp
Expand Down Expand Up @@ -541,11 +542,11 @@ used up quickly.
;
;
~Topic=Calculation Mode Parameters
PASSES=1|2|3|g|g1|g2|g3|g4|g5|g6|b|t|s|o\
PASSES=1|2|3|g|g1|g2|g3|g4|g5|g6|b|t|s|o|p\
Selects single-pass, dual-pass, triple-pass, solid-guessing mode,
solid-guessing stop after pass n, boundary tracing, tesseral,
synchronous orbits, or the orbits algorithm. See {Drawing Method} and
{Passes Parameters}.
synchronous orbits, orbits, or the perturbation algorithm.
See {Drawing Method} and {Passes Parameters}.

FILLCOLOR=normal|<nnn>\
Sets a color to be used for block fill by boundary tracing and tesseral
Expand Down
18 changes: 17 additions & 1 deletion hc/src/help5.src
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ o When interacting with filenames and directories, Id may truncate
{ Periodicity Logic }
{ Limitations of Integer Math (and How We Cope) }
{ Arbitrary Precision and Deep Zooming }
{ Perturbation Algorithm }
{ The Id "Fractal Engine" Architecture }

A Little Math:
Expand Down Expand Up @@ -315,6 +316,21 @@ estimator, inversion, Julia-Mandel switch, history, orbit-in-window, and the
browse feature.
;
;
~Topic=Perturbation Algorithm

The perturbation algorithm was originally implemented in a program called
"SuperFractalThing" by K. I. Martin. The core observation is that orbits
for nearby points in the complex plane can be related to each other through
a difference equation. Therefore, if a single orbit is computed at high
precision as a reference point, the values in the orbits of nearby points
can be computed from the reference orbit using lower precision math.

This is the essence of how perturbation methods speed up deep zooms of
the Mandelbrot set. Only a few reference points need to be calculated
at full precision using slower operations and nearby points can be calculated
using faster lesser precision operations.
;
;
~Topic=The Id "Fractal Engine" Architecture

Several of the authors would never admit this, but Id has evolved a
Expand Down Expand Up @@ -1595,7 +1611,7 @@ o The following parameter file commands are deprecated and support will be
Primary Author and Keeper of the Vision
Richard Thomson legalize AT xmission.com
Supporting Cast and Peanut Gallery
Paul de Leeuw ManPWin author, Iterated Dynamics idea sounding board
Paul de Leeuw Perturbation support, Id sounding board
The Giants on Whose Shoulders We Stand
; room for 15 authors at a time here

Expand Down

0 comments on commit 198a75d

Please sign in to comment.