Newsgroups: sci.fractals,news.answers Subject: Fractal FAQ From: shirriff@sprite.berkeley.edu (Ken Shirriff) Date: 18 Jan 1993 22:58:17 GMT Organization: University of California, Berkeley Message-ID: Summary: Fractal software, algorithms, definitions, and references. Keywords: fractals, chaos, Mandelbrot Lines: 1097 Archive-name: fractal-faq Last-modified: January 18, 1993 This file is a frequently asked questions file for sci.fractals. The purpose of this file is to collect common fractal questions and answers into a con- venient file. This file is normally posted about every two weeks. Like most FAQs, the most recent copy of this FAQ is archived at various places such as pit-manager.mit.edu [18.72.1.58]: /pub/usenet/news.answers/fractal-faq and ftp.uu.net [137.39.1.9 or 192.48.96.9]: /usenet/news.answers/fractal- faq.Z. I am happy to receive more information to add to this file. Also, if you can correct mistakes you find, let me know. Please send additions, comments, errors, etc. to Ken Shirriff (shirriff@sprite.Berkeley.EDU). This file is Copyright 1993 Ken Shirriff. Permission is given for non-profit distribution of this file, as long as my name remains attached. However, I would like to be informed if you distribute this file on other systems, so I have an idea of where it is. Updated questions are marked with an asterisk. The questions which are answered are: Q1a: What is fractint? Q1b: How does fractint achieve its speed? Q2a: Where can I obtain software packages to generate fractals? Q2b: Where can I obtain fractal papers? Q3: Where can I get fractal T-shirts and posters? Q4a: How does anonymous ftp work? Q4b: What if I can't use ftp to access files? Q5: Where is alt.fractals.pictures archived? Q6: I want to learn about fractals. What should I read first? Q7a: What is the Mandelbrot set? Q7b: How is the Mandelbrot set actually computed? Q7c: Why do you start with z=0? Q7d: What are the bounds of the Mandelbrot set? When does it diverge? Q7e: How can I speed up Mandelbrot set generation? Q7f: What is the area of the Mandelbrot set? Q7g: What can you say about the structure of the Mandelbrot set? Q7h: Is the Mandelbrot set connected? Q8a: What is the difference between the Mandelbrot set and a Julia set? Q8b: What is the connection between the Mandelbrot set and Julia sets? Q8c: How is a Julia set actually computed? Q8d: What are some Julia set facts? Q9a: How does complex arithmetic work? Q9b: How does quaternion arithmetic work? Q10a: What is an iterated function system (IFS)? Q10b: What is the state of fractal compression? Q11a: How can you make a chaotic oscillator? Q11b: What are laboratory demonstrations of chaos? Q12: How are fractal mountains generated? Q13: What are plasma clouds? Q14a: Where are the popular periodically-forced Lyapunov fractals described? Q14b: What are Lyapunov exponents? Q14c: How can Lyapunov exponents be calculated? Q15: What is the logistic equation? Q16: What is chaos? Q17: What is nonlinearity? What are nonlinear equations? Q18: What is a fractal? What are some examples of fractals? Q19a: What is fractal dimension? How is it calculated? Q19b: What is topological dimension? Q20: What is a strange attractor? Q21: How can I join the BITNET fractal discussion? Q22: How can 3-D fractals be generated? Q23: What are some general references on fractals and chaos? You can search for the question you're interested in in "rn" or "trn" using "g^Q11" (that's lower-case g, up-arrow, Q, and a number) where "11" is the question you wish. Or you may browse forward using to search for a Subject: line. Questions and answers ------------------------------ Subject: Fractint Q1a: What is fractint? A1a: Fractint is a very popular freeware (not public domain) fractal genera- tor. There are DOS, Windows, OS/2, and Unix/X versions. The DOS version is the original version, and is the most up-to-date. The Unix version is still slightly buggy. Please note: sci.fractals is not a product support newsgroup for fractint. Bugs in fractint/xfractint should usually go to the authors rather than being posted. Fractint is on many ftp sites. For example: DOS: ftp to wuarchive.wustl.edu [128.252.135.4]. The source is in the file /mirrors/msdos/graphics/frasr172.zip. The executable is in the file /mirrors/msdos/graphics/frain172.zip. Windows: ftp to wuarchive.wustl.edu. The source is in the file /mirrors/msdos/windows3/winsr173.zip. The executable is in the file /mirrors/msdos/windows3/winfr173.zip. OS/2: available on Compuserve in its GRAPHDEV forum. The files are PM*.ZIP. These files are also available from ftp-os2.nmsu.edu in /pub/os2/pmfract.zoo, and from hobbes.nmsu.edu. Unix: ftp to sprite.berkeley.edu [128.32.150.27]. The source is in the file xfract108.shar.Z. Note: sprite is an unreliable machine; if you can't connect to it, try again in a few hours, or try hijack.berkeley.edu. Macintosh: there is no Macintosh version of fractint, although there are several people working on a port. It is possible to run fractint on the Macintosh if you use Insignia Software's SoftAT, which is a PC AT emula- tor. For European users, these files are available from ftp.uni-koeln.de. If you can't use ftp, see the mail server info in Q3. Q1b: How does fractint achieve its speed? A1b: Fractint's speed (such as it is) is due to a combination of: 1. using fixed point math rather than floating point where possible (huge im- provement for non-coprocessor machine, small for 486's). 2. exploiting symmetry of fractal. 3. detecting nearly repeating orbits, avoid useless iteration (e.g. repeatedly iterating 0^2+0 etc. etc.). 4. reducing computation by guessing solid areas (especially the "lake" area). 5. using hand-coded assembler in many places. 6. obtaining both sin and cos from one 387 math coprocessor instruction. 7. using good direct memory graphics writing in 256-color modes. The first four are probably the most important. Some of these introduce er- rors, usually quite acceptable. ------------------------------ Subject: Other fractal software Q2a: Where can I obtain software packages to generate fractals? A2a: For X windows: xmntns and xlmntn: these generate fractal mountains. They can be obtained from ftp.uu.net [137.39.1.9] in the directory /usenet/comp.sources.x/volume8/xmntns. xfroot: generates a fractal root window. xmartin: generates a Martin hopalong root window. xmandel: generates Mandelbrot/Julia sets. xfroot, xmartin, xmandel are part of the X11 distribution. lyap: generates Lyapunov exponent images. Ftp from: ftp.uu.net in /usenet/comp.sources.x/volume16/lyap. spider: Uses Thurston's algorithm for computing postcritically finite po- lynomials, draws Mandelbrot and Julia sets using the Koebe algorithm, and draws Julia set external angles. Ftp from: lyapunov.ucsd.edu in pub/inls-ucsd/spider. Distributed X systems: MandelSpawn: computes Mandelbrot/Julia sets on a network of machines. Ftp from: export.lcs.mit.edu [18.24.0.12]: /contrib/mandelspawn-0.06.tar.Z or funic.funet.fi[128.214.6.100]: /pub/X11/contrib/mandelspawn- 0.06.tar.Z. gnumandel: computes Mandelbrot images on a network. Ftp from: informatik.tu-muenchen.de [131.159.0.110] in /pub/GNU/gnumandel. For Unix/C: lsys: generates L-systems as PostScript or other textual output. No graph- ical interface at present. (in C++) Ftp from: ftp.cs.unc.edu in pub/lsys.tar.Z. lyapunov: generates PGM Lyapunov exponent images. Ftp from: ftp.uu.net in /usenet/comp.sources.misc/volume23/lyapuov. SPD: contains generators for fractal mountain, tree, recursive tetrahedron. Ftp from: princeton.edu [128.112.128.1] in /pub/Graphics. For Mac: fractal, L-System, 3DL-System, IFS, FracHill are available from ftphost.aukuni.ac.nz [130.216.1.5] in the architec directory. fractal-wizard-15.hqx, julias-dream-107.hqx, mandel-net.hqx, mandel-zot- 304.hqx, and mandella-70.hqx are available from sumex.stanford.edu in /info-mac/app. mandel-tv: a very fast Mandelbrot generator. Ftp from: oswego.oswego.edu [129.3.1.1] in /pub/mac/da/mandel-tv.hqx. There are also commercial programs, such as IFS Explorer and Fractal Clip Art, which are published by Koyn Software (314) 878-9125. For NeXT: Lyapunov: generates Lyapunov exponent images. Ftp from: nova.cc.purdue.edu in /pub/next/2.0-release/source. For MSDOS: Fractal WitchCraft: a very fast fractal design program. Ftp from: garbo.uwasa.fi [128.214.87.1] in /pc/demo/fw1-08.zip. CAL: generates more than 15 types of fractals including Mandelbrot, Lyapunov, IFS, user-defined formulas, logistic equation, and quatern- ion julia sets. Ftp from: oak.oakland.edu [141.210.10.117] (or any other Simtel mirror) in pub/msdos/graphics/frcal035.zip. Fractal Discovery Laboratory: designed for use in a science museum or school setting. The Lab has five sections: Art Gallery ( 72 images -- Mandelbrots, Julias, Lyapunovs), Microscope ( 85 images -- Biomorph, Mandelbrot, Lyapunov, ...), Movies (165 images, 6 "movies": Mandel- brot Evolution, Splitting a Mini-Mandelbrot, Fractal UFO, ...), Tools (Gingerbreadman, Lorentz Equations, Fractal Ferns, von Koch Snowflake, Sierpinski Gasket), and Library (Dictionary, Books and Articles). Sampler available from Compuserver GRAPHDEV Lib 4 in DISCOV.ZIP, or send high-density disk and self-addressed, stamped envelope to: Earl F. Glynn, 10808 West 105th Street, Overland Park, Kansas 66214-3057. There are a whole bunch of fractal programs available from wsmr- simtel20.army.mil [192.88.110.20] in the directory "pd1:": forb01a.zip: Displays orbits of Mandelbrot mapping. C/E/VGA fract30.arc: Mandelbrot/Julia set 2D/3D EGA/VGA Fractal Gen fractfly.zip: Create Fractal flythroughs with FRACTINT frain172.zip: FRACTINT v17.2 EGA/VGA/XGA fractal generator frasr172.zip: C & ASM src for FRACTINT v17.2 fractal gen. frcal030.zip: Fractal drawing program: 15 formulae available frcaldmo.zip: 800x600x256 demo images for FRCAL030.ZIP frpor172.zip: Xfract-compatible Fractint 17.2 source fdesign.zip: Program to visually design IFS fractals For Amiga: (all entries marked "ff###" are .lzh files in the Fish Disk set available at ux1.cso.uiuc.edu and other sites in /amiga/fish) General Mandelbrot generators with many features: Mandelbrot (ff030), Man- del (ff218), Mandelbrot (ff239), TurboMandel (ff302), MandelBltiz (ff387), SMan (ff447), MandelMountains (ff383, in 3-D), MandelPAUG (ff452, MandFXP movies), MandAnim (ff461, anims), ApfelKiste (ff566, very fast), MandelSquare (ff588, anims) Mandelbrot and Julia sets generators: MandelVroom (ff215), Fractals (ff371, also Newton-R and other sets) With different algorithmic approaches (shown): FastGro (ff188, DLA), IceFrac (ff303, DLA), DEM (ff303, DEM), CPM (ff303, CPM in 3-D), Frac- talLab (ff391, any equation) Iterated Function System generators (make ferns, etc): FracGen (ff188, uses "seeds"), FCS (ff465), IFSgen (ff554), IFSLab (ff696, "Collage Theorem") Unique fractal types: Cloud (ff216, cloud surfaces), Fractal (ff052, ter- rain), IMandelVroom (strange attractor contours?), Landscape (ff554, scenery), Scenery (ff155, scenery), Plasma (ff573, plasma clouds) Fractal generators (I do not know their features): PolyFractals (ff015), FFEX (ff549) Lyapunov fractals: Ftp /pub/aminet/new/lyapunovia.lha from ftp.luth.se. Commercial packages: Fractal Pro 5.0, Scenery Animator 2.0, Vista Profes- sional Please inform me of any other programs you know of. Q2b: Where can I obtain fractal papers? A2b: There are several sites with fractal papers: There is an archive site for preprints and programs on nonlinear dynamics and related subjects at lyapunov.ucsd.edu [132.239.86.10]. There are also arti- cles on dynamics, including the IMS preprint series, available from math.sunysb.edu [129.49.31.57]. A collection of short papers on fractal formulas, drawing methods, and transforms is available from ftp.coe.montana.edu in /pub/fractals. ------------------------------ Subject: Fractal items Q3: Where can I get fractal T-shirts and posters? A3: One source is Art Matrix, P.O. box 880, Ithaca, New York, 14851, 1-800- PAX-DUTY. Another source is Media Magic; they sell many fractal posters, calendars, videos, software, t-shirts, ties, and a huge variety of books on fractals, chaos, graphics, etc. Media Magic is at PO Box 598 Nicasio, CA 94946, 415-662-2426. ------------------------------ Subject: Ftp questions Q4a: How does anonymous ftp work? A4a: Anoynmous ftp is a method of making files available to anyone on the In- ternet. In brief, if you are on a system with ftp (e.g. Unix), you type "ftp lyapunov.ucsd.edu", or whatever system you wish to access. You are prompted for your name and you reply "anonymous". You are prompted for your password and you reply with your email address. You then use "ls" to list the files, "cd" to change directories, "get" to get files, and "quit" to exit. For exam- ple, you could say "cd /pub", "ls", "get README", and "quit"; this would get you the file "README". Q4b: What if I can't use ftp to access files? A4b: If you don't have access to ftp because you are on a uucp/Fidonet/etc network there is an e-mail gateway at ftpmail@decwrl.dec.com that can retrieve the files for you. To get instructions on how to use the ftp gateway send a blank message to ftpmail@decwrl.dec.com with one line containing the word 'help'. This is a sample message of how to retrieve xfractint from sprite.Berkeley.EDU: % mail ftpmail@decwrl.dec.com Subject: reply @ connect sprite.berkeley.edu anonymous dir /* note: you can give a pathname here to list */ binary uuencode /* note: this command is optional and the default is btoa */ get xfract108.shar.Z quit That would retrieve a directory of the archive, then xfract108.shar.Z. Note that the dir command is important to learn if the filename has changed. To receive xfract108.shar.Z, you must set the server to "binary" mode because the file is compressed. Compressed files are then either sent out uuencoded or btoa'd. So, you must obtain copies of the programs will receive. (Most Unix systems have uudecode and uncompress.) Ask your local computer guru for cla- rification on how to do this. ------------------------------ Subject: Archived pictures Q5: Where is alt.fractals.pictures archived? A5: Alt.fractals.pictures is the newsgroup for fractal images (GIFs, etc.). The pictures are available via anonymous ftp from csus.edu [130.86.90.1] in /pub/alt.fractals.pictures. ------------------------------ Subject: Learning about fractals Q6: I want to learn about fractals. What should I read first? A6: There is a book list at the end. _Chaos_ is a good book to get a general overview and history. _Fractals Everywhere_ is a textbook on fractals that describes what fractals are and how to generate them, but it requires knowing intermediate analysis. _Chaos, Fractals, and Dynamics_ is also a good start. ------------------------------ Subject: The Mandelbrot set Q7a: What is the Mandelbrot set? A7a: The Mandelbrot set is the set of all complex c such that iterating z -> z^2+c does not go to infinity (starting with z=0). Q7b: How is the Mandelbrot set actually computed? A7b: The basic algorithm is: For each pixel c, start with z=0. Repeat z=z^2+c up to N times, exiting if the magnitude of z gets large. If you finish the loop, the point is probably inside the Mandelbrot set. If you exit, the point is outside and can be colored according to how many iterating were completed. You can exit if |z|>2, since if z gets this big it will go to infinity. The maximum number of iterations, N, can be selected as desired, for instance 100. Larger N will give sharper detail but take longer. Q7c: Why do you start with z=0? A7c: Zero is the critical point of z^2+c, that is, a point where d/dz (z^2+c) = 0. If you replace z^2+c with a different function, the starting value will have to be modified. E.g. for z->z^2+z+c, the critical point is given by 2z+1=0, so start with z=-1/2. In some cases, there may be multiple critical values, so they all should be tested. Critical points are important because by a result of Fatou, every attracting cycle for a polynomial or rational function attracts at least one critical point. Thus, testing the critical point shows if there is any stable attrac- tive cycle. See also: [1] M. Frame and J. Robertson, A Generalized Mandelbrot Set and the Role of Critical Points, _Computers and Graphics, Vol. 16_ 16, 1 (1992), pp. 35-40. Note that you can precompute the first Mandelbrot iteration by starting with z=c instead of z=0, since 0^2+c=c. Q7d: What are the bounds of the Mandelbrot set? When does it diverge? A7d: The Mandelbrot set lies within |c|<=2. If |z| exceeds 2, the z sequence diverges. Proof: if |z|>2, then |z^2+c| >= |z^2|-|c| > 2|z|-|c|. If |z|>=|c|, then 2|z|-|c| > |z|. So, if |z|>2 and |z|>=c, |z^2+c|>|z|, so the sequence diverges. Also, note that z1=c, so if |c|>2, the sequence diverges. Q7e: How can I speed up Mandelbrot set generation? A7e: See: 1. R. Rojas, A Tutorial on Efficient Computer Graphic Representations of the Mandelbrot Set, _Computers and Graphics_ 15, 1 (1991), pp. 91-100. Q7f: What is the area of the Mandelbrot set? A7f: Ewing and Schober computed an area estimate using 240,000 terms of the Laurent series. The result is 1.7274... The behavior of the approximations suggests that the limit is between 1.66 and 1.71. However, the estimates of the area from below, using pixel counting, show that the area is at least 1.52. The large gap between the lower bound 1.52 and the upper bound 1.71 may possibly be an indication that the boundary of the Mandelbrot set has positive area. Reference: 1. J. H. Ewing and G. Schober, The Area of the Mandelbrot Set, _Numer. Math._ 61 (1992), pp. 59-72. Q7g: What can you say about the structure of the Mandelbrot set? A7g: Most of what you could want to know is in Branner's article in _Chaos and Fractals: The Mathematics Behind the Computer Graphics_. Note that the Mandelbrot set is _not_ self-similar; the tiny copies of the Mandelbrot set are all slightly different, mainly because of the thin threads connecting them to the main body of the Mandelbrot set. However, the Mandelbrot set is quasi-self-similar. Reference: 1. T. Lei, Similarity between the Mandelbrot set and Julia Sets, _Communications in Mathematical Physics_ 134 (1990), pp. 587-617. The boundary of the Mandelbrot set has Hausdorff dimension 2 and has topological dimension 1. (Since the boundary has empty interior, the topological dimension is less than 2, and thus is 1.) Reference: 1. M. Shishikura, The Hausdorff Dimension of the Boundary of the Mandelbrot Set and Julia Sets, It is shown that the boundary of the Mandelbrot set M has Hausdorff dimension two and that for a generic c in M, the Julia set of z -> z^2+c also has Hausdorff dimension two. The proof is based on the study of the bifurcation of parabolic periodic points. The paper is available from anonymous ftp to math.sunysb.edu [129.49.18.1] in /preprints/ims91-7. The "external angles" of the Mandelbrot set (see Douady and Hubbard or brief sketch in "Beauty of Fractals") induce a Fibonacci partition onto it. Q7h: Is the Mandelbrot set connected? A7h: The Mandelbrot set is simply connected. This follows from a theorem of Douady and Hubbard that there is a conformal isomorphism from the complement of the Mandelbrot set to the complement of the unit disk. (In other words, all equipotential curves are simple closed curves.) It is conjectured that the Mandlebrot set is locally connected, and thus pathwise connected, but this is currently unproved. Connectedness definitions: Connected: X is connected if there are no proper closed subsets A and B of X such that A union B = X, but A intersect B is empty. I.e. X is connected if it is a single piece. Simply connected: X is simply connected if it is connected and every closed curve in X can be deformed in X to some constant closed curve. I.e. X is simply connected if it has no holes. Locally connected: X is locally connected if for every point p in X, for every open set U containing p, there is an open set V containing p and contained in the connected component of p in U. I.e. X is locally connected if every connected component of every open subset is open in X. Arcwise (or path) connected: X is arcwise connected if every two points in X are joined by an arc in X. (The definitions are from _Encyclopedic Dictionary of Mathematics_.) ------------------------------ Subject: Julia sets Q8a: What is the difference between the Mandelbrot set and a Julia set? A8a: The Mandelbrot set iterates z^2+c with z starting at 0 and varying c. The Julia set iterates z^2+c for fixed c and varying starting z values. That is, the Mandelbrot set is in parameter space (c-plane) while the Julia set is in dynamical or variable space (z-plane). Q8b: What is the connection between the Mandelbrot set and Julia sets? A8b: Each point c in the Mandelbrot set specifies the geometric structure of the corresponding Julia set. If c is in the Mandelbrot set, the Julia set will be connected. If c is not in the Mandelbrot set, the Julia set will be a Cantor dust. Q8c: How is a Julia set actually computed? A8c: The Julia set can be computed by iteration similar to the Mandelbrot computation. Alternatively, points on the boundary of the Julia set can be computed quickly by using inverse iterations. This technique is particularly useful when the Julia set is a Cantor Set. Q8d: What are some Julia set facts? A8d: The Julia set of any rational map of degree greater than one is perfect (hence in particular uncountable and nonempty), completely invariant, equal to the Julia set of any iterate of the function, and also is the boundary of the basin of attraction of every attractor for the map. Julia set references: 1. A. F. Beardon, _Iteration of Rational Functions : Complex Analytic Dynamical Systems_, Springer-Verlag, New York, 1991. 2. P. Blanchard, Complex Analytic Dynamics on the Riemann Sphere, _Bull. of the Amer. Math. Soc_ 11, 1 (July 1984), pp. 85-141. This article is a detailed discussion of the mathematics of iterated complex functions. It covers most things about Julia sets of rational polynomial functions. ------------------------------ Subject: Complex arithmetic and quaternion arithmetic Q9a: How does complex arithmetic work? A9a: It works mostly like regular algebra with a couple additional formulas: (note: a,b are reals, x,y are complex, i is the square root of -1) Powers of i: i^2 = -1 Addition: (a+i*b)+(c+i*d) = (a+c)+i*(b+d) Multiplication: (a+i*b)*(c+i*d) = a*c-b*d + i*(a*d+b*c) Division: (a+i*b)/(c+i*d) = (a+i*b)*(c-i*d)/(c^2+d^2) Exponentiation: exp(a+i*b) = exp(a)(cos(b)+i*sin(b)) Sine: sin(x) = (exp(i*x)-exp(-i*x))/(2*i) Cosine: cos(x) = (exp(i*x)+exp(-i*x)/2 Magnitude: |a+i*b| = sqrt(a^2+b^2) Log: log(a+i*b) = log(|a+i*b|)+i*arctan(b/a) (Note: log is multivalued.) Complex powers: x^y = exp(y*log(x)) DeMoivre's theorem: x^a = r^a * [cos(a*theta) + i * sin(a*theta)] More details can be found in any complex analysis book. Q9b: How does quaternion arithmetic work? A9b: Quaternions have 4 components (a+ib+jc+kd) compared to the two of complex numbers. Operations such as addition and multiplication can be performed on quaternions, but multiplication is not commutative. Quaternions satisfy the rules i^2=j^2=k^2=-1, ij=-ji=k, jk=-kj=i, ki=-ik=j. ------------------------------ Subject: Iterated function systems Q10a: What is an iterated function system (IFS)? A10a: If a fractal is self-similar, you can specify various mappings that map the whole onto the parts. By taking a point and repeatedly applying these mappings you end up with a collection of points on the fractal. In other words, instead of a single mapping x -> F(x), there is a collection of (usually linear) mappings, and random selection chooses which mapping is used. Iterated function systems can be used to make things such as fractal ferns and trees and are also used in fractal image compression. _Fractals Everywhere_ by Barnsley is mostly about iterated function systems. Q10b: What is the state of fractal compression? A10b: (Much of this information comes from the comp.compression FAQ, available from FAQ archive sites as compression-faq. That FAQ has more information and a long list of references. The state of fractal compression seems to be quite controversial, with some people claiming it doesn't work well, and others claiming it works wonderfully.) Tal Kubo states: According to Barnsley's book 'Fractals Everywhere', this method is based on a measure of deviation between a given image and its approximation by an IFS code. The Collage Theorem states that there is a convergent process to minimize this deviation. Unfortunately, according to an article Barnsley wrote for BYTE a few years ago, this convergence was rather slow, about 100 hours on a Cray, unless assisted by a person. Barnsley et al are not divulging any technical information beyond the meager bit in 'Fractals Everywhere'. The book explains the idea of IFS codes at length, but is vague about the application of the Collage theorem to specific compression problems. There is reason to believe that Barnsley's company has *no algorithm* which takes a given reasonable image and achieves the compression ratios initially claimed for their fractal methods. The 1000-to-1 compression advertised was achieved only for a 'rigged' class of images, with human assistance. The best unaided performance I've heard of is good lossy compression of about 80-1. But Yuval Fisher disagrees: Their performance has improved dramatically beyond what they were talking about in BYTE a few years ago. Human assistance to the compression is no longer needed and the compression time is reasonable, although the more time and compute power you throw at the compression, the smaller the resulting file for the same level of quality. Kevin Ring provided information on Iterated Systems, Inc.'s products. They have a Windows viewer, compressor, and magnifier program, as well as a hardware assist board. They claim compression ratios such as 80:1, 154:1, 614:1, and 2546:1. An introductory paper is: 1. A. E. Jacquin, Image Coding Based on a Fractal Theory of Iterated Contractive Image Transformation, _IEEE Transactions on Image Processing_, January 1992. A fractal decompression demo program is available by anonymous ftp to lyapunov.ucsd.edu [132.239.86.10] in /pub/inls-ucsd/fractal-2.0. Another MS-DOS compression demonstration program is available by anonymous ftp to lyapunov.ucsd.edu in /pub/young-fractal. ------------------------------ Subject: Chaotic demonstrations Q11a: How can you make a chaotic oscillator? A11a: Two references are: 1. T. S. Parker and L. O. Chua, Chaos: a tutorial for engineers, _Proceedings IEEE_ 75 (1987), pp. 982-1008. 2. _New Scientist_, June 30, 1990, p. 37. Q11b: What are laboratory demonstrations of chaos? A11b: Two references are: 1. K. Briggs, Simple Experiments in Chaotic Dynamics, _American Journal of Physics_ 55, 12 (Dec 1987), pp. 1083-1089. 2. J. L. Snider, Simple Demonstration of Coupled Oscillations, _American Journal of Physics_ 56, 3 (Mar 1988), p. 200. ------------------------------ Subject: Fractal mountains Q12: How are fractal mountains generated? A12: Usually by a method such as taking a triangle, dividing it into 3 subtriangles, and perturbing the center point. This process is then repeated on the subtriangles. This results in a 2-d table of heights, which can then be rendered as a 3-d image. ------------------------------ Subject: Plasma clouds Q13: What are plasma clouds? A13: They are a fractint fractal and are similar to fractal mountains. Instead of a 2-d table of heights, the result is a 2-d table of intensities. They are formed by repeatedly subdividing squares. ------------------------------ Subject: Lyapunov fractals Q14a: Where are the popular periodically-forced Lyapunov fractals described? A14a: See: 1. A. K. Dewdney, Leaping into Lyapunov Space, _Scientific American_, Sept. 1991, pp. 178-180. 2. M. Markus and B. Hess, Lyapunov Exponents of the Logistic Map with Periodic Forcing, _Computers and Graphics_ 13, 4 (1989), pp. 553-558. 3. M. Markus, Chaos in Maps with Continuous and Discontinuous Maxima, _Computers in Physics_, Sep/Oct 1990, pp. 481-493. Q14b: What are Lyapunov exponents? A14b: Lyapunov exponents quantify the amount of linear stability or instability of an attractor, or an asymptotically long orbit of a dynamical system. There are as many lyapunov exponents as there are dimensions in the state space of the system, but the largest is usually the most important. Given two initial conditions for a chaotic system, a and b, which are close together, the average values obtained in successive iterations for a and b will differ by an exponentially increasing amount. In other words, the two sets of numbers drift apart exponentially. If this is written e^(n*(lambda)) for n iterations, then e^(lambda) is the factor by which the distance between closely related points becomes stretched or contracted in one iteration. Lambda is the Lyapunov exponent. At least one Lyapunov exponent must be positive in a chaotic system. A simple derivation is available in: 1. H. G. Schuster, _Deterministic Chaos: An Introduction_, Physics Verlag, 1984. Q14c: How can Lyapunov exponents be calculated? A14c: For the common periodic forcing pictures, the lyapunov exponent is: lambda = limit as N->infinity of 1/N times sum from n=1 to N of log2(abs(dx sub n+1 over dx sub n)) In other words, at each point in the sequence, the derivative of the iterated equation is evaluated. The Lyapunov exponent is the average value of the log of the derivative. If the value is negative, the iteration is stable. Note that summing the logs corresponds to multiplying the derivatives; if the product of the derivatives has magnitude < 1, points will get pulled closer together as they go through the iteration. MS-DOS and Unix programs for estimating Lyapunov exponents from short time series are available from lyapunov.ucsd.edu in /pub/ncsu. Computing Lyapunov exponents in general is more difficult. Some references are: 1. H. D. I. Abarbanel, R. Brown and M. B. Kennel, Lyapunov Exponents in Chaotic Systems: Their importance and their evaluation using observed data, _International Journal of Modern Physics B_ 56, 9 (1991), pp. 1347-1375. 2. A. K. Dewdney, Leaping into Lyapunov Space, _Scientific American_, Sept. 1991, pp. 178-180. 3. M. Frank and T. Stenges, _Journal of Economic Surveys_ 2 (1988), pp. 103- 133. 4. T. S. Parker and L. O. Chua, _Practical Numerical Algorithms for Chaotic Systems_, Springer Verlag, 1989. ------------------------------ Subject: Logistic equation Q15: What is the logistic equation? A15: It models animal populations. The equation is x -> c*x*(1-x), where x is the population (between 0 and 1) and c is a growth constant. Iteration of this equation yields the period doubling route to chaos. For c between 1 and 3, the population will settle to a fixed value. For larger c, the population will oscillate between two values, then four values, eight, sixteen, etc. For still larger c (between 3.57 and 4), the population behavior is chaotic (for most c values). See "An Introduction to Chaotic Dynamical Systems" for more information.) ------------------------------ Subject: Chaos Q16: What is chaos? A16: An attractor is chaotic if at least one of its Lyapunov exponents is positive. Chaos results from the existence of a chaotic attractor. Chaos is the recurrent behavior of a deterministic dynamical system in which the phase-space divergence of nearby trajectories at an exponential rate results in a limited predictability horizon. In chaotic iterated systems of the form x_{i+1}=f(x_i), the result after iteration is extremely sensitive to the initial value such that f^n(x_0+(epsilon)) is nowhere near f^n(x_0). Chaos results from our inability to predict the future behavior of a deterministic system from initial conditions because of its great sensitivity to initial conditions. Chaos is apparently unpredictable behavior arising in a deterministic system. ------------------------------ Subject: Nonlinearity Q17: What is nonlinearity? What are nonlinear equations? A17: Nonlinear maps fail to satisfy the condition that f(ax+by)=af(x)+bf(y) where x and y are vectors, and a and b are scalars. e.g. f(x)=ax is linear. f(x)=x^2 is nonlinear. Nonlinearity is a map or term that is not linear. A nonlinear system gives an output which is not proportional to the corresponding input. Nonlinear dynamical systems possess nonlinear dynamical laws, which are functions of the system's state variables. In linear systems, dy/dx is a constant, while in nonlinear systems dy/dx=some nonconstant function of x. Nonlinear equations fail to exhibit linear superimposability. Nonlinear equations can be categorized by differentiability, discontinuity, and "memory" (e.g. hysteresis in an electric circuit), etc. This can be important to some types of nonlinear analysis such as the Popov hyperstability criterion. Nonlinearity References: 1. W. A. Brock and E. G. Baek, Some Theory of Statistical Inference for Nonlinear Science, _Review of Economic Studies_ 58, 4 (1991), pp. 697-716. 2. J. Guckenheimer and P. Holmes, _Nonlinear Oscillations Dynamical Systems and Bifurcations of Vector Fields_, Springer-Verlag, New York, 1983. 3. D. Zelinsky, _A First Course in Linear Algebra_, Academic Press, 1973. ------------------------------ Subject: What is a fractal? Q18: What is a fractal? What are some examples of fractals? A18: A fractal is a rough or fragmented geometric shape that can be subdivided in parts, each of which is (at least approximately) a reduced-size copy of the whole. (A definition from B. Mandelbrot) A fractal is a set of points whose fractal (Hausdorff) dimension exceeds its topological dimension. Examples of fractals: Sierpinski triangle, Koch snowflake, Peano curve, Mandlebrot set. ------------------------------ Subject: Fractal dimension Q19a: What is fractal dimension? How is it calculated? A19a: A common type of fractal dimension is the Hausdorff-Besikovich Dimension. Roughly, fractal dimension can be calculated by taking the limit of the quotient of the log change in object size and the log change in measurement scale, as the measurement scale approaches zero. The differences come in what is exactly meant by "object size" and what is meant by "measurement scale" and how to get an average number out of many different parts of a geometrical object. Fractal dimensions quantify the static *geometry* of an object. For example, consider a straight line. Now blow up the line by a factor of two. The line is now twice as long as before. Log 2 / Log 2 = 1, corresponding to dimension 1. Consider a square. Now blow up the square by a factor of two. The square is now 4 times as large as before (i.e. 4 original squares can be placed on the original square). Log 4 / log 2 = 2, corresponding to dimension 2 for the square. Consider a snowflake curve formed by repeatedly replacing ___ with _/\_, where each of the 4 new lines is 1/3 the length of the old line. Blowing up the snowflake curve by a factor of 3 results in a snowflake curve 4 times as large (one of the old snowflake curves can be placed on each of the 4 segments _/\_). Log 4 / log 3 = 1.261... Since the dimension 1.261 is larger than the dimension 1 of the lines making up the curve, the snowflake curve is a fractal. Fractal dimension references: 1. J. P. Eckmann and D. Ruelle, _Reviews of Modern Physics_ 57, 3 (1985), pp. 617-656. 2. K. J. Falconer, _The Geometry of Fractal Sets_, Cambridge Univ. Press, 1985. 3. T. S. Parker and L. O. Chua, _Practical Numerical Algorithms for Chaotic Systems_, Springer Verlag, 1989. 4. H. Peitgen and D. Saupe, eds., _The Science of Fractal Images_, Springer- Verlag Inc., New York, 1988. ISBN 0-387-96608-0. This book contains many color and black and white photographs, high level math, and several pseudocoded algorithms. 5. G. Procaccia, _Physica D_ 9 (1983), pp. 189-208. 6. J. Theiler, _Physical Review A_ 41 (1990), pp. 3038-3051. References on how to estimate fractal dimension: 1. E. Peters, _Chaos and Order in the Capital Markets_, New York, 1991. ISBN 0-471-53372-6 Discusses methods of computing fractal dimension. Includes several short programs for nonlinear analysis. 2. J. Theiler, Estimating Fractal Dimension, _Journal of the Optical Society of America A-Optics and Image Science_ 7, 6 (June 1990), pp. 1055-1073. Fractal dimension software: Fractal Dimension Calculator is a Macintosh program which uses the box- counting method to compute the fractal dimension of planar graphical objects. It is available by anonymous ftp from wuarchive.wustl.edu The path is: /mirrors4/architec/Fractals/FracDim.sit.hqx. Q19b: What is topological dimension? A19b: Topological dimension is the "normal" idea of dimension; a point has topological dimension 0, a line has topological dimension 1, a surface has topological dimension 2, etc. For a rigorous definition: A set has topological dimension 0 if every point has arbitrarily small neighborhoods whose boundaries do not intersect the set. A set S has topological dimension k if each point in S has arbitrarily small neighborhoods whose boundaries meet S in a set of dimension k-1, and k is the least nonnegative integer for which this holds. ------------------------------ Subject: Strange attractors Q20: What is a strange attractor? A20: A strange attractor is the limit set of a chaotic trajectory. A strange attractor is an indecomposable closed invariant set that "attracts" the points about it which contains a transversal homoclinic orbit. (This orbit accounts for the strangeness.) A strange attractor is a phase space locus of a bounded long-term dynamical behavior which has a nonzero probability of being observed - its basin of attraction has positive measure - and contains not a smooth manifold structure, but rather a self-similar or fractal structure. Note: While all chaotic attractors are strange, not all strange attractors are chaotic. Reference: 1. Grebogi, et al., Strange Attractors that are not Chaotic, _Physica D_ 13 (1984), pp. 261-268. Consider a volume in phase space defined by all the initial conditions a system may have. For a dissipative system, this volume will shrink as the system evolves in time (Liouville's Theorem). If the system is sensitive to initial conditions, the trajectories of the points defining initial conditions will move apart in some directions, closer in others, but there will be a net shrinkage in volume. Ultimately, all points will lie along a fine line of zero volume. This is the strange attractor. All initial points in phase space which ultimately land on the attractor form a Basin of Attraction. Note: A strange attractor results if a system is sensitive to initial conditions and is not conservative. A strange attractor is the surfaces which the state of a chaotic system will be confined to, given time for transients to die out. ------------------------------ Subject: How can I join the BITNET fractal discussion? Q21: How can I join the BITNET fractal discussion? A21: There is a fractal discussion on BITNET that uses an automatic mail server that sends mail to a distribution list. (On some systems, the contents of FRAC-L appear in the Usenet newsgroup bit.listserv.frac-l.) To join the mailing list, send a message to listserv@gitvm1.bitnet with the following as text: SUBSCRIBE FRAC-L John Doe (where John Doe is replaced by your name) To unsubscribe, send the message: UNSUBSCRIBE FRAC-L If that doesn't unsubscribe you, you can try: SIGNOFF FRAC-L (GLOBAL If that doesn't work or you have other problems, you can contact the list administrator. You can obtain their name by sending the message: REVIEW FRAC-L ------------------------------ Subject: 3-D fractals Q22: How can 3-D fractals be generated? A22: A common source for 3-D fractals is to compute Julia sets with quaternions instead of complex numbers. The resulting Julia set is four dimensional. By taking a slice through the 4-D Julia set (e.g. by fixing one of the coordinates), a 3-D object is obtained. This object can then be displayed using computer graphics techniques such as ray tracing. The papers to read on this are: 1. J. Hart, D. Sandin and L. Kauffman, Ray Tracing Deterministic 3-D Fractals, _SIGGRAPH_, 1989, pp. 289-296. 2. A. Norton, Generation and Display of Geometric Fractals in 3-D, _SIGGRAPH_, 1982, pp. 61-67. 3. A. Norton, Julia Sets in the Quaternions, _Computers and Graphics,_ 13, 2 (1989), pp. 267-278. Instead of quaternions, you can of course use other functions. For instance, you could use a map with more than one parameter, which would generate a higher-dimensional fractal. Another way of generating 3-D fractals is to use 3-D iterated function systems (IFS). These are analogous to 2-D IFS, except they generate points in a 3-D space. A third way of generating 3-D fractals is to take a 2-D fractal such as the Mandelbrot set, and convert the pixel values to heights to generate a 3-D "Mandelbrot mountain". This 3-D object can then be rendered with normal computer graphics techniques. ------------------------------ Subject: What are some general references? Q23: What are some general references on fractals and chaos? A23: Some references are: 1. M. Barnsley, _Fractals Everywhere_, Academic Press Inc., 1988. ISBN 0- 12-079062-9. This is an excellent text book on fractals. This is probably the best book for learning about the math underpinning fractals It is also a good source for new fractal types. 2. M. Barnsley and L. Hurd, _Fractal Image Compression_, Jones and Bartlett, December, 1992. ISBN 0-86720-457-5. This book explores the science of the fractal transform in depth. The authors begin with a foundation in information theory and present the technical background for fractal image compression. In so doing, they explain the detailed workings of the fractal transform. Algorithms are illustrated using source code in C. 3. M. Barnsley and L. Anson, _The Fractal Transform_, Jones and Bartlett, April, 1993. ISBN 0-86720-218-1. This book is a sequel to _Fractals Everywhere_. Without assuming a great deal of technical knowledge, the authors explain the workings of the Fractal Transform (tm). The Fractal Transform is the compression tool for storing high-quality images in a minimal amount of space on a computer. Barnsley uses examples and algorithms to explain how to transform a stored pixel image into its fractal representation. 4. R. Devaney and L. Keen, eds., _Chaos and Fractals: The Mathematics Behind the Computer Graphics_, American Mathematical Society, Providence, RI, 1989. This book contains detailed mathematical descriptions of chaos, the Mandelbrot set, etc. 5. R. L. Devaney, _An Introduction to Chaotic Dynamical Systems_, Addison- Wesley, 1989. ISBN 0-201-13046-7. This book introduces many of the basic concepts of modern dynamical systems theory and leads the reader to the point of current research in several areas. It goes into great detail on the exact structure of the logistic equation and other 1-D maps. The book is fairly mathematical using calculus and topology. 6. R. L. Devaney, _Chaos, Fractals, and Dynamics_, Addison-Wesley, 1990. ISBN 0-201-23288-X. This is a very readable book. It introduces chaos fractals and dynamics using a combination of hands-on computer experimentation and precalculus math. Numerous full-color and black and white images convey the beauty of these mathematical ideas. 7. R. Devaney, _A First Course in Chaotic Dynamical Systems, Theory and Experiment_, Addison Wesley, 1992. A nice undergraduate introduction to chaos and fractals. 8. G. A. Edgar, _Measure Topology and Fractal Geometry_, Springer- Verlag Inc., 1990. ISBN 0-387-97272-2. This book provides the math necessary for the study of fractal geometry. It includes the background material on metric topology and measure theory and also covers topological and fractal dimension, including the Hausdorff dimension. 9. K. Falconer, _Fractal Geometry: Mathematical Foundations and Applications_, Wiley, New York, 1990. 10. J. Feder, _Fractals_, Plenum Press, New York, 1988. This book is recommended as an introduction. It introduces fractals from geometrical ideas, covers a wide variety of topics, and covers things such as time series and R/S analysis that aren't usually considered. 11. J. Gleick, _Chaos: Making a New Science_, Penguin, New York, 1987. 12. B. Hao, ed., _Chaos_, World Scientific, Singapore, 1984. This is an excellent collection of papers on chaos containing some of the most significant reports on chaos such as ``Deterministic Nonperiodic Flow'' by E.N.Lorenz. 13. S. Levy, _Artificial life : the quest for a new creation_, Pantheon Books, New York, 1992. This book takes off where Gleick left off. It looks at many of the same people and what they are doing post-Gleick. 14. B. Mandlebrot, _The Fractal Geometry of Nature_, W. H. FreeMan and Co., New York. ISBN 0-7167-1186-9. In this book Mandelbrot attempts to show that reality is fractal-like. He also has pictures of many different fractals. 15. H. O. Peitgen and P. H. Richter, _The Beauty of Fractals_, Springer- Verlag Inc., New York, 1986. ISBN 0-387-15851-0. Lots of neat pictures. There is also an appendix giving the coordinates and constants for the color plates and many of the other pictures. 16. H. Peitgen and D. Saupe, eds., _The Science of Fractal Images_, Springer-Verlag Inc., New York, 1988. ISBN 0-387-96608-0. This book contains many color and black and white photographs, high level math, and several pseudocoded algorithms. 17. H. Peitgen, H. Jurgens and D. Saupe, _Fractals for the Classroom_, Springer-Verlag, New York, 1992. These two volumes are aimed at advanced secondary school students (but are appropriate for others too), have lots of examples, explain the math well, and give BASIC programs. 18. C. Pickover, _Computers, Pattern, Chaos, and Beauty: Graphics from an Unseen World_, St. Martin's Press, New York, 1990. This book contains a bunch of interesting explorations of different fractals. 19. J. Pritchard, _The Chaos Cookbook: A Practical Programming Guide_, Butterworth-Heinemann, Oxford, 1992. ISBN 0-7506-0304-6. It contains type- in-and-go listings in BASIC and Pascal. It also eases you into some of the mathematics of fractals and chaos in the context of graphical experimentation. So it's more than just a type-and-see-pictures book, but rather a lab tutorial, especially good for those with a weak or rusty (or even non- existent) calculus background. 20. P. Prusinkiewicz and A. Lindenmayer, _The Algorithmic Beauty of Plants_, Springer-Verlag, NY, 1990. ISBN 0-387-97297-8. A very good book L-systems, which can be used to model plants in a VERY realistic fashion (the book contains a lot of pictures). 21. M. Schroeder, _Fractals, Chaos, and Power Laws: Minutes from an Infinite Paradise_, W. H. Freeman, New York, 1991. This book contains a clearly written explanation of fractal geometry with lots of puns and word play. 22. D. Stein, ed., _Proceedings of the Santa Fe Institute's Complex Systems Summer School_, Addison-Wesley, Redwood City, CA, 1988. See esp. the first article by David Campbell: ``Introduction to nonlinear phenomena''. 23. R. Stevens, _Fractal Programming in C_, M&T Publishing, 1989 ISBN 1- 55851-038-9. This is a good book for a beginner who wants to write a fractal program. Half the book is on fractal curves like the Hilbert curve and the von Koch snow flake. The other half covers the Mandlebrot, Julia, Newton, and IFS fractals. 24. I. Stewart, _Does God Play Dice?: the Mathematics of Chaos_, B. Blackwell, New York, 1989. 25. T. Wegner and M. Peterson, _Fractal Creations_, The Waite Group, 1991. This is the book describing the Fractint program. Journals: "Chaos and Graphics" section in the quarterly journal _Computers and Graphics_. This contains recent work in fractals from the graphics perspective, and usually contains several exciting new ideas. "Mathematical Recreations" section by A. K. Dewdney in _Scientific American_. Algorithms - The Personal Computer Newsletter. P.O. Box 29237, Westmount Postal Outlet, 785 Wonderland Road S., London, Ontario, Canada, N6K 1M6. Mandala Fractal Report. Reeves Telecommunication Labs. West Towan House, Pothtowan, TRURO, Cornwall TR4 8AX, U.K. Amygdala. P.O. Box 219 San Cristobal, NM 87564-0219. This is a newsletter about the Mandelbrot Set and other fractals. A trial subscription for 6 issues is $15 to: Amygdala Box 219 / San Cristobal, NM 87564. Contact Rollo Silver (rsilver@lanl.gov) for more information. FRAC'Cetera. This is a gazetteer of the world of fractals and related areas, supplied in IBM PC format. For more information, contact: Jon Horner, Editor FRAC'Cetera, Le Mont Ardaine, Rue des Ardains, St. Peters, Guernsey, Channel Islands, United Kingdom. Articles: 1. P. Blanchard, Complex Analytic Dynamics on the Riemann Sphere, _Bull. of the Amer. Math. Soc_ 11, 1 (July 1984), pp. 85-141. This article is a detailed discussion of the mathematics of iterated complex functions. It covers most things about Julia sets of rational polynomial functions. ------------------------------ Subject: Acknowledgements For their help with this file, thanks go to: Alex Antunes, Erik Boman, Jacques Carette, John Corbit, Abhijit Deshmukh, Robert Drake, Gerald Edgar, Gordon Erlebacher, Duncan Foster, Murray Frank, Jean-loup Gailly, Earl Glynn, Lamont Granquist, Luis Hernandez-Ure:a, Arto Hoikkala, Carl Hommel, Robert Hood, Oleg Ivanov, Simon Juden, J. Kai-Mikael, Leon Katz, Matt Kennel, Tal Kubo, Jon Leech, Tom Menten, Guy Metcalfe, Eugene Miya, Miriam Nadel, Ron Nelson, Tom Parker, Dale Parson, Matt Perry, Francois Pitt, Michael Rolenz, Tom Scavo, Jeffrey Shallit, Rollo Silver, Gerolf Starke, Bruce Stewart, Dwight Stolte, Tommy Vaske, Tim Wegner, Andrea Whitlock, Erick Wong, Wayne Young, and others. Special thanks to Matthew J. Bernhardt (mjb@acsu.buffalo.edu) for collecting many of the chaos definitions. Copyright 1993 Ken Shirriff (shirriff@sprite.Berkeley.EDU).