Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!samsung!think!ames!coherent!dplatt From: dplatt@coherent.com (Dave Platt) Newsgroups: comp.graphics Subject: Re: Excluding Mandelbrot set Message-ID: <40445@improper.coherent.com> Date: 27 Nov 89 18:43:54 GMT References: <3544@quanta.eng.ohio-state.edu> <480003@hpsad.HP.COM> <7106@ficc.uu.net> Reply-To: dplatt@improper.UUCP (Dave Platt) Organization: Coherent Thought Inc., Palo Alto CA Lines: 45 In article <7106@ficc.uu.net> peter@ficc.uu.net (Peter da Silva) writes: >One thing that can be done to speed up calculations of the mandelbrot set is >to use memory. After you have determined that a point is in the set, you know >that all the other points visited in determining that are in the set as well, >so you can mark them black. Similarly, if you determine a point is not in the >set you know that all the other points you visited are not in the set as well, >so you can mark them white (or whatever colors you're using). This is a pretty >safe optimisation. > >Also, if you are iterating over a point and you hit a point you've already >calculated you can cut your calculations short there. But this optimisation >may lead to problems from quantisation. Urrgh. I tried this two years ago, believing (as you do) that it was valid. 'Taint.. it doesn't work at all well. Each point that you iterate has a unique track, which is controlled by the value of the original point. Take a point A0, and iterate it through points A1, A2, A3, ... and so forth. Note where it goes. Now... start with a point B0. Let's set B0 precisely equal to point A2, just for the sake of argument. Iterate B0, through points B1, B2, ... and so forth. Now... given that B0 = A2, will B1 = A3, and B2 = A4, and so forth. Nope... usually not. Why? Well, the iterations are being derived from _different_ formulae! For example: we know that A3 = A2^2 + A0, and B1 = B0^2 + B0. A2^2 = B0^2, so that part of the formula is fine... but A0 != B0, and so A3 != B1. The tracks diverge immediately. I've seen cases in which the tracks of points lying well outside of M actually pass through the body of M... and vice versa. The optimization you suggest would probably work well when iterating sets using the Julia formula... because the value added during each iteration doesn't depend on the value of the starting point. -- Dave Platt VOICE: (415) 493-8805 UUCP: ...!{ames,apple,uunet}!coherent!dplatt DOMAIN: dplatt@coherent.com INTERNET: coherent!dplatt@ames.arpa, ...@uunet.uu.net USNAIL: Coherent Thought Inc. 3350 West Bayshore #205 Palo Alto CA 94303 Brought to you by Super Global Mega Corp .com