home *** CD-ROM | disk | FTP | other *** search
- Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
- Path: sparky!uunet!paladin.american.edu!auvm!UNIXG.UBC.CA!MFREEMAN
- X-Mailer: ELM [version 2.3 PL6]
- Message-ID: <9301220610.AA29484@unixg.ubc.ca>
- Newsgroups: bit.listserv.frac-l
- Date: Thu, 21 Jan 1993 22:10:32 PST
- Sender: 'FRACTAL' discussion list <FRAC-L@GITVM1.BITNET>
- From: Michael Freeman <mfreeman@UNIXG.UBC.CA>
- Subject: Speeding up Calculation of Mandelbrot Set
- Lines: 25
-
- Assuming programming information is sought, two types of thing should be done:
- 1. Try to optimize the routine that calculates the dwell of a given point.
- This means writing it in assembler. For MSDOS machines, 80x87 floating
- point machine instructions, or, if no coprocessor (or 486DX) but having
- a 386, using extended integer arithmetic. A time comparison:
- 386 extended integer - 28 units
- C floating point 35 units (with coprocessor)
- C floating point 2797 units (no coprocessor) (ughh)
- 80x87 assembler 24 units
- Fractint does all this very well.
-
- 2. Try to avoid calculating some of the points.
- a) block subdivision (used by Fractint)
- b) boundary tracing (used by Fractint, slower, nicer to watch)
- c) Mariani recursive algorithm: calculate the dwells around the perimeter
- of a rectangle; if they're all the same, fill in the rectangle with that
- value - otherwise divide it in half and recurse on each half (when you
- reach a certain minimum size, just calculate them all)
- - NOT used by Fractint, but it's very effective
-
- Looking for periodicity inside the set is expensive, and most good pictures
- don't contain that many interior points (value judgment!). There are rumoured
- methods that are even better, but I've yet to see or understand them.
-
- - Mike Freeman -
-