Path: ns-mx!hobbes.physics.uiowa.edu!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!ucbvax!GRIN1.BITNET!THROOP From: THROOP@GRIN1.BITNET ("Throop,Henry B") Newsgroups: comp.sys.apple2 Subject: Re: TML Pascal Message-ID: <9110100600.AA12650@apple.com> Date: 10 Oct 91 05:59:45 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 61 > I appreciate your answer. Some of the thing I will try it out tonight. > I have no intention at the moment to convert to integer for floating > point calculation. It's really easier than it sounds. Just substitute this procedure for the one you're using to calculate the level set. It takes two reals, the x and y coordinates (not screen coordinates) and returns the proper m-set level. Function DoCalc (origx, origy : extended) : integer; var i : integer; xo, yo, xi, yi, temp : longint; begin xo := round (origx*1024); xi := xo; yo := round (origy*1024); yi := yo; i := 0; while (((xi*xi+yi*yi)<2097152) and (i <= 50)) do begin temp := (xi*xi) div 1024 - (yi*yi) div 1024; yi := (2*yi*xi) div 1024; xi := temp; i := i + 1; end; DoCalc := i; end; (I just noticed that xi^2 and yi^2 are getting calculated twice; fix this for a bit more speed.) For others who are interested, to get a plot of the Mandelbrot set, all you need to do is to plug x and y coordinates into this function, and plot the color on the screen based on the value it returns. For the full m-set, set the x range to [-1.5, 0.5] and y to [-1.25, 1.25]. Figure out some sort of mapping between the x and y real coords and the screen coords, and then loop through every screen pixel. > Strange, my TML Pascal and TML Pascal II NEVER gives me any problems, > although I have designed a unfinished painting program, and some > minor programs using them. Yes, TML Pascal II resource editor does > crashes some time, but they are more stable under System 5.04 now. Maybe you have a later version than me; mine acts like it's about 6 months pre-alpha. > Where did you get the fomula for assigning colours? I normally either > take the mod, or the range of the value. Taking the mod works fine; I've experimented around with other arbitrary functions of x, y, and iterations. Almost anything gives good nice results. > Lim Thye Chean: Lim is my surname. My name is Thye Chean. Henry -- Henry Throop THROOP@GRIN1.BITNET throoph@jacobs.cs.orst.edu