home *** CD-ROM | disk | FTP | other *** search
/ Photo CD Demo 1 / Demo.bin / fractint / fras1611.zip / HELP5.SRC < prev    next >
Text File  |  1991-07-09  |  83KB  |  1,881 lines

  1. ~Topic=Common Problems
  2.  
  3. Of course, Fractint would never stoop to having a "common" problem.  These
  4. notes describe some, ahem, "special situations" which come up occasionally
  5. and which even we haven't the gall to label as "features".
  6.  
  7. Hang during startup:\
  8.   There might be a problem with Fractint's video detection logic and your
  9.   particular video adapter. Try running with "fractint adapter=xxx" where
  10.   xxx is cga, ega, egamono, mcga, or vga.  If "adapter=vga" works, and you
  11.   really have a SuperVGA adapter capable of higher video modes, there are
  12.   other "adapter=" options for a number of SuperVGA chipsets - please see
  13.   the full selection in {Video Parameters} for details.  If this solves the
  14.   problem, create an SSTOOLS.INI file with the "adapter=xxx" command in it
  15.   so that the fix will apply to every run.\
  16.   Another possible cause:  If you install the latest Fractint in say
  17.   directory "newfrac", then run it from another directory with the command
  18.   "\\newfrac\\fractint", *and* you have an older version of fractint.exe
  19.   somewhere in your DOS PATH, a silent hang is all you'll get.  See the
  20.   notes under the "Cannot find FRACTINT.EXE message" problem for the reason.\
  21.   Another possibility: try one of the "textsafe" parameter choices
  22.   described in {Video Parameters}.
  23.  
  24. Scrambled image when returning from a text mode display:\
  25.   If an image which has been partly or completely generated gets partly
  26.   destroyed when you return to it from the menu, help, or the information
  27.   display, please try the various "textsafe" parameter options - see
  28.   {Video Parameters} for details.  If this cures the problem, create
  29.   an SSTOOLS.INI file with the "textsafe=xxx" command so that the fix will
  30.   apply to every run.
  31.  
  32. "Holes" in an image while it is being drawn:\
  33.   Little squares colored in your "inside" color, in a pattern of every
  34.   second square of that size, in solid guessing mode, both across and down
  35.   (i.e., 1 out of 4), are
  36.   a symptom of an image which should be calculated with more conservative
  37.   periodicity checking than the default.  See the Periodicity parameter
  38.   under {Image Calculation Parameters}.
  39.  
  40. Black bar at top of screen during color cycling on 8086/8088 machines:\
  41.   (This might happen intermittently, not every run.)\
  42.   "fractint cyclelimit=10" might cure the problem.  If so, increase
  43.   the cyclelimit value (try increasing by 5 or 10 each time) until the
  44.   problem reappears, then back off one step and add that cyclelimit value
  45.   to your SSTOOLS.INI file.
  46.  
  47. Other video problems:
  48.  
  49.   If you are using a VESA driver with your video adapter, the first thing
  50.   to try is the "vesadetect=no" parameter. If that fixes the problem, add
  51.   it to your SSTOOLS.INI file to make the fix permanent.
  52.  
  53.   It may help to explicitly specify your type of adapter - see the
  54.   "adapter=" parameter in {Video Parameters}.
  55.  
  56.   We've had one case where a video driver for Windows does not work
  57.   properly with Fractint.  If running under Windows, DesqView, or some
  58.   other layered environment, try running Fractint directly from DOS to see
  59.   if that avoids the problem.\
  60.   We've also had one case of a problem co-existing with "386 to the Max".
  61.  
  62.   We've had one report of an EGA adapter which got scrambled images in
  63.   all modes until "textsafe=no" was used (see {Video Parameters}).
  64.  
  65.   Also, see {Video Adapter Notes} for information
  66.   about enhanced video modes - Fractint makes only limited attempts to
  67.   verify that a video mode you request is actually supported by your
  68.   adapter.
  69. ~OnlineFF
  70.  
  71. Other Hangs and Strange Behaviour:\
  72.   We've had some problems (hanges and solid beeps) on an FPU equipped
  73.   machine when running under Windows 3's enhanced mode.  The only ways
  74.   around the problem we can find are to either run the Fractint image
  75.   involved outside Windows, or to use the DOS command "SET NO87=nofpu"
  76.   before running Fractint.  (This SET command makes Fractint ignore your
  77.   fpu, so things might be a lot slower as a result.)
  78.  
  79. Insufficient memory:\
  80.   Fractint requires a fair bit of memory to run.  Most machines with at
  81.   least 640k (ok sticklers, make that "PC-compatible machines") will have
  82.   no problem.  Machines with 512k and machines with many TSR utilities
  83.   and/or a LAN interface may have problems.  Some Fractint features
  84.   allocate memory when required during a run.  If you get a message about
  85.   insufficient memory, or suspect that some problem is due to a memory
  86.   shortage, you could try commenting out some TSR utilities in your
  87.   AUTOEXEC.BAT file, some non-critical drivers in your CONFIG.SYS file, or
  88.   reducing the BUFFERS parameter in your CONFIG.SYS.
  89. ~OnlineFF
  90.  
  91. "Cannot find FRACTINT.EXE" message:\
  92.   Fractint is an overlayed program - some parts of it are brought from
  93.   disk into memory only when used.  The overlay manager needs to know
  94.   where to find the program.  It must be named FRACTINT.EXE (which it is
  95.   unless somebody renamed it), and you should either be in the directory
  96.   containing it when you start Fractint, or that directory should be in
  97.   your DOS PATH.
  98.  
  99. "File FRACTINT.CFG is missing or invalid" message:\
  100.   You should either start Fractint while you are in the directory
  101.   containing it, or should have that directory in your DOS PATH variable.
  102.   If that isn't the problem, maybe you have a FRACTINT.CFG file from an
  103.   older release of Fractint lying around? If so, best rename or delete it.
  104.   If that isn't the problem either, then the FRACTINT.CFG included in the
  105.   FRAINT.EXE release file has probably been changed or deleted. Best
  106.   reinstall Fractint to get a fresh copy.
  107. ~OnlineFF
  108.  
  109. Some other program doesn't like GIF files created by Fractint:\
  110.   Fractint generates nice clean GIF89A spec files, honest! But telling
  111.   this to the other program isn't likely to change its mind. Instead, try
  112.   an option which might get around the problem: run Fractint with the
  113.   command line option "gif87a=yes" and then save an image. Fractint will
  114.   store the image in the older GIF87A format, without any fractal
  115.   parameters in it (so you won't be able to load the image back into
  116.   Fractint and zoom into it - the fractal type, coordinates, etc. are not
  117.   stored in this older format), and without an "aspect ratio" in the GIF
  118.   header (we've seen one utility which doesn't like that field.)
  119.  
  120. Disk video mode performance:\
  121.   This won't be blindingly fast at the best of times, but there are things
  122.   which can slow it down and can be tuned.  See {"Disk-Video" Modes}
  123.   for details.
  124. ;
  125. ;
  126. ;
  127. ~Topic=Fractals and the PC
  128. ;
  129. ; empty for document, present just so we can reference the subject
  130.  
  131. ~Format-,Doc-
  132.  
  133.     A Little History:
  134.        { Before Mandelbrot }
  135.        { Who Is This Guy, Anyway? }
  136.  
  137.     A Little Code:
  138.        { Periodicity Logic }
  139.        { Limitations of Integer Math (And How We Cope) }
  140.        { The Fractint "Fractal Engine" Architecture }
  141.  
  142.     A Little Math:
  143.        { Summary of Fractal Types }
  144.        { Inside=bof60|bof61|zmag }
  145.        { Finite Attractors }
  146.        { Trig Identities }
  147. ~Format+,Doc+
  148. ;
  149. ;
  150. ~Topic=Before Mandelbrot
  151.  
  152. Like new forms of life, new branches of mathematics and science don't
  153. appear from nowhere. The ideas of fractal geometry can be traced to the
  154. late nineteenth century, when mathematicians created shapes -- sets of
  155. points -- that seemed to have no counterpart in nature.  By a wonderful
  156. irony, the "abstract" mathematics descended from that work has now turned
  157. out to be MORE appropriate than any other for describing many natural
  158. shapes and processes.
  159.  
  160. Perhaps we shouldn't be surprised.  The Greek geometers worked out the
  161. mathematics of the conic sections for its formal beauty; it was two
  162. thousand years before Copernicus and Brahe, Kepler and Newton overcame the
  163. preconception that all heavenly motions must be circular, and found the
  164. ellipse, parabola, and hyperbola in the paths of planets, comets, and
  165. projectiles.
  166.  
  167. In the 17th century Newton and Leibniz created calculus, with its
  168. techniques for "differentiating" or finding the derivative of functions --
  169. in geometric terms, finding the tangent of a curve at any given point.
  170. True, some functions were discontinuous, with no tangent at a gap or an
  171. isolated point. Some had singularities: abrupt changes in direction at
  172. which the idea of a tangent becomes meaningless. But these were seen as
  173. exceptional, and attention was focused on the "well-behaved" functions
  174. that worked well in modeling nature.
  175.  
  176. Beginning in the early 1870s, though, a 50-year crisis transformed
  177. mathematical thinking. Weierstrass described a function that was
  178. continuous but nondifferentiable -- no tangent could be described at any
  179. point. Cantor showed how a simple, repeated procedure could turn a line
  180. into a dust of scattered points, and Peano generated a convoluted curve
  181. that eventually touches every point on a plane. These shapes seemed to
  182. fall "between" the usual categories of one-dimensional lines, two-
  183. dimensional planes and three-dimensional volumes. Most still saw them as
  184. "pathological" cases, but here and there they began to find applications.
  185.  
  186. In other areas of mathematics, too, strange shapes began to crop up.
  187. Poincare attempted to analyze the stability of the solar system in the
  188. 1880s and found that the many-body dynamical problem resisted traditional
  189. methods. Instead, he developed a qualitative approach, a "state space" in
  190. which each point represented a different planetary orbit, and studied what
  191. we would now call the topology -- the "connectedness" -- of whole families
  192. of orbits. This approach revealed that while many initial motions quickly
  193. settled into the familiar curves, there were also strange, "chaotic"
  194. orbits that never became periodic and predictable.
  195.  
  196. Other investigators trying to understand fluctuating, "noisy" phenomena --
  197. the flooding of the Nile, price series in economics, the jiggling of
  198. molecules in Brownian motion in fluids -- found that traditional models
  199. could not match the data. They had to introduce apparently arbitrary
  200. scaling features, with spikes in the data becoming rarer as they grew
  201. larger, but never disappearing entirely.
  202.  
  203. For many years these developments seemed unrelated, but there were
  204. tantalizing hints of a common thread. Like the pure mathematicians' curves
  205. and the chaotic orbital motions, the graphs of irregular time series often
  206. had the property of self-similarity: a magnified small section looked very
  207. similar to a large one over a wide range of scales.
  208. ;
  209. ;
  210. ~Topic=Who Is This Guy\, Anyway?
  211.  
  212. While many pure and applied mathematicians advanced these trends, it is
  213. Benoit Mandelbrot above all who saw what they had in common and pulled the
  214. threads together into the new discipline.
  215.  
  216. He was born in Warsaw in 1924, and moved to France in 1935. In a time when
  217. French mathematical training was strongly analytic, he visualized problems
  218. whenever possible, so that he could attack them in geometric terms.  He
  219. attended the Ecole Polytechnique, then Caltech, where he encountered the
  220. tangled motions of fluid turbulence.
  221.  
  222. In 1958 he joined IBM, where he began a mathematical analysis of
  223. electronic "noise" -- and began to perceive a structure in it, a hierarchy
  224. of fluctuations of all sizes, that could not be explained by exiting
  225. statistical methods. Through the years that followed, one seemingly
  226. unrelated problem after another was drawn into the growing body of ideas
  227. he would come to call fractal geometry.
  228.  
  229. As computers gained more graphic capabilities, the skills of his mind's
  230. eye were reinforced by visualization on display screens and plotters.
  231. Again and again, fractal models produced results -- series of flood
  232. heights, or cotton prices -- that experts said looked like "the real
  233. thing."
  234.  
  235. Visualization was extended to the physical world as well. In a provocative
  236. essay titled "How Long Is the Coast of Britain?" Mandelbrot noted that the
  237. answer depends on the scale at which one measures: it grows longer and
  238. longer as one takes into account every bay and inlet, every stone, every
  239. grain of sand. And he codified the "self-similarity" characteristic of
  240. many fractal shapes -- the reappearance of geometrically similar features
  241. at all scales.
  242.  
  243. First in isolated papers and lectures, then in two editions of his seminal
  244. book, he argued that many of science's traditional mathematical models are
  245. ill-suited to natural forms and processes: in fact, that many of the
  246. "pathological" shapes mathematicians had discovered generations before are
  247. useful approximations of tree bark and lung tissue, clouds and galaxies.
  248.  
  249. Mandelbrot was named an IBM Fellow in 1974, and continues to work at the
  250. IBM Watson Research Center. He has also been a visiting professor and
  251. guest lecturer at many universities.
  252. ;
  253. ;
  254. ~Topic=Periodicity Logic
  255.  
  256. The "Mandelbrot Lake" in the center of the M-set images is the traditional
  257. bane of plotting programs. It sucks up the most computer time because it
  258. always reaches the iteration limit -- and yet the most interesting areas
  259. are invariably right at the edge the lake.
  260. (See {The Mandelbrot Set} for a description of the iteration process.)
  261.  
  262. Thanks to Mark Peterson for pointing out (well, he more like beat us over
  263. the head until we paid attention) that the iteration values in the middle
  264. of Mandelbrot Lake tend to decay to periodic loops (i.e., Z(n+m) == Z(n),
  265. a fact that is pointed out on pages 58-61 of "The Beauty of Fractals"). An
  266. intelligent program (like the one he wrote) would check for this
  267. periodicity once in a while, recognize that iterations caught in a loop
  268. are going to max out, and bail out early.
  269.  
  270. For speed purposes, the current version of the program turns this checking
  271. algorithm on only if the last pixel generated was in the lake.    (The
  272. checking itself takes a small amount of time, and the pixels on the very
  273. edge of the lake tend to decay to periodic loops very slowly, so this
  274. compromise turned out to be the fastest generic answer).
  275.  
  276. Try a full M-set plot with a 1000-iteration maximum with any other
  277. program, and then try it on this one for a pretty dramatic proof of the
  278. value of periodicity checking.
  279.  
  280. You can get a visual display of the periodicity effects if you press
  281. <O>rbits while plotting. This toggles display of the intermediate
  282. iterations during the generation process.  It also gives you an idea of
  283. how much work your poor little PC is going through for you!  If you use
  284. this toggle, it's best to disable solid-guessing first using <1> or <2>
  285. because in its second pass, solid-guessing bypasses many of the pixel
  286. calculations precisely where the orbits are most interesting.
  287.  
  288. Mark was also responsible for pointing out that 16-bit integer math was
  289. good enough for the first few levels of M/J images, where the round-off
  290. errors stay well within the area covered by a single pixel. Fractint now
  291. uses 16-bit math where applicable, which makes a big difference on non-32-
  292. bit PCs.
  293. ;
  294. ;
  295. ~Topic=Limitations of Integer Math (And How We Cope)
  296.  
  297. By default, Fractint uses 16-bit and/or 32-bit integer math to generate
  298. nearly all its fractal types. The advantage of integer math is speed: this
  299. is by far the fastest such plotter that we have ever seen on any PC. The
  300. disadvantage is an accuracy limit. Integer math represents numbers like
  301. 1.00 as 32-bit integers of the form [1.00 * (2^29)] (approximately
  302. a range of 500,000,000) for the Mandelbrot and Julia sets. Other integer
  303. fractal types use a bitshift of 24 rather than 29, so 1.0 is stored
  304. internally as [1.00 * (2^*24)]. This yields accuracy of better than 8
  305. significant digits, and works fine... until the initial values of the
  306. calculations on consecutive pixels differ only in the ninth decimal place.
  307.  
  308. At that point, if Fractint has a floating-point algorithm handy for that
  309. particular fractal type (and virtually all of the fractal types have one
  310. these days), it will silently switch over to the floating-point algorithm
  311. and keep right on going.  Fair warning - if you don't have an FPU, the
  312. effect is that of a rocket sled hitting a wall of jello, and even if you
  313. do, the slowdown is noticeable.
  314.  
  315. If it has no floating-point algorithm, Fractint does the best it can: it
  316. switches to its minimal drawing mode, with adjacent pixels having initial
  317. values differing by 1 (really 0.000000002).  Attempts to zoom further may
  318. result in moving the image around a bit, but won't actually zoom.  If you
  319. are stuck with an integer algorithm, you can reach minimal mode with your
  320. fifth consecutive "maximum zoom", each of which covers about 0.25% of the
  321. previous screen. By then your full-screen image is an area less than
  322. 1/(10^13)th [\~0.0000000000001] the area of the initial screen.  (If your
  323. image is rotated or stretched very slightly, you can run into the wall of
  324. jello as early as the fourth consecutive maximum zoom.    Rotating or
  325. stretching by larger amounts has less impact on how soon you run into it.)
  326.  
  327. Think of it this way: at minimal drawing mode, your VGA display would have
  328. to have a surface area of over one million square miles just to be able to
  329. display the entire M-set using the integer algorithms.    Using the
  330. floating-point algorithms, your display would have to be big enough to fit
  331. the entire solar system out to the orbit of Saturn inside it.  So there's
  332. a considerable saving on hardware, electricity and desk space involved
  333. here.  Also, you don't have to take out asteroid insurance.
  334.  
  335. 32 bit integers also limit the largest number which can be stored.  This
  336. doesn't matter much since numbers outside the supported range (which is
  337. between -4 and +4) produce a boring single color. If you try to zoom-out
  338. to reduce the entire Mandelbrot set to a speck, or to squeeze
  339. it to a pancake, you'll find you can't do so in integer math mode.
  340. ;
  341. ;
  342. ~Topic=The Fractint "Fractal Engine" Architecture
  343.  
  344. Several of the authors would never ADMIT this, but Fractint has evolved a
  345. powerful and flexible architecture that makes adding new fractals very
  346. easy. (They would never admit this because they pride themselves on being
  347. the sort that mindlessly but happily hacks away at code and "sees if it
  348. works and doesn't hang the machine".)
  349.  
  350. Many fractal calculations work by taking a rectangle in the complex plane,
  351. and, point by point, calculating a color corresponding to that point.
  352. Furthermore, the color calculation is often done by iterating a function
  353. over and over until some bailout condition is met.
  354. (See {The Mandelbrot Set} for a description of the iteration process.)
  355.  
  356. In implementing such a scheme, there are three fractal-specific
  357. calculations that take place within a framework that is pretty much the
  358. same for them all.  Rather than copy the same code over and over, we
  359. created a standard fractal engine that calls three functions that may be
  360. bolted in temporarily to the engine.  The "bolting in" process uses the C
  361. language mechanism of variable function pointers.
  362.  
  363. These three functions are:
  364.  
  365.    1) a setup function that is run once per image, to do any required
  366.    initialization of variables,
  367.  
  368.    2) a once-per-pixel function that does whatever initialization has to
  369.    be done to calculate a color for one pixel, and
  370.  
  371.    3) a once-per-orbit-iteration function, which is the fundamental
  372.    fractal algorithm that is repeatedly iterated in the fractal
  373.    calculation.
  374.  
  375. The common framework that calls these functions can contain all sorts of
  376. speedups, tricks, and options that the fractal implementor need not worry
  377. about.    All that is necessary is to write the three functions in the
  378. correct way, and BINGO! - all options automatically apply. What makes it
  379. even easier is that usually one can re-use functions 1) and 2) written for
  380. other fractals, and therefore only need to write function 3).
  381.  
  382. Then it occurred to us that there might be more than one sort of fractal
  383. engine, so we even allowed THAT to be bolted in. And we created a data
  384. structure for each fractal that includes pointers to these four functions,
  385. various prompts, a default region of the complex plane, and various
  386. miscellaneous bits of information that allow toggling between Julia and
  387. Mandelbrot or toggling between the various kinds of math used in
  388. implementation.
  389.  
  390. That sounds pretty flexible, but there is one drawback - you have to be a
  391. C programmer and have a C compiler to make use of it! So we took it a step
  392. further, and designed a built-in high level compiler, so that you can
  393. enter the formulas for the various functions in a formula file in a
  394. straightforward algebra-like language, and Fractint will compile them and
  395. bolt them in for you!
  396.  
  397. There is a terrible down side to this flexibility.  Fractint users
  398. everywhere are going berserk. Fractal-inventing creativity is running
  399. rampant. Proposals for new fractal types are clogging the mail and the
  400. telephones.
  401.  
  402. All we can say is that non-productivity software has never been so potent,
  403. and we're sorry, it's our fault!
  404.  
  405. Fractint was compiled using Microsoft C 6.00A and Microsoft Assembler 5.1,
  406. using the "Medium" model. Note that the assembler code uses the "C" model
  407. option added to version 5.1, and must be assembled with the /MX or /ML
  408. switch to link with the "C" code. Because it has become too large to
  409. distribute comfortably as a single compressed file, and because many
  410. downloaders have no intention of ever modifying it, Fractint is now
  411. distributed as two files: one containing FRACTINT.EXE, auxiliary files and
  412. this document, and another containing complete source code (including a
  413. .MAK file and MAKEFRAC.BAT).  See {Distribution of Fractint}.
  414. ;
  415. ;
  416. ;
  417. ~Topic=Inside=bof60|bof61|zmag
  418. ~Format-,Online-
  419.  
  420. INSIDE=BOF60|BOF61|ZMAG
  421. ~Format+,Online+
  422.  
  423. Here is an *ATTEMPTED* explanation of what the inside=bof60 and
  424. inside=bof61 options do. This explanation is hereby dedicated to Adrian
  425. Mariano, who badgered it out of us! For the *REAL* explanation, see
  426. "Beauty of Fractals", page 62.
  427.  
  428. Let p(z) be the function that is repeatedly iterated to generate a fractal
  429. using the escape-time algorithm.  For example, p(z) = z^2+c in the case of
  430. a Julia set. Then let pk(z) be the result of iterating the function p for
  431. k iterations. (The "k" should be shown as a superscript.) We could also
  432. use the notation pkc(z) when the function p has a parameter c, as it does
  433. in our example.  Now hold your breath and get your thinking cap on. Define
  434. a(c) = inf\{|pck(0)|:k=1,2,3,...}. In English - a(c) is the greatest lower
  435. bound of the images of zero of as many iterations as you like. Put another
  436. way, a(c) is the closest to the origin any point in the orbit starting
  437. with 0 gets. Then the index (c) is the value of k (the iteration) when
  438. that closest point was achieved.  Since there may be more than one,
  439. index(c) is the least such. Got it?  Good, because the "Beauty of
  440. Fractals" explanation of this, is, ahhhh, *TERSE* ! Now for the punch
  441. line. Inside=bof60 colors the lake alternating shades according to the
  442. level sets of a(c).  Each band represents solid areas of the fractal where
  443. the closest value of the orbit to the origin is the same.  Inside=bof61
  444. show domains where index(c) is constant.  That is, areas where the
  445. iteration when the orbit swooped closest to the origin has the same value.
  446. Well, folks, that's the best we can do! Improved explanations will be
  447. accepted for the next edition!
  448.  
  449. inside=zmag is similar. This option colors inside pixels according to
  450. the magnitude of the orbit point when maxiter was reached, using the formula
  451. color = (x^2 + y^2) * maxiter/2 + 1.
  452. ;
  453. ;
  454. ;
  455. ~Topic=Finite Attractors
  456. ~Format-,Online-
  457.  
  458. FINITE ATTRACTORS
  459. ~Format+,Online+
  460.  
  461. Many of Fractint's fractals involve the iteration of functions of complex
  462. numbers until some "bailout" value is exceeded, then coloring the
  463. associated pixel according to the number of iterations performed.  This
  464. process identifies which values tend to infinity when iterated, and gives
  465. us a rough measure of how "quickly" they get there.
  466.  
  467. In dynamical terms, we say that "Infinity is an Attractor", as many
  468. initial values get "attracted" to it when iterated.  The set of all points
  469. that are attracted to infinity is termed The Basin of Attraction of
  470. Infinity.  The coloring algorithm used divides this Basin of Attraction
  471. into many distinct sets, each a single band of one color, representing all
  472. the points that are "attracted" to Infinity at the same "rate".  These
  473. sets (bands of color) are termed "Level Sets" - all points in such a set
  474. are at the same "Level" away from the attractor, in terms of numbers of
  475. iterations required to exceed the bailout value.
  476.  
  477. Thus, Fractint produces colored images of the Level Sets of the Basin of
  478. Attraction of Infinity, for all fractals that iterate functions of Complex
  479. numbers, at least.  Now we have a sound mathematical definition of what
  480. Fractint's "bailout" processing generates, and we have formally introduced
  481. the terms Attractor, Basin of Attraction, and Level Set, so you should
  482. have little trouble following the rest of this section!
  483.  
  484. For certain Julia-type fractals, Fractint can also display the Level Sets
  485. of Basins of Attraction of Finite Attractors.  This capability is a by-
  486. product of the implementation of the MAGNETic fractal types, which always
  487. have at least one Finite Attractor.
  488.  
  489. This option can be invoked by setting the "Look for finite attractor"
  490. option on the <Y> options screen, or by using the "inside=attractor"
  491. parameter.
  492.  
  493. Most Julia-types that have a "lake" (normally colored blue by default)
  494. have a Finite Attractor within this lake, and the lake turns out to be,
  495. quite appropriately, the Basin of Attraction of this Attractor.
  496.  
  497. The "inside=attractor" option (command-line or <Y> options screen)
  498. instructs Fractint to seek out and identify a possible Finite Attractor
  499. and, if found, to display the Level Sets of its Basin of Attraction, in
  500. addition to those of the Basin of Attraction of Infinity.  In many cases
  501. this results in a "lake" with colored "waves" in it;  in other cases there
  502. may be little change in the lake's appearance.
  503.  
  504. For a quick demonstration, select a fractal type of LAMBDA, with a
  505. parameter of 0.5 + 0.5i.  You will obtain an image with a large blue lake.
  506. Now set "inside=attractors" with the "X" menu. The image will be re-drawn
  507. with a much more colorful lake.  A Finite Attractor lives in the center of
  508. one of the resulting "ripple" patterns in the lake - turn the <O>rbits
  509. display on to see where it is - the orbits of all initial points that are
  510. in the lake converge there.
  511.  
  512. Fractint tests for the presence of a Finite Attractor by iterating a
  513. Critical Value of the fractal's function.  If the iteration doesn't bail
  514. out before exceeding twice the iteration limit, it is almost certain that
  515. we have a Finite Attractor - we assume that we have.
  516.  
  517. Next we define a small circle around it and, after each iteration, as well
  518. as testing for the usual bailout value being exceeded, we test to see if
  519. we've hit the circle. If so, we bail out and color our pixels according to
  520. the number of iterations performed.  Result - a nicely colored-in lake
  521. that displays the Level Sets of the Basin of Attraction of the Finite
  522. Attractor.  Sometimes !
  523.  
  524. First exception : This does not work for the lakes of Mandel-types.  Every
  525. point in a Mandel-type is, in effect, a single point plucked from one of
  526. its related Julia-types.  A Mandel-type's lake has an infinite number of
  527. points, and thus an infinite number of related Julia-type sets, and
  528. consequently an infinite number of finite attractors too.  It *MAY* be
  529. possible to color in such a lake, by determining the attractor for EVERY
  530. pixel, but this would probably treble (at least) the number of iterations
  531. needed to draw the image.  Due to this overhead, Finite Attractor logic
  532. has not been implemented for Mandel-types.
  533.  
  534. Secondly, certain Julia-types with lakes may not respond to this
  535. treatment, depending on the parameter value used.  E.g., the Lambda Set
  536. for 0.5 + 0.5i responds well; the Lambda Set for 0.0 + 1.0i does not - its
  537. lake stays blue.  Attractors that consist of single points, or a cycle of
  538. a finite number of points are ok.  Others are not.  If you're into fractal
  539. technospeke, the implemented approach fails if the Julia-type is a
  540. Parabolic case, or has Siegel Disks, or has Herman Rings.
  541.  
  542. However, all the difficult cases have one thing in common - they all have
  543. a parameter value that falls exactly on the edge of the related Mandel-
  544. type's lake.  You can avoid them by intelligent use of the Mandel-Julia
  545. Space-Bar toggle:  Pick a view of the related Mandel-type where the center
  546. of the screen is inside the lake, but not too close to its edge, then use
  547. the space-bar toggle.  You should obtain a usable Julia-type with a lake,
  548. if you follow this guideline.
  549.  
  550. Thirdly, the initial implementation only works for Julia-types that use
  551. the "Standard" fractal engine in Fractint.  Fractals with their own
  552. special algorithms are not affected by Finite Attractor logic, as yet.
  553.  
  554. Despite these restrictions, the Finite Attractor logic can produce
  555. interesting results.  Just bear in mind that it is principally a bonus
  556. off-shoot from the development of the MAGNETic fractal types, and is not
  557. specifically tuned for optimal performance for other Julia types.
  558.  
  559. (Thanks to Kevin Allen for the above).
  560. ;
  561. ;
  562. ~Topic=Trig Identities
  563. ~Online-
  564.  
  565. TRIG IDENTITIES
  566. ~Online+
  567.  
  568. The following trig identities are invaluable for coding fractals that use
  569. complex-valued transcendental functions.
  570.  
  571. ~Format-
  572.    e^(x+iy) = (e^x)cos(y) + i(e^x)sin(y)
  573.  
  574.    sin(x+iy)  = sin(x)cosh(y) + icos(x)sinh(y)
  575.    cos(x+iy)  = cos(x)cosh(y) - isin(x)sinh(y)
  576.    sinh(x+iy) = sinh(x)cos(y) + icosh(x)sin(y)
  577.    cosh(x+iy) = cosh(x)cos(y) + isinh(x)sin(y)
  578.  
  579.    cosxx(x+iy) = cos(x)cosh(y) + isin(x)sinh(y)
  580.      (cosxx is present in Fractint to provide compatibility with a bug
  581.      which was in its cos calculation before version 16)
  582.  
  583.    ln(x+iy) = (1/2)ln(x*x + y*y) + i(arctan(y/x) + 2kPi)
  584.                     (k = 0, +-1, +-2, +-....)
  585.  
  586.              sin(2x)           sinh(2y)
  587.    tan(x+iy) = ------------------  + i------------------
  588.            cos(2x) + cosh(2y)     cos(2x) + cosh(2y)
  589. ~OnlineFF
  590.  
  591.             sinh(2x)            sin(2y)
  592.    tanh(x+iy) = ------------------ + i------------------
  593.         cosh(2x) + cos(2y)    cosh(2x) + cos(2y)
  594.  
  595.          sin(2x) - i*sinh(2y)
  596.    cotan(x+iy) = --------------------
  597.           cosh(2y) - cos(2x)
  598.  
  599.           sinh(2x) - i*sin(2y)
  600.    cotanh(x+iy) = --------------------
  601.            cosh(2x) - cos(2y)
  602.  
  603.    z^z = e^(log(z)*z)
  604.  
  605.    log(x+iy) = 1/2(log(x*x + y*y) + i(arc_tan(y/x))
  606.  
  607.    e^(x+iy) = (cosh(x) + sinh(x)) * (cos(y) + isin(y))
  608.         = e^x * (cos(y) + isin(y))
  609.         = (e^x * cos(y)) + i(e^x * sin(y))
  610. ~Format+
  611. ;
  612. ;
  613. ;
  614. ~Topic=GIF Save File Format
  615.  
  616. Since version 5.0, Fractint has had the <S>ave-to-disk command, which
  617. stores screen images in the extremely compact, flexible .GIF (Graphics
  618. Interchange Format) widely supported on Compuserve. Version 7.0 added the
  619. <R>estore-from-disk capability.
  620.  
  621. Until version 14, Fractint saved images as .FRA files, which were a
  622. non-standard extension of the then-current GIF87a specification.  The
  623. reason was that GIF87a did not offer a place to store the extra
  624. information needed by Fractint to implement the
  625. <R> feature -- i.e., the parameters that let you keep zooming, etc.
  626. as if the restored file had just been created in this session.
  627. The .FRA format worked with all of the popular GIF decoders that we
  628. tested, but these were not true GIF files. For one thing,
  629. information after the GIF terminator (which is where we put the extra info)
  630. has the potential to confuse the
  631. online GIF viewers used on Compuserve. For another, it is the opinion of
  632. some GIF developers that the addition of this extra information violates
  633. the GIF87a spec. That's why we used the default filetype .FRA instead.
  634.  
  635. Since version 14, Fractint has used a genuine .GIF format, using the
  636. GIF89a spec - an upwardly compatible extension of GIF87a, released by
  637. Compuserve on August 1 1990.
  638. This new spec allows the
  639. placement of application data within "extension blocks".
  640. In version 14 we changed our default savename extension from .FRA
  641. to .GIF.
  642.  
  643. There is one significant advantage to the new GIF89a format compared to
  644. the old GIF87a-based .FRA format for Fractint purposes:  the new .GIF
  645. files may be uploaded to the Compuserve graphics forums (such as
  646. Fractint's home forum, COMART) with fractal information intact.  Therefore
  647. anyone downloading a Fractint image from Compuserve will also be
  648. downloading all the information needed to regenerate the image.
  649.  
  650. Fractint can still read .FRA files generated by
  651. earlier versions.  If for some reason you wish to save files in the older
  652. GIF87a format, for example because your favorite GIF decoder has not yet
  653. been upgraded to GIF89a, use the command-line parameter "GIF87a=yes".
  654. Then any saved files will use the original GIF87a format without any
  655. application-specific information.
  656.  
  657. An easy way to convert an older .FRA file into true .GIF format suitable
  658. for uploading is something like this at the DOS prompt:\
  659.     FRACTINT MYFILE.FRA SAVENAME=MYFILE.GIF BATCH=YES\
  660. Fractint will load MYFILE.FRA, save it in true .GIF format as MYFILE.GIF,
  661. and return to DOS.
  662.  
  663. GIF and "Graphics Interchange Format" are trademarks of Compuserve
  664. Incorporated, an H&R Block Company.
  665. ;
  666. ;
  667. ;
  668. ~Topic=Using Fractint With a Mouse
  669. ; This topic is online only.
  670.  
  671. ~FormatExclude-
  672. Left Button:   Brings up and sizes the Zoom Box.   While holding down the
  673.            left button, push the mouse forward to shrink the Zoom Box,
  674.            and pull it back to expand it.
  675.            Double-clicking the left button performs the Zoom.
  676.  
  677. Right Button:  While holding the right button held down, move the mouse
  678.            from side to side to 'rotate' the Zoom Box.  Move the mouse
  679.            forward or back to change the Zoom Box color.
  680.            Double-clicking the right button performs a 'Zoom-Out'.
  681.  
  682. Both Buttons:  (or the middle button, if you have three of them) While
  683.            holding down both buttons, move the mouse up and down to
  684.            stretch/shrink the height of the Zoom Box, or side to side
  685.            to 'squish' the Zoom Box into a non-rectangular shape.
  686.  
  687. Zoom and Pan using the mouse typically consists of pushing in the left
  688. button, sizing the zoom box, letting go of the button, panning to the
  689. general area, then double-clicking the left button to perform the Zoom.
  690. ;
  691. ;
  692. ;
  693. ~Topic=Selecting a video mode when loading a file, Label=HELPLOADFILE
  694. ; This topic is only online, context-sensitive.
  695. ~Format-
  696.  
  697. The most suitable video modes for the file are listed first.
  698.  
  699. The 'err' column in the video mode information indicates:
  700.   blank  mode seems perfect for this image
  701.   v     image smaller than screen, will be loaded in a <v>iew window
  702.   c     mode has more colors than image needs
  703.   *     a major problem, one or more of the following is also shown:
  704.    C     mode has too few colors
  705.    R     image larger than screen, Fractint will reduce the image, possibly
  706.      into a <v>iew window, and maybe with aspect ratio a bit wrong
  707.    A     mode has the wrong shape of pixels for this image
  708. ;
  709. ;
  710. ;
  711. ~Topic=Distribution of Fractint
  712. ~Format-,Online-
  713.  
  714. DISTRIBUTION OF FRACTINT
  715. ~Format+,Online+
  716.  
  717. New versions of FRACTINT are uploaded to the CompuServe and BIX networks,
  718. and make their way to other systems from those points.
  719.  
  720. FRACTINT is available as two self-extracting archive files:\
  721.   FRAINT.EXE (executable & documentation) and FRASRC.EXE (source code)
  722.  
  723. The latest version can usually be found in the following locations:\
  724.   CompuServe:  COMART library 15 (both files)\
  725.            IBMNEW library 5  (executable and documentation only)\
  726.   BIX:           GRAPHIC.DISP/LISTINGS and IBM.PC/LISTINGS\
  727.  
  728. What's the latest version?  Well THIS one was, way back when we uploaded it!
  729. ;
  730. ;
  731. ~Topic=Contacting the Authors
  732. ~Format-,Online-
  733.  
  734. CONTACTING THE AUTHORS
  735. ~Format+,Online+
  736.  
  737. Communication between the authors for development of the next version of
  738. Fractint takes place in COMART (Computer Art) Section 15 (Fractals) of
  739. CompuServe (CIS).
  740.  
  741. Most of the authors have never met except on Compuserve.
  742. Access to the COMART forum is open to any and all interested
  743. in computer generated fractals.
  744. New members are always welcome!
  745. Stop on by if you have any questions or
  746. just want to take a peek at what's getting tossed into the soup.
  747.  
  748. Also, you'll find many GIF image files generated by fellow Fractint fans
  749. and many fractal programs as well in the COMART forum's data library 15.
  750.  
  751. The following authors have agreed to the distribution of their addresses.
  752. Usenet/Internet/Bitnet/Whatevernet users can reach CIS users directly if
  753. they know the user ID (i.e., Bert Tyler can be reached as
  754. 73477.433@compuserve.com).
  755.  
  756. Just remember that CIS charges by the minute, so it costs us a little bit
  757. to read a message -- don't kill us with kindness. And don't send all your
  758. mail to Bert -- spread it around a little!
  759.  
  760. Main authors (in historical order):
  761.  
  762. ~Format-
  763. Bert Tyler        [73477,433] on CIS
  764. Tyler Software        btyler on BIX
  765. 124 Wooded Lane
  766. Villanova, PA 19085
  767. (215) 525-6355
  768.  
  769. Timothy Wegner        [71320,675] on CIS
  770. 4714 Rockwood        nmittiw@mwvm.mitre.org on Internet
  771. Houston, TX 77004    twegner@mwunix.mitre.org on Internet
  772. (713) 747-7543
  773.  
  774. Mark Peterson        [70441,3353] on CIS
  775. The Yankee Programmer
  776. 405-C Queen St., Suite #181
  777. Southington, CT 06489
  778. (203) 276-9721
  779.  
  780. Pieter Branderhorst    [72611,2257] on CIS
  781. Amthor Computer Consultants
  782. 645 Radcliffe Lane
  783. Victoria, B.C., Canada V8S 5B8
  784. (604) 598-1299
  785.  
  786. Contributing authors (in alphabetic order);
  787.  
  788. Joseph A Albrecht
  789. 9250 Old Cedar Ave #215
  790. Bloomington, Mn 55425
  791. (612) 884-3286
  792.  
  793. Kevin Allen        kevin@brahman.syd.bull.oz.au on Internet
  794. PO Box 652
  795. Seven Hills
  796. NSW 2147
  797. Australia
  798. (02) 923-9785 (Work)
  799. (02) 831-4821 (Home)
  800. (Kevin has volunteered to act as a contact point in Australia for info
  801. about latest version)
  802.  
  803. Rob Beyer        [71021,2074] on CIS
  804. 23 Briarwood Lane
  805. Laguna Hills, CA, 92656
  806. (714) 831-7665
  807. (7-12pm PST & weekends)
  808.  
  809. John W. Bridges     (Author GRASP/Pictor, Imagetools, PICEM, VGAKIT)
  810. 2810 Serang Place Costa Mesa
  811. California 92626-4827    [73307,606] on CIS, GENIE:JBRIDGES BIX:JBRIDGES
  812.  
  813. Michael D. Burkey    burkey@sun9.math.utk.edu on Internet
  814. 6600 Crossgate Rd.
  815. Knoxville, TN 37912
  816.  
  817. Lee Daniel Crocker    [73407,2030] on CIS
  818. 5506 Camden Ave #D3    lcrocker on BIX
  819. San Jose, CA  95124    lee@mport.com (Microport)
  820. (408) 267-2926        ...!uunet!mport!lee
  821.  
  822. Monte Davis        [71450,3542] on CIS
  823. 31 Washington St
  824. Brooklyn, NY 11201
  825. (718) 625-4610
  826.  
  827. Lutz Glagau        glagau@hrz.uni-siegen.dbp.de on INTERNET
  828. Computer Center of the University of Siegen
  829. Hoelderlinstrasse 3
  830. D 5900 Siegen
  831. Germany
  832. (Lutz has volunteered to act as a contact point in Germany for info
  833. about latest version)
  834.  
  835. David Guenther        [70531,3525] on CIS
  836. 50 Rockview Drive
  837. Irvine, CA 92715
  838.  
  839. Michael L. Kaufman    kaufman@eecs.nwu.edu on INTERNET
  840. 2247 Ridge Ave, #2K    (also accessible via EXEC-PC bbs)
  841. Evanston, IL, 60201
  842. (708) 864-7916
  843.  
  844. Adrian Mariano        adrian@milton.u.washington.edu on INTERNET
  845. 2729 72nd AVE SE
  846. Mercer Island, WA 98040
  847.  
  848. Joe McLain        [75066,1257] on CIS
  849. McLain Imaging
  850. 2417 Venier
  851. Costa Mesa, CA 92627
  852. (714) 642-5219
  853.  
  854. Bob Montgomery        [73357,3140] on CIS
  855. (Author of VPIC)
  856. 132 Parsons Road
  857. Longwood, Fl  32779
  858.  
  859. Ethan Nagel        [70022,2552] on CIS
  860. PO Box 7
  861. Yarnell, Arizona 85362
  862. (602)427-3233
  863.  
  864. Marc Reinig        [72410,77] on CIS
  865. 3415 Merrill Rd.    marco@sun.com!daver!cypress on Usenet
  866. Aptos, CA. 95003
  867. (408) 475-2132
  868.  
  869. Prof. JM Richard-Collard mpi@frmop53.bitnet on BitNet
  870.              mpi@cnuvx1.cnusc.fr on Internet
  871.  
  872. Lee H. Skinner
  873. P.O. Box 14944
  874. Albuquerque, NM  87191
  875.  
  876. Dean Souleles        [75115,1671] on CIS
  877. 8840 Collett Ave.
  878. Sepulveda, CA  91343
  879. (818) 893-7558
  880.  
  881. Scott Taylor              [72401,410] on CIS
  882. 1901 South County Road 23E    DGWM18A on Prodigy
  883. Berthoud, CO 80513
  884. (303) 651-6692
  885.  
  886. Paul Varner        [73237,441] on CIS
  887. PO Box 930
  888. Shepherdstown, WV 25443
  889. (304) 876-2011
  890.  
  891. Phil Wilson        [76247,3145] on CIS
  892. 410 State St., #55
  893. Brooklyn, NY 11217
  894. (718) 624-5272
  895. ~Format+
  896. ;
  897. ;
  898. ~Topic=The Stone Soup Story
  899. ~Format-,Online-
  900. THE STONE SOUP STORY
  901. ~Format+,Online+
  902.  
  903. Once upon a time, somewhere in Eastern Europe, there was a great famine.
  904. People jealously hoarded whatever food they could find, hiding it even
  905. from their friends and neighbors. One day a peddler drove his wagon into a
  906. village, sold a few of his wares, and began asking questions as if he
  907. planned to stay for the night.
  908.  
  909. [No!  No!  It was three Russian Soldiers! - Lee Crocker]\
  910. [Wait!    I heard it was a Wandering Confessor! - Doug Quinn]\
  911. [Well *my* kids have a book that uses Russian Soldiers! - Bert]\
  912. [Look, who's writing this documentation, anyway? - Monte]\
  913. [Ah, but who gets it *last* and gets to upload it? - Bert]\
  914.  
  915. "There's not a bite to eat in the whole province," he was told. "Better
  916. keep moving on."
  917.  
  918. "Oh, I have everything I need," he said. "In fact, I was thinking of
  919. making some stone soup to share with all of you." He pulled an iron
  920. cauldron from his wagon, filled it with water, and built a fire under it.
  921. Then, with great ceremony, he drew an ordinary-looking stone from a velvet
  922. bag and dropped it into the water.
  923.  
  924. By now, hearing the rumor of food, most of the villagers had come to the
  925. square or watched from their windows. As the peddler sniffed the "broth"
  926. and licked his lips in anticipation, hunger began to overcome their
  927. skepticism.
  928.  
  929. "Ahh," the peddler said to himself rather loudly, "I do like a tasty stone
  930. soup. Of course, stone soup with CABBAGE -- that's hard to beat."
  931.  
  932. Soon a villager approached hesitantly, holding a cabbage he'd retrieved
  933. from its hiding place, and added it to the pot. "Capital!" cried the
  934. peddler. "You know, I once had stone soup with cabbage and a bit of salt
  935. beef as well, and it was fit for a king."
  936.  
  937. The village butcher managed to find some salt beef...and so it went,
  938. through potatoes, onions, carrots, mushrooms, and so on, until there was
  939. indeed a delicious meal for all. The villagers offered the peddler a great
  940. deal of money for the magic stone, but he refused to sell and traveled on
  941. the next day. And from that time on, long after the famine had ended, they
  942. reminisced about the finest soup they'd ever had.
  943.  
  944.                 ***
  945.  
  946. That's the way Fractint has grown, with quite a bit of magic, although
  947. without the element of deception. (You don't have to deceive programmers
  948. to make them think that hours of painstaking, often frustrating work is
  949. fun... they do it to themselves.)
  950.  
  951. It wouldn't have happened, of course, without Benoit Mandelbrot and the
  952. explosion of interest in fractal graphics that has grown from his work at
  953. IBM. Or without the example of other Mandelplotters for the PC. Or without
  954. those wizards who first realized you could perform Mandelbrot calculations
  955. using integer math (it wasn't us - we just recognize good algorithms when
  956. we steal--uhh--see them).  Or those graphics experts who hang around the
  957. Compuserve PICS forum and keep adding video modes to the program.  Or...
  958. ~Doc-
  959. (continued in {A Word About the Authors})
  960. ~Doc+
  961. ;
  962. ;
  963. ~Topic=A Word About the Authors
  964. ~Format-,Online-
  965.  
  966. A WORD ABOUT THE AUTHORS
  967. ~Format+,Online+
  968.  
  969. Fractint is the result of a synergy between the main authors, many
  970. contributors, and published sources.  All four of the main authors have
  971. had a hand in many aspects of the code.  However, each author has certain
  972. areas of greater contribution and creativity.  Since there is not room in
  973. the credits screen for the contributions of the main authors, we list these
  974. here to facilitate those who would like to communicate with us on
  975. particular subjects.
  976.  
  977. Bert Tyler is the original author.  He wrote the "blindingly fast" 386-
  978. specific 32 bit integer math code and the original video mode logic. Bert
  979. made Stone Soup possible, and provides a sense of direction when we need
  980. it. His forte is writing fast 80x86 assembler, his knowledge of a variety
  981. of video hardware, and his skill at hacking up the code we send him!
  982.  
  983. Bert has a BA in mathematics from Cornell University.  He has been in
  984. programming since he got a job at the computer center in his sophomore
  985. year at college - in other words, he hasn't done an honest day's work in
  986. his life.  He has been known to pass himself off as a PC expert, a UNIX
  987. expert, a statistician, and even a financial modeling expert.  He is
  988. currently masquerading as an independent PC consultant, supporting the PC-
  989. to-Mainframe communications environment at NIH.  If you sent mail from the
  990. Internet to an NIH staffer on his 3+Mail system, it was probably Bert's
  991. code that mangled it during the Internet-to-3+Mail conversion.    He also
  992. claims to support the MS-Kermit environment at NIH. Fractint is Bert's
  993. first effort at building a graphics program.
  994.  
  995. Tim Wegner contributed the original implementation of palette animation,
  996. and is responsible for most of the 3D mechanisms.  He provided the main
  997. outlines of the "StandardFractal" engine and data structures, and is
  998. accused by his cohorts of being "obsessed with options".  Tim is quite
  999. proud of having originally integrated the 256 color super VGA modes in
  1000. Fractint, especially since he knows almost nothing about it!
  1001.  
  1002. Tim has BA and MA degrees in mathematics from Carleton College and the
  1003. University of California Berkeley.  He worked for 7 years overseas as a
  1004. volunteer, doing things like working with Egyptian villagers building
  1005. water systems. Since returning to the US in 1982, he has written shuttle
  1006. navigation software, a software support environment prototype, and
  1007. supported strategic information planning, all at NASA's Johnson Space
  1008. Center.
  1009.  
  1010. Mark Peterson invented the periodicity detection logic, several original
  1011. fractal types, transcendental function libraries, alternate math
  1012. implementations, the formula compiler, and the "Julibrot" intrinsic 3D
  1013. fractals - in other words, most of the truly original ideas in Fractint!
  1014.  
  1015. Mark's knowledge of higher mathematics and programming was achieved almost
  1016. entirely through self-study.  Mark has written several magazine articles on
  1017. computer programming and is coauthor of a book on Fractint called Fractal
  1018. Creations.  Mark is also a free-lance computer consultant specializing in high
  1019. performance applications.
  1020.  
  1021. Pieter Branderhorst is a late-comer to the group who likes to distract the
  1022. other authors with enhancements impacting at least half of the source at
  1023. once.  His contributions include super solid guessing, image rotation,
  1024. resume, fast disk caching, and the new user interface.    More than any of
  1025. the authors, he has personally touched and massaged the entire source.
  1026.  
  1027. Pieter left high school to work with computers, back when huge machines
  1028. had 64k of core.  He's been happily computing since, mostly programming
  1029. and designing software from comms firmware to database and o/s, and
  1030. anything between, and large scale online transaction processing
  1031. applications.  He has worked as a free-lance computer consultant (whatever
  1032. that means) since 1983.
  1033. ;
  1034. ;
  1035. ~Topic=A Plug for "Fractal Creations"
  1036.  
  1037. Two of Fractint's primary authors, Timothy Wegner and Mark Peterson, have
  1038. written a book about fractals and Fractint.
  1039.  
  1040. The book is The Waite Group's Fractal Creations (Copyright (C) 1991 Waite
  1041. Group Press).
  1042.  
  1043. ~Format-
  1044. Fractal Creations includes:
  1045.  o A guided tour of Fractint.
  1046.  o A detailed manual and reference section of commands.
  1047.  o A tutorial on fractals.
  1048.  o A reference containing tips, explanations, and examples of parameters
  1049.    for all the Fractals generated by Fractint.
  1050.  o Secrets on how the program works internally.
  1051.  o 3-D red/blue glasses.
  1052.  o A fold-out color poster of the most spectacular fractals.
  1053.  o A disk containing Fractint version 15.11 and demonstration files.
  1054. ~Format+
  1055.  
  1056. If you enjoy Fractint, you're sure to enjoy Fractal Creations. The book
  1057. includes Fractint version 15.11 but is also an excellent companion to
  1058. later versions of Fractint.
  1059. ;
  1060. ;
  1061. ~Topic=Bibliography
  1062.  
  1063. BARNSLEY, Michael: "Fractals Everywhere", Academic Press, 1988.
  1064.  
  1065. DEWDNEY, A. K., "Computer Recreations" columns in "Scientific American" --
  1066.    8/85, 7/87, 11/87, 12/88, 7/89.
  1067.  
  1068. FEDER, Jens: "Fractals", Plenum, 1988.\
  1069.    Quite technical, with good coverage of applications in fluid
  1070.    percolation, game theory, and other areas.
  1071.  
  1072. GLEICK, James: "Chaos: Making a New Science", Viking Press, 1987.\
  1073.    The best non-technical account of the revolution in our understanding
  1074.    of dynamical systems and its connections with fractal geometry.
  1075.  
  1076. MANDELBROT, Benoit: "The Fractal Geometry of Nature", W. H. Freeman & Co.,
  1077.    1982.\
  1078.    An even more revised and expanded version of the 1977 work. A rich and
  1079.    sometimes confusing stew of formal and informal mathematics, the
  1080.    prehistory of fractal geometry, and everything else. Best taken in
  1081.    small doses.
  1082. ~OnlineFF
  1083.  
  1084. MANDELBROT, Benoit: "Fractals: Form, Chance, and Dimension", W. H. Freeman
  1085.    & Co., 1977\
  1086.    A much revised translation of "Les objets fractals: forme, hasard, et
  1087.    dimension," Flammarion, 1975.
  1088.  
  1089. PEITGEN, Heinz-Otto & RICHTER, Peter: "The Beauty of Fractals," Springer-
  1090.    Verlag, 1986.\
  1091.    THE coffee-table book of fractal images, knowledgeable on computer
  1092.    graphics as well as the mathematics they portray.
  1093.  
  1094. PEITGEN, Heinz-Otto & SAUPE, Ditmar: "The Science of Fractal Images,"
  1095.    Springer-Verlag, 1988.\
  1096.    A fantastic work, with a few nice pictures, but mostly filled with
  1097.    *equations*!!!
  1098.  
  1099. WEGNER, Timothy & PETERSON, Mark: "Fractal Creations", Waite Group Press,
  1100.    1991.\
  1101.    If we tell you how *wonderful* this book is you might think we were
  1102.    bragging, so let's just call it:  THE definitive companion to Fractint!
  1103. ;
  1104. ;
  1105. ~Topic=Other Programs
  1106.  
  1107. WINFRACT. Bert Tyler has ported Fractint to run under Windows 3!  The same
  1108. underlying code is used, with a Windows user interface.  Winfract has
  1109. almost all the functionality of Fractint - the biggest difference is the
  1110. absence of a zillion weird video modes.  Fractint for DOS will continue to
  1111. be the definitive version.  Winfract is available from CompuServe in
  1112. COMART Lib 15, as WINFRA.ZIP (executable) and WINSRC.ZIP (source).
  1113.  
  1114.  
  1115. PICLAB, by Lee Crocker - a freeware image manipulation utility available
  1116. from Compuserve in PICS Lib 14, as PICLAB.EXE.    PICLAB can do very
  1117. sophisticated resizing and color manipulation of GIF and TGA files.  It
  1118. can be used to reduce 24 bit TGA files generated with the Fractint
  1119. "lightname" option to GIF files.
  1120.  
  1121. ~OnlineFF
  1122.  
  1123. ~Label=@FDESIGN
  1124. FDESIGN, by Doug Nelson (CIS ID 70431,3374) - a freeware IFS fractal
  1125. generator available from Compuserve in COMART Lib 15, and probably on your
  1126. local BBS.  This program requires a VGA adapter and a Microsoft-compatible
  1127. mouse, and a floating point coprocessor is highly recommended.    It
  1128. generates IFS fractals in a *much* more intuitive fashion than Fractint.
  1129. It can also (beginning with version 3.0) save its IFS formulas in
  1130. Fractint-style .IFS files.
  1131.  
  1132. ~Label=@ACROSPIN
  1133. ACROSPIN, by David Parker - An inexpensive commercial program that reads
  1134. an object definition file and creates images that can be rapidly rotated
  1135. in three dimensions. The Fractint "orbitsave=yes" option creates files that
  1136. this program can read for orbit-type fractals and IFS fractals. Contact:
  1137.    David Parker             801-966-2580\
  1138.    P O Box 26871            800-227-6248\
  1139.    Salt Lake City, UT  84126-0871
  1140. ;
  1141. ;
  1142. ~Topic=Revision History
  1143.  
  1144. Features first appearing in:\
  1145. ===========================
  1146.  
  1147. Version 16.0, 6/91
  1148.  
  1149.   Integrated online help / fractint.doc system from Ethan Nagel.
  1150.     To create a printable fractint.doc file see {Startup Parameters}.
  1151.   Over 350 screens of online help! Try pressing <F1> just about anywhere!\
  1152.   New "autokey" feature.  Type "demo" to run the included demo.bat and
  1153.     demo.key files for a great demonstration of Fractint.
  1154.   New <@> command executes a saved set of commands.  The <b> command has
  1155.     changed to write the current image's parameters as a named set of
  1156.     commands in a structured file.  Saved sets of commands can subsequently
  1157.     be executed with the <@> command.
  1158.     A default "fractint.par" file is included with the release.
  1159.   New <z> command allows changing fractal type-specific parameters without
  1160.     going back through the <t> (fractal type selection) screen.
  1161.   Ray tracer interface from Marc Reinig, generates 3d transform output for a
  1162.     number of ray tracers
  1163.   Selection of video modes and structure of "fractint.cfg" have changed. If
  1164.     you have a customized fractint.cfg file, you'll have to rebuild it based
  1165.     on this release's version. You can customize the assignment of your
  1166.     favorite video modes to function keys.
  1167.     <delete> is a new command key which goes directly to video mode selection.
  1168.   New "cyclerange" option (command line and <y> options screen) from Hugh
  1169.     Steele. Limits color cycling to a specified range of colors.
  1170.   Improved {Distance Estimator Method} algorithm from Phil Wilson.\
  1171.   New "ranges=" option from Norman Hills.
  1172.     See {Logarithmic Palettes and Color Ranges} for details.
  1173.   type=formula definitions can use "variable functions" to select
  1174.     sin, cos, sinh, cosh, exp, log, etc at run time;
  1175.     new built-ins tan, tanh, cotan, cotanh, and flip
  1176.     are available with type=formula
  1177.   New <w> command in palette editing mode to convert image to greyscale\
  1178.   All "fn" fractal types (e.g. fn*fn) can now use new functions tan, tanh,
  1179.     cotan, cotanh, recip, and ident; bug in prior cos function fixed, new
  1180.     function cosxx (conjugate of cos) is the old erroneous cos calculation
  1181.   New L-Systems from Herb Savage\
  1182.   New IFS types from Alex Matulich\
  1183.   Many new formulas in fractint.frm, including a large group from
  1184.     JM Richard-Collard
  1185.   New color maps (neon, royal, volcano, blues, headache) from Daniel Egnor\
  1186.   IFS type has changed to use a single file containing named entries
  1187.     (instead of a separate xxx.ifs file per type); the <z> command brings up
  1188.     IFS editor (used to be <i> command).
  1189.   Initial orbit parameter added to Gingerbreadman fractal type\
  1190.   Much improved support for PaintJet printers\
  1191.   From Scott Taylor:\
  1192.     Support for plotters using HP-GL\
  1193.     Lots of new PostScript halftones\
  1194.     "printer=PS[L]/0/..." for full page PostScript\
  1195.     Option to drive printer ports directly (faster)\
  1196.     Option to change printer end of line control chars\
  1197.   Support for XGA video adapter\
  1198.   Support for Targa+ video adapter\
  1199.   16 color VGA mode enhancements:\
  1200.     Now use the first 16 colors of .map files to be more predictable\
  1201.     Palette editor now works with these modes\
  1202.     Color cycling now works properly with these modes
  1203.   Targa video adapter fixes; Fractint now uses (and requires) the "targa"
  1204.     and "targaset" environment variables for Targa systems
  1205.   "vesadetect=no" parameter to bypass use of VESA video driver; try
  1206.     this if you encounter video problems with a VESA driver
  1207.   Upgraded video adapter detect and handling from John Bridges; autodetect
  1208.     added for NCR, Trident 8900, Tseng 4000, Genoa (this code
  1209.     is from a beta release of VGAKIT, we're not sure it all works yet)
  1210.   Zoom box is included in saved/printed images (but, is not recognized as
  1211.     anything special when such an image is restored)
  1212.   The colors numbers reserved by the palette editor are now selectable with
  1213.     the new <v> palette editing mode command
  1214.   Option to use IIT floating point chip's special matrix arithmetic for
  1215.     faster 3D transforms
  1216.   Disk video cache increased to 64k; disk video does less seeking when
  1217.     running to real disk
  1218.   Faster floating point code for 287 and higher fpus, for types mandel,
  1219.     julia, barnsleyj1/m1/j2/m2, lambda, manowar, from Chuck Ebbert
  1220.   "filename=.xxx" can be used to set default <r> function file mask\
  1221.   Selection of type formula or lsys now goes directly to entry selection
  1222.     (file selection step is now skipped); to change to a different file, use
  1223.     <F6> from the entry selection screen
  1224.   Three new values have been added to the textcolors= parameter; if you use
  1225.     this parameter you should update it by inserting values for the new 6th,
  1226.     7th, 9th, and 13th positions
  1227.   The formula type's imag() function has changed to return the result as
  1228.     a real number
  1229.   Fractal type-specific parameters (entered after selecting a new fractal
  1230.     type with <T>) now restart at their default values each time you select
  1231.     a new fractal type
  1232.   Floating point input fields can now be entered in scientific notation (e.g.
  1233.     11.234e-20). Entering the letters "e" and "p" in the first column causes
  1234.     the numbers e=2.71828... and pi=3.14159... to be entered.
  1235.   Generalized type manzpwr with complex exponent per Lee Skinner's request\
  1236.   New option "orbitsave=yes" to create files for Acrospin for some types\
  1237.   Bug fixes:\
  1238.     Problem with Hercules adapter auto-detection repaired.\
  1239.     Problems with VESA video adapters repaired (we're not sure we've got them
  1240.       all yet...)\
  1241.     3D transforms fixed to work at high resolutions (> 1000 dots).\
  1242.     3D parameters no longer clobbered when restoring non-3D images.\
  1243.     L-Systems fixed to not crash when order too high for available memory.\
  1244.     PostScript EPS file fixes.\
  1245.     Bad leftmost pixels with floating point at 2048 dot resolution fixed.\
  1246.     3D transforms fixed to use current <x> screen float/integer setting.\
  1247.     Restore of images using inversion fixed.\
  1248.     Error in "cos" function (used with "fn" type fractals) fixed; prior
  1249.       incorrect function still available as "cosxx" for compatibility
  1250.   Old 3D=nn/nn/nn/... form of 3D transform parameters no longer supported\
  1251.   Fractint source code now Microsoft C6.00A compatible.
  1252.  
  1253.  
  1254. Version 15.11, 3/91, companion to Fractal Creations, not for general
  1255. release
  1256.  
  1257.   Autokey feature, IIT fpu support, and some bug fixes publicly released in
  1258.   version 16.
  1259.  
  1260.  
  1261. Version 15 and 15.1, 12/90
  1262.  
  1263.   New user interface! Enjoy! Some key assignments have changed and some have
  1264.     been removed.
  1265.   New palette editing from Ethan Nagel.\
  1266.   Reduced memory requirements - Fractint now uses overlays and will run on a
  1267.     512K machine.
  1268.   New <v>iew command: use to get small window for fast preview, or to setup
  1269.     an image which will eventually be rendered on hard copy with different
  1270.     aspect ratio
  1271.   L-System fractal type from Adrian Mariano\
  1272.   Postscript printer support from Scott Taylor\
  1273.   Better Tandy video support and faster CGA video from Joseph A Albrecht\
  1274.   16 bit continuous potential files have changed considerably;    see the
  1275.     Continuous Potential section for details.  Continuous potential is now
  1276.     resumable.
  1277.   Mandelbrot calculation is faster again (thanks to Mike Gelvin) - double
  1278.     speed in 8086 32 bit case
  1279.   Compressed log palette and sqrt palette from Chuck Ebbert\
  1280.   Calculation automatically resumes whenever current image is resumable and
  1281.     is not paused for a visible reason.
  1282.   Auto increment of savename changed to be more predictable\
  1283.   New video modes:\
  1284.     trident 1024x768x256 mode\
  1285.     320x480x256 tweak mode (good for reduced 640x480 viewing)\
  1286.     changed NEC GB-1, hopefully it works now\
  1287.   Integer mandelbrot and julia now work with periodicitycheck\
  1288.   Initial zoombox color auto-picked for better contrast (usually)\
  1289.   New adapter=cga|ega|mcga|vga for systems having trouble with auto-detect\
  1290.   New textsafe=no|yes for systems having trouble with garbled text mode\
  1291.   <r> and <3> commands now present list of video modes to pick from; <r> can
  1292.     reduce a non-standard or unviewable image size.
  1293.   Diffusion fractal type is now resumable after interrupt/save\
  1294.   Exitmode=n parameter, sets video mode to n when exiting from fractint\
  1295.   When savetime is used with 1 and 2 pass and solid guessing, saves are
  1296.     deferred till the beginning of a new row, so that no calculation time is
  1297.     lost.
  1298.   3d photographer's mode now allows the first image to be saved to disk\
  1299.   textcolors=mono|12/34/56/... -- allows setting user interface colors\
  1300.   Code (again!) compilable under TC++ (we think!)\
  1301.   .TIW files (from v9.3) are no longer supported as input to 3D
  1302.     transformations
  1303.   bug fixes:\
  1304.     multiple restores (msc 6.0, fixed in 14.0r)\
  1305.     repeating 3d loads problem; slow 3d loads of images with float=yes\
  1306.     map= is now a real substitute for default colors\
  1307.     starfield and julibrot no longer cause permanent color map replacement\
  1308.     starfield parameters bug fix - if you couldn't get the starfield
  1309.     parameters to do anything interesting before, try again with this\
  1310.     release\
  1311.     Newton and newtbasin orbit display fixed
  1312.  
  1313.  Version 15.1:
  1314.  
  1315.   Fixed startup and text screen problems on systems with VESA compliant
  1316.     video adapters.
  1317.   New textsafe=save|bios options.\
  1318.   Fixes for EGA with monochrome monitor, and for Hercules Graphics Card.
  1319.     Both should now be auto-detected and operate correctly in text modes.
  1320.     Options adapter=egamono and adapter=hgc added.
  1321.   Fixed color L-Systems to not use color 0 (black).\
  1322.   PostScript printing fix.
  1323.  
  1324.  
  1325. Version 14, 8/90
  1326.  
  1327.   LAST MINUTE NEWS FLASH!\
  1328.     Compuserve announces the GIF89a on August 1, 1990, and Fractint supports
  1329.     it on August 2! GIF files can now contain fractal information!  Fractint
  1330.     now saves its files in the new GIF89a format by default, and uses .GIF
  1331.     rather than .FRA as a default filetype.  Note that Fractint still
  1332.     *looks* for a .FRA file on file restores if it can't find a .GIF file,
  1333.     and can be coerced into using the old GIF87a format with the new
  1334.     'gif87a=yes' command-line option.
  1335.  
  1336.   Pieter Branderhorst mounted a major campaign to get his name in lights:\
  1337.   Mouse interface:  Diagonals, faster movement, improved feel. Mouse button
  1338.     assignments have changed - see the online help.
  1339.   Zoom box enhancements:  The zoom box can be rotated, stretched, skewed,
  1340.     and panned partially offscreen.  See "More Zoom Box Commands".
  1341.   FINALLY!! You asked for it and we (eventually, by talking Pieter into it
  1342.     [actually he grabbed it]) did it!  Images can be saved before
  1343.     completion, for a subsequent restore and continue.    See "Interrupting
  1344.     and Resuming" and "Batch Mode".
  1345.   Off-center symmetry:    Fractint now takes advantage of x or y axis symmetry
  1346.     anywhere on the screen to reduce drawing time.
  1347.   Panning:  If you move an image up, down, left, or right, and don't change
  1348.     anything else, only the new edges are calculated.
  1349.   Disk-video caching - it is now possible, reasonable even, to do most
  1350.     things with disk video, including solid guessing, 3d, and plasma.
  1351.   Logarithmic palette changed to use all colors.  It now matches regular
  1352.     palette except near the "lake".  "logmap=old" gets the old way.
  1353.   New "savetime=nnn" parameter to save checkpoints during long calculations.\
  1354.   Calculation time is shown in <Tab> display.
  1355.  
  1356.   Kevin Allen, of Antipodean origin, did the following:\
  1357.   Made Bifurcation/Verhulst into a generalized Fractal Engine (like
  1358.     StandardFractal, but for Bifurcation types), and implemented periodicity
  1359.     checking for Bifurcation types to speed them up.
  1360.   Added Integer version of Verhulst Bifurcation (lots faster now). Integer
  1361.     is the default.  The Floating-Point toggle works, too.
  1362.   Added NEW Fractal types BIFLAMBDA, BIF+SINPI, and BIF=SINPI. These are
  1363.     Bifurcation types that make use of the new Engine. Floating-
  1364.     point/Integer toggle is available for BIFLAMBDA. The SINPI types are
  1365.     Floating-Point only, at this time.
  1366.   Corrected the generation of the MandelLambda Set.  Sorry, but it's always
  1367.     been wrong (up to v 12, at least).    Ask Mandelbrot !
  1368.   Added NEW Fractal types MAGNET1M, MAGNET1J, MAGNET2M, MAGNET2J from "The
  1369.     Beauty of Fractals".  Floating-Point only, so far, but what do you
  1370.     expect with THESE formulae ?!
  1371.   Added new symmetry types XAXIS NOIMAG and XAXIS NOREAL, required by the
  1372.     new MAGNETic Fractal types.
  1373.   Added Finite Attractor Bailout (FAB) logic to detect when iterations are
  1374.     approaching a known finite attractor. This is required by the new
  1375.     MAGNETic Fractal types.
  1376.   Added Finite Attractor Detection (FAD) logic which can be used by *SOME*
  1377.     Julia types prior to generating an image, to test for finite attractors,
  1378.     and find their values, for use by FAB logic. Can be used by the new
  1379.     MAGNETic Fractal Types, Lambda Sets, and some other Julia types too.
  1380.  
  1381.   Mike Burkey sent us new tweaked video modes:\
  1382.     VGA     - 400x600x256   376x564x256   400x564x256\
  1383.     ATI VGA - 832x612x256
  1384.   New HP Paintjet support from Chris Martin\
  1385.   New "FUNCTION=" command to allow substition of different transcendental
  1386.     functions for variables in types (allows one type with four of these
  1387.     variables to represent 7*7*7*7 different types!
  1388.   ALL KINDS of new fractal types, some using "FUNCTION=": fn(z*z), fn*fn,
  1389.     fn*z+z, fn+fn, sqr(1/fn), sqr(fn), spider, tetrate, and Manowar. Most of
  1390.     these are generalizations of formula fractal types contributed by Scott
  1391.     Taylor and Lee Skinner.
  1392.   Distance Estimator logic can now be applied to many fractal types using
  1393.     distest= option. The types "demm" and "demj" have been replaced by
  1394.     "type=mandel distest=nnn" and "type=julia distest=nnn"
  1395.   Added extended memory support for diskvideo thanks to Paul Varner\
  1396.   Added support for "center and magnification" format for corners.\
  1397.   Color 0 is no longer generated except when specifically requested with
  1398.     inside= or outside=.
  1399.   Formula name is now included in <Tab> display and in <S>aved images.\
  1400.   Bug fixes - formula type and diskvideo, batch file outside=-1 problem.\
  1401.   Now you can produce your favorite fractal terrains in full color instead
  1402.     of boring old monochrome! Use the fullcolor option in 3d! Along with a
  1403.     few new 3D options.
  1404.   New "INITORBIT=" command to allow alternate Mandelbrot set orbit
  1405.     initialization.
  1406.  
  1407.  
  1408. Version 13.0, 5/90
  1409.  
  1410.   F1 was made the help key.\
  1411.     Use F1 for help\
  1412.     Use F9 for EGA 320x200x16 video mode\
  1413.     Use CF4 for EGA 640x200x16 mode (if anybody uses that mode)\
  1414.   Super-Solid-guessing (three or more passes) from Pieter Branderhorst
  1415.     (replaces the old solid-guessing mode)
  1416.   Boundary Tracing option from David Guenther ("fractint passes=btm", or use
  1417.     the new 'x' options screen)
  1418.   "outside=nnn" option sets all points not "inside" the fractal to color
  1419.     "nnn" (and generates a two-color image).
  1420.   'x' option from the main menu brings up a full-screen menu of many popular
  1421.     options and toggle switches
  1422.   "Speed Key" feature for fractal type selection (either use the cursor keys
  1423.     for point-and-shoot, or just start typing the name of your favorite
  1424.     fractal type)
  1425.   "Attractor" fractals (Henon, Rossler, Pickover, Gingerbread)\
  1426.   Diffusion fractal type by Adrian Mariano\
  1427.   "type=formula" formulas from Scott Taylor and Lee H. Skinner.\
  1428.   "sound=" options for attractor fractals.  Sound=x  plays speaker tones
  1429.     according to the 'x' attractor value  Sound=y  plays speaker tones
  1430.     according to the 'y' attractor value.  Sound=z  plays speaker tones
  1431.     according to the 'z' attractor value  (These options are best invoked
  1432.     with the floating-point algorithm flag set.)
  1433.   "hertz=" option for adjusting the "sound=x/y/z" output.\
  1434.   Printer support for color printers (printer=color) from Kurt Sowa\
  1435.   Trident 4000 and Oak Technologies SuperVGA support from John Bridges\
  1436.   Improved 8514/A support (the zoom-box keeps up with the cursor keys now!)\
  1437.   Tandy 1000 640x200x16 mode from Brian Corbino (which does not, as yet,
  1438.     work with the F1(help) and TAB functions)
  1439.   The Julibrot fractal type and the Starmap option now automatically verify
  1440.     that they have been selected with a 256-color palette, and search for,
  1441.     and use, the appropriate GLASSESn.MAP or ALTERN.MAP palette map when
  1442.     invoked.  *You* were supposed to be doing that manually all along, but
  1443.     *you* probably never read the docs, huh?
  1444.   Bug Fixes:\
  1445.     TAB key now works after R(estore) commands\
  1446.     PS/2 Model 30 (MCGA) adapters should be able to select 320x200x256 mode
  1447.       again (we think)\
  1448.     Everex video adapters should work with the Autodetect modes again (we
  1449.       think)
  1450.  
  1451.  
  1452. Version 12.0, 3/90
  1453.  
  1454.   New SuperVGA Autodetecting and VESA Video modes (you tell us the
  1455.     resolution you want, and we'll figure out how to do it)
  1456.   New Full-Screen Entry for most prompting\
  1457.   New Fractal formula interpreter ('type=formula') - roll your own fractals
  1458.     without using a "C" compiler!
  1459.   New 'Julibrot' fractal type\
  1460.   Added floating point option to all remaining fractal types.\
  1461.   Real (funny glasses) 3D - Now with "real-time" lorenz3D!!\
  1462.   Non-Destructive <TAB> - Check out what your fractal parameters are without
  1463.     stopping the generation of a fractal image
  1464.   New Cross-Hair mode for changing individual palette colors (VGA only)\
  1465.   Zooming beyond the limits of Integer algorithms (with automatic switchover
  1466.     to a floating-point algorithm when you zoom in "too far")
  1467.   New 'inside=bof60', 'inside=bof61' ("Beauty of Fractals, Page nn") options\
  1468.   New starmap ('a' - for astrology? astronomy?) transformation option\
  1469.   Restrictions on the options available when using Expanded Memory
  1470.     "Disk/RAM" video mode have been removed
  1471.   And a lot of other nice little clean-up features that we've already
  1472.     forgotten that we've added...
  1473.   Added capability to create 3D projection images (just barely) for people
  1474.     with 2 or 4 color video boards.
  1475.  
  1476.  
  1477. Version 11.0, 1/90
  1478.  
  1479.   More fractal types\
  1480.     mandelsinh/lambdasinh     mandelcosh/lambdacosh\
  1481.     mansinzsqrd/julsinzsqrd     mansinexp/julsinexp\
  1482.     manzzprw/julzzpwr         manzpower/julzpower\
  1483.     lorenz (from Rob Beyer)     lorenz3d\
  1484.     complexnewton         complexbasin\
  1485.     popcorn\
  1486.   Most fractal types given an integer and a floating point algorithm.
  1487.     "Float=yes" option now determines whether integer or floating-point
  1488.     algorithms are used for most fractal types.  "F" command toggles the use
  1489.     of floating-point algorithms, flagged in the <Tab> status display
  1490.   8/16/32/../256-Way decomposition option (from Richard Finegold)\
  1491.   "Biomorph=", "bailout=", "symmetry="  and "askvideo=" options\
  1492.   "T(ransform)" option in the IFS editor lets you select 3D options (used
  1493.     with the Lorenz3D fractal type)
  1494.   The "T(ype)" command uses a new "Point-and-Shoot" method of selecting
  1495.     fractal types rather than prompting you for a type name
  1496.   Bug fixes to continuous-potential algorithm on integer fractals, GIF
  1497.     encoder, and IFS editor
  1498.  
  1499.  
  1500. Version 10.0, 11/89
  1501.  
  1502.   Barnsley IFS type (Rob Beyer)\
  1503.   Barnsley IFS3D type\
  1504.   MandelSine/Cos/Exp type\
  1505.   MandelLambda/MarksLambda/Unity type\
  1506.   BarnsleyM1/J1/M2/J2/M3/J3 type\
  1507.   Mandel4/Julia4 type\
  1508.   Sierpinski gasket type\
  1509.   Demm/Demj and bifurcation types (Phil Wilson), "test" is "mandel" again\
  1510.   <I>nversion command for most fractal types\
  1511.   <Q>uaternary decomposition toggle and "DECOMP=" argument\
  1512.   <E>ditor for Barnsley IFS parameters\
  1513.   Command-line options for 3D parameters\
  1514.   Spherical 3D calculations 5x faster\
  1515.   3D now clips properly to screen edges and works at extreme perspective\
  1516.   "RSEED=" argument for reproducible plasma clouds\
  1517.   Faster plasma clouds (by 40% on a 386)\
  1518.   Sensitivity to "continuous potential" algorithm for all types except
  1519.     plasma and IFS
  1520.   Palette-map <S>ave and Restore (<M>) commands\
  1521.   <L>ogarithmic and <N>ormal palette-mapping commands and arguments\
  1522.   Maxiter increased to 32,000 to support log palette maps\
  1523.   .MAP and .IFS files can now reside anywhere along the DOS path\
  1524.   Direct-video support for Hercules adapters (Dean Souleles)\
  1525.   Tandy 1000 160x200x16 mode (Tom Price)\
  1526.   320x400x256 register-compatible-VGA "tweaked" mode\
  1527.   ATI VGA Wonder 1024x768x16 direct-video mode (Mark Peterson)\
  1528.   1024x768x16 direct-video mode for all supported chipsets\
  1529.   Tseng 640x400x256 mode\
  1530.   "Roll-your-own" video mode 19\
  1531.   New video-table "hot-keys" eliminate need for enhanced keyboard to access
  1532.     later entries
  1533.  
  1534.  
  1535. Version 9.3, 8/89
  1536.  
  1537.   <P>rint command and "PRINTER=" argument (Matt Saucier)\
  1538.   8514/A video modes (Kyle Powell)\
  1539.   SSTOOLS.INI sensitivity and '@THISFILE' argument\
  1540.   Continuous-potential algorithm for Mandelbrot/Julia sets\
  1541.   Light source 3D option for all fractal types\
  1542.   "Distance estimator" M/J method (Phil Wilson) implemented as "test" type\
  1543.   LambdaCosine and LambdaExponent types\
  1544.   Color cycling mode for 640x350x16 EGA adapters\
  1545.   Plasma clouds for 16-color and 4-color video modes\
  1546.   Improved TARGA support (Joe McLain)\
  1547.   CGA modes now use direct-video read/writes\
  1548.   Tandy 1000 320x200x16 and 640x200x4 modes (Tom Price)\
  1549.   TRIDENT chip-set super-VGA video modes (Lew Ramsey)\
  1550.   Direct-access video modes for TRIDENT, Chips & Technologies, and ATI VGA
  1551.     WONDER adapters (John Bridges). and, unlike version 9.1, they WORK in
  1552.     version 9.3!)
  1553.   "zoom-out" (<Ctrl><Enter>) command\
  1554.   <D>os command for shelling out\
  1555.   2/4/16-color Disk/RAM video mode capability and 2-color video modes
  1556.     supporting full-page printer graphics
  1557.   "INSIDE=-1" option (treated dynamically as "INSIDE=maxiter")\
  1558.   Improved <H>elp and sound routines (even a "SOUND=off" argument)\
  1559.   Turbo-C and TASM compatibility (really!  Would we lie to you?)
  1560.  
  1561.  
  1562. Version 8.1, 6/89
  1563.  
  1564.   <3>D restore-from-disk and 3D <O>verlay commands, "3D=" argument\
  1565.   Fast Newton algorithm including inversion option (Lee Crocker)\
  1566.   16-bit Mandelbrot/Julia logic for 386-class speed with non-386 PCs on
  1567.     "large" images (Mark Peterson)
  1568.   Restore now loads .GIF files (as plasma clouds)\
  1569.   TARGA video modes and color-map file options (Joe McLain)\
  1570.   30 new color-cycling palette options (<Shft><F1> to <Alt><F10>)\
  1571.   "Disk-video, RAM-video, EMS-video" modes\
  1572.   Lambda sets now use integer math (with 80386 speedups)\
  1573.   "WARN=yes" argument to prevent over-writing old .GIF files
  1574.  
  1575.  
  1576. Version 7.0, 4/89
  1577.  
  1578.   Restore from disk (from prior save-to-disk using v. 7.0 or later)\
  1579.   New types: Newton, Lambda, Mandelfp, Juliafp, Plasma, Lambdasine\
  1580.   Many new color-cycling options (for VGA adapters only)\
  1581.   New periodicity logic (Mark Peterson)\
  1582.   Initial displays recognize (and use) symmetry\
  1583.   Solid-guessing option (now the default)\
  1584.   Context-sensitive <H>elp\
  1585.   Customizable video mode configuration file (FRACTINT.CFG)\
  1586.   "Batch mode" option\
  1587.   Improved super-VGA support (with direct video read/writes)\
  1588.   Non-standard 360 x 480 x 256 color mode on a STANDARD IBM VGA!
  1589.  
  1590.  
  1591. Version 6.0, 2/89
  1592.  
  1593.   32-bit integer math emulated for non-386 processors; FRACT386 renamed
  1594.     FRACTINT
  1595.   More video modes
  1596.  
  1597.  
  1598. Version 5.1, 1/89
  1599.  
  1600.   Save to disk\
  1601.   New! Improved! (and Incompatible!) optional arguments format\
  1602.   "Correct" initial image aspect ratio\
  1603.   More video modes
  1604.  
  1605.  
  1606. Version 4.0, 12/88
  1607.  
  1608.   Mouse support (Mike Kaufman)\
  1609.   Dynamic iteration limits\
  1610.   Color cycling\
  1611.   Dual-pass mode\
  1612.   More video modes, including "tweaked" modes for IBM VGA and register-
  1613.     compatible adapters
  1614.  
  1615.  
  1616. Version 3.1, 11/88
  1617.  
  1618.   Julia sets
  1619.  
  1620.  
  1621. Version 2.1, 10/23/88 (the "debut" on CIS)
  1622.  
  1623.   Video table\
  1624.   CPU type detector
  1625.  
  1626.  
  1627. Version 2.0, 10/10/88
  1628.  
  1629.   Zoom and pan
  1630.  
  1631.  
  1632. Version 1.0, 9/88
  1633.  
  1634.   The original, blindingly fast, 386-specific 32-bit integer algorithm
  1635. ;
  1636. ;
  1637. ;
  1638. ~Topic=Version13 to 14 Conversion
  1639.  
  1640. A number of types in Fractint version 13 and earlier were generalized in
  1641. version 14. We added a "backward compatibility" hook that (hopefully)
  1642. automatically translates these to the new form when the old files are
  1643. read. Files may be converted via:
  1644.  
  1645.    FRACTINT OLDFILE.FRA SAVENAME=NEWFILE.GIF BATCH=YES
  1646.  
  1647. In a few cases the biomorph flag was incorrectly set in older files.  In
  1648. that case, add "biomorph=no" to the command line.
  1649.  
  1650. This procedure can also be used to convert any *.fra file to the new
  1651. GIF89a spec, which now allows storage of fractal information.
  1652.  
  1653.  
  1654. ~Format-
  1655. TYPES CHANGED FROM VERSION 13 -
  1656.  
  1657.  
  1658. V13 NAME        V14 NAME + PARAMETERS
  1659. --------        --------------------------------------
  1660.  
  1661. LOGMAP=YES        LOGMAP=OLD   for identical Logmap type
  1662.  
  1663. DEMJ            JULIA DISTEST=nnn
  1664.  
  1665. DEMM            MANDEL DISTEST=nnn
  1666.  
  1667.             Note: DISTEST also available on many other types
  1668.  
  1669. MANSINEXP        MANFN+EXP FUNCTION=SIN
  1670.  
  1671.             Note: New functions for this type are
  1672.                   cos sinh cosh exp log sqr
  1673.  
  1674. JULSINEXP        JULFN+EXP FUNCTION=SIN
  1675.  
  1676.             Note: New functions for this type are
  1677.                   cos sinh cosh exp log sqr
  1678.  
  1679. MANSINZSQRD        MANFN+ZSQRD FUNCTION=SQR/SIN
  1680.  
  1681.             Note: New functions for this type are
  1682.                   cos sinh cosh exp log sqr
  1683.  
  1684. JULSINZSQRD        JULFN+ZSQRD FUNCTION=SQR/SIN
  1685.  
  1686.             Note: New functions for this type are
  1687.                   cos sinh cosh exp log sqr
  1688.  
  1689. LAMBDACOS        LAMBDAFN FUNCTION=COS
  1690.  
  1691. LAMBDACOSH        LAMBDAFN FUNCTION=COSH
  1692.  
  1693. LAMBDAEXP        LAMBDAFN FUNCTION=EXP
  1694.  
  1695. LAMBDASINE        LAMBDAFN FUNCTION=SIN
  1696.  
  1697. LAMBDASINH        LAMBDAFN FUNCTION=SINH
  1698.  
  1699.             Note: New functions for this type are
  1700.                   log sqr
  1701.  
  1702. MANDELCOS        MANDELFN FUNCTION=COS
  1703.  
  1704. MANDELCOSH        MANDELFN FUNCTION=COSH
  1705.  
  1706. MANDELEXP        MANDELFN FUNCTION=EXP
  1707.  
  1708. MANDELSINE        MANDELFN FUNCTION=SIN
  1709.  
  1710. MANDELSINH        MANDELFN FUNCTION=SINH
  1711.  
  1712.             Note: New functions for this type are
  1713.                   log sqr
  1714.  
  1715. MANDELLAMBDA        MANDELLAMBDA INITORBIT=PIXEL
  1716.  
  1717. POPCORN SYMMETRY=NONE    POPCORNJUL
  1718.  
  1719. -------------------------------------------------------------
  1720.  
  1721. Formulas from FRACTINT.FRM in version 13
  1722.  
  1723. MANDELGLASS        MANDELLAMBDA INITORBIT=.5/0
  1724.  
  1725. INVMANDEL        V13 divide bug may cause some image differences.
  1726.  
  1727. NEWTON4         V13 divide bug may cause some image differences.
  1728.  
  1729. SPIDER            V13 divide bug may cause some image differences.
  1730.  
  1731. MANDELSINE        MANDELFN FUNCTION=SIN BAILOUT=50
  1732.  
  1733. MANDELCOSINE        MANDELFN FUNCTION=COS BAILOUT=50
  1734.  
  1735. MANDELHYPSINE        MANDELFN FUNCTION=SINH BAILOUT=50
  1736.  
  1737. MANDELHYPCOSINE     MANDELFN FUNCTION=COSH BAILOUT=50
  1738.  
  1739. SCOTTSIN PARAMS=nnn    FN+FN FUNCTION=SIN/SQR BAILOUT=nnn+3
  1740.  
  1741. SCOTTSINH PARAMS=nnn    FN+FN FUNCTION=SINH/SQR BAILOUT=nnn+3
  1742.  
  1743. SCOTTCOS PARAMS=nnn    FN+FN FUNCTION=COS/SQR BAILOUT=nnn+3
  1744.  
  1745. SCOTTCOSH PARAMS=nnn    FN+FN FUNCTION=COSH/SQR BAILOUT=nnn+3
  1746.  
  1747. SCOTTLPC PARAMS=nnn    FN+FN FUNCTION=LOG/COS BAILOUT=nnn+3
  1748.  
  1749. SCOTTLPS PARAMS=nnn    FN+FN FUNCTION=LOG/SIN BAILOUT=nnn+3
  1750.             Note: New functions for this type are
  1751.             sin/sin sin/cos sin/sinh sin/cosh sin/exp
  1752.             cos/cos cos/sinh cos/cosh cos/exp
  1753.             sinh/sinh sinh/cosh sinh/exp sinh/log
  1754.             cosh/cosh cosh/exp cosh/log
  1755.             exp/exp exp/log exp/sqr log/log log/sqr sqr/sqr
  1756.  
  1757. SCOTTSZSA PARAMS=nnn    FN(Z*Z) FUNCTION=SIN BAILOUT=nnn+3
  1758.  
  1759. SCOTTCZSA PARAMS=nnn    FN(Z*Z) FUNCTION=COS BAILOUT=nnn+3
  1760.  
  1761.             Note: New functions for this type are
  1762.             sinh cosh exp log sqr
  1763.  
  1764. SCOTTZSZZ PARAMS=nnn    FN*Z+Z FUNCTION=SIN BAILOUT=nnn+3
  1765.  
  1766. SCOTTZCZZ PARAMS=nnn    FN*Z+Z FUNCTION=COS BAILOUT=nnn+3
  1767.  
  1768.             Note: New functions for this type are
  1769.             sinh cosh exp log sqr
  1770.  
  1771. SCOTTSZSB PARAMS=nnn    FN*FN FUNCTION=SIN/SIN BAILOUT=nnn+3
  1772.  
  1773. SCOTTCZSB PARAMS=nnn    FN*FN FUNCTION=COS/COS BAILOUT=nnn+3
  1774.  
  1775. SCOTTLTS PARAMS=nnn    FN*FN FUNCTION=LOG/SIN BAILOUT=nnn+3
  1776.  
  1777. SCOTTLTC PARAMS=nnn    FN*FN FUNCTION=LOG/COS BAILOUT=nnn+3
  1778.  
  1779.             Note: New functions for this type are
  1780.             sin/cos sin/sinh sin/cosh sin/exp sin/sqr
  1781.             cos/sinh cos/cosh cos/exp cos/sqr
  1782.             sinh/sinh sinh/cosh sinh/exp sinh/log sinh/sqr
  1783.             cosh/cosh cosh/exp cosh/log cosh/sqr
  1784.             exp/exp exp/log exp/sqr log/log log/sqr sqr/sqr
  1785.  
  1786. SCOTTSIC PARAMS=nnn    SQR(1/FN) FUNCTION=COS BAILOUT=nnn+3
  1787.  
  1788. SCOTTSIS PARAMS=nnn    SQR(1/FN) FUNCTION=SIN BAILOUT=nnn+3
  1789.  
  1790. TETRATE PARAMS=nnn    TETRATE BAILOUT=nnn+3
  1791.  
  1792.             Note: New function type sqr(1/fn) with
  1793.                   sin cos sinh cosh exp log sqr
  1794.  
  1795.             Note: New function type sqr(fn) with
  1796.                   sin cos sinh cosh exp log sqr
  1797. ~Format+
  1798. ;
  1799. ;
  1800. ~Data=INTRO_AUTHORS
  1801. ;
  1802. ; FRACTINT intro screen primary authors
  1803. ;
  1804.  Primary Authors
  1805.  Bert Tyler          CompuServe (CIS) ID: [73477,433]     BIX ID: btyler
  1806.  Timothy Wegner       CIS ID: [71320,675]   Internet: twegner@mwunix.mitre.org
  1807.  Mark Peterson          CIS ID: [70441,3353]
  1808.  Pieter Branderhorst  CIS ID: [72611,2257]
  1809.  Contributing Authors
  1810.  
  1811.  
  1812. ; room for 14 authors at a time here
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  SPACEBAR toggles scrolling off/on
  1826.    Copyright (C) 1991 The Stone Soup Group.  Fractint may be freely copied
  1827.    and distributed but may not be sold.  See help for more information.
  1828. ;
  1829. ;
  1830. ;
  1831. ~Data=INTRO_CREDITS
  1832. ;
  1833. ; FRACTINT intro screen contributing authors.
  1834. ;
  1835.           ...
  1836.  Michael Abrash   360x480x256, 320x400x256 VGA video modes
  1837.  Joseph Albrecht  Tandy video, CGA video speedup
  1838.  Kevin Allen      Finite attractor and bifurcation engine
  1839.  Steve Bennett      restore-from-disk logic
  1840.  Rob Beyer      [71021,2074] Barnsley IFS, Lorenz fractals
  1841.  Mike Burkey      376x564x256, 400x564x256, and 832x612x256 VGA video modes
  1842.  John Bridges      [73307,606] superVGA support, 360x480x256 mode
  1843.  Brian Corbino      [71611,702] Tandy 1000 640x200x16 video mode
  1844.  Lee Crocker      [73407,2030] Fast Newton, Inversion, Decomposition..
  1845.  Monte Davis      [71450,3542] Documentation
  1846.  Chuck Ebbert      [76306,1226] cmprsd & sqrt logmap, fpu speedups
  1847.  Richard Finegold [76701,153] 8/16/../256-Way Decomposition option
  1848.  Mike Gelvin      [73337,520] Mandelbrot speedups
  1849.  Lawrence Gozum   [73437,2372] Tseng 640x400x256 Video Mode
  1850.  David Guenther   [70531,3525] Boundary Tracing algorithm
  1851.  Norman Hills      [71621,1352] Ranges option
  1852.  Richard Hughes   [70461,3272] "inside=", "outside=" coloring options
  1853.  Mike Kaufman      [kaufman@eecs.nwu.edu] mouse support, other features
  1854.  Adrian Mariano   [theorem@blake.acs.washington.edu] Diffusion & L-Systems
  1855.  Charles Marslett [73317,3662] VESA video and IIT math chip support
  1856.  Joe McLain      [75066,1257] TARGA Support, color-map files
  1857.  Bob Montgomery   [73357,3140] (Author of VPIC) Fast text I/O routines
  1858.  Bret Mulvey      plasma clouds
  1859.  Ethan Nagel      [70022,2552] Palette editor, integrated help/doc system
  1860.  Jonathan Osuch   [73277,1432] IIT detect
  1861.  Marc Reinig      [72410,77] Lots of 3D options
  1862.  Kyle Powell      [76704,12] 8514/A Support
  1863.  Matt Saucier      [72371,3101] Printer Support
  1864.  Herb Savage      [71640,455] 'inside=bof60', 'inside=bof61' options
  1865.  Lee Skinner      Tetrate, Spider, Mandelglass fractal types and more
  1866.  Dean Souleles      [75115,1671] Hercules Support
  1867.  Kurt Sowa      [73467,2013] Color Printer Support
  1868.  Hugh Steele      cyclerange feature
  1869.  Scott Taylor      [72401,410] (DGWM18A) PostScript, Kam Torus, many fn types.
  1870.  Paul Varner      [73237,411] Floating-point fractal algorithms
  1871.  Dave Warker      Integer Mandelbrot Fractals concept
  1872.  Phil Wilson      [76247,3145] Distance Estimator, Bifurcation fractals
  1873.  Richard Wilton   Tweaked VGA Video modes
  1874.           ...
  1875.  Byte Magazine      Tweaked VGA Modes
  1876.  MS-Kermit      Keyboard Routines
  1877.  PC Magazine      Sound Routines
  1878.  PC Tech Journal  CPU, FPU Detectors
  1879. ;
  1880. ;
  1881.