From: owner-fractint-digest@lists.xmission.com (fractint-digest) To: fractint-digest@lists.xmission.com Subject: fractint-digest V1 #354 Reply-To: fractint-digest Sender: owner-fractint-digest@lists.xmission.com Errors-To: owner-fractint-digest@lists.xmission.com Precedence: bulk fractint-digest Friday, January 22 1999 Volume 01 : Number 354 ---------------------------------------------------------------------- Date: Wed, 20 Jan 1999 00:24:04 -0500 From: Gedeon Peteri Subject: (fractint) Ultra Fractal pages Two pages at my Geocities website have been extensively revised. The Chebyshev and the Zf_Ang pages are now entirely made up of multi-layered true color images generated with Ultra Fractal. Some of the images are reworked Fractint pars; others are new. I hope you'll enjoy your visit. Gedeon - -- - -------------------------------------------------------------- Fractals: http://www.geocities.com/~gedeonp/index.html Member Infinite Fractal Loop Last updated: January 20, 1999 - two Ultra Fractal pages added Photography: http://members.xoom.com/gedeonp/index.html Last updated: November 8, 1998 - -------------------------------------------------------------- - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Tue, 19 Jan 1999 23:44:27 -0600 From: "Paul N. Lee" Subject: (fractint) The FOTD website.... Greetings, I got an email this evening from the folks at my ISP. A portion of that message reads as follows: Your AT&T WorldNet Personal Web Page at http://home.att.net/~Paul.N.Lee/FotD/FotD.html is terrific-- so good, in fact, that we’ve added it to our Member Showcase listing for Science & Technology. It’s where we feature the most interesting and active community sites in AT&T WorldNet Community Port. You’ll definitely get more traffic and visibility for your site as a result of your hard work. To see the Web site listed with their other top community Web sites, please go to http://community.att.net/community/showcase/index.html. P.N.L. - -------------------------------------------------------------- http://www.fractalus.com/cgi-bin/theway?ring=fractals&id=43&go - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Wed, 20 Jan 1999 00:44:12 -0500 From: Gedeon Peteri Subject: (fractint) True color Zf_Angs Paul, I have missed your postings lately. Having started working with Ultra Fractal a short time ago, the first formula I worked with in it was my old favorite, your Zf_Ang. I have replaced the images on my old Zf_Ang page at my Geocities website with these true color images. I thought you might like to see them. Thanks for your fine formula! Gedeon - -- - -------------------------------------------------------------- Fractals: http://www.geocities.com/~gedeonp/index.html Member Infinite Fractal Loop Last updated: January 20, 1999 - two Ultra Fractal pages added Photography: http://members.xoom.com/gedeonp/index.html Last updated: November 8, 1998 - -------------------------------------------------------------- - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Wed, 20 Jan 1999 10:38:54 -0600 From: "Damien M. Jones" Subject: Re: (fractint) The FOTD website.... Paul, Jim, Congratulations! Damien M. Jones \\ dmj@fractalus.com \\ Fractalus Galleries & Info: \\ http://www.fractalus.com/ Please do not post my e-mail address on a web site or in a newsgroup. Thank you. - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Wed, 20 Jan 1999 16:27:31 EST From: RENRAD1@aol.com Subject: Re: (fractint) The FOTD website.... Congratulations Paul and Jim! - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Wed, 20 Jan 1999 18:09:34 -0500 From: Paul DeCelle Subject: Re: (fractint) Fabio Fabio Fazzi wrote: > > > I can change colors in Winfract but not in Fractint, can somebody explain me how i can > change colors (as Volcano, Blue, etc...)? Fabio-- With your image loaded (or even while it's still loading), press "C", then press "L". This will allow you to load any colormap in the Fractint directory. You can cycle the colors by pressing "C" again, and stop cycling by pressing "C" yet again. The "<" and ">" keys change the cycling direction. Once you have the look you want, press "ESC" to get back to normal Fractint operations. I hope this is clear; I change and cycle colors without really hinking about the steps... Regards, Paul DeCelle - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Wed, 20 Jan 1999 18:21:53 -0500 From: Paul DeCelle Subject: Re: (fractint) Changing Colors Oops, looks like Fabio's question already got answered. Guess I should read ALL my mail before replying (66 messages waiting after a two day absence!) Paul - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Thu, 21 Jan 1999 00:35:57 +0100 From: "Ognen Ivanovski" Subject: (fractint) Fw: Fractint & it's color decomposition Hi everyone. I found the address of Lee Crocker, the author of the Decomposition coloring method on Fractint's cerdits screen. I've sent the message below to that address but the author could not be reached thatways. So I am hoping that he'll read this message. Also, if anyone else knows the answer, it would be nice to read it. Once my project is built, be sure it will be a good source of unusual "geneticaly engeineered" formulas. Thanks in advance. Ognen - -----Original Message----- From: Ognen Ivanovski To: Lee Crocker Date: Monday, January 18, 1999 6:56 PM Subject: Fractint & it's color decomposition >Hello, > >I'm a computer science student who has his love for fractals since early >highschool. At last I got the oportunity to do something with it, i.e. to >learn about fractals better. > >Now, I am working on a project that I call The Genetic Artist. Using Genetic >Algorithm I'm supposed to make a population of fractals (roughly speaking) >to mate between themselves and produce "better" ones. The more the fractal >is "fit" the better are the chances to spread it's genes. The fitness is >based on votes from the visitors of the project's page. > >I borrowed the idea from a project that appears at gatech.edu (called DNA). >They are using fractint to generate their images. But I want to make my own >generator (so I can learn the process throughly) and some of the images that >I intend to use as generation one are that beautiful due to using >decomposition. > >In Fractint's Help there is a rough explanation of how it is done. Could you >explain the process to me in short terms. All I need to know is: > >When the iterations stop at a value of (x, z) and the decomposition factor >is 64 (I like that value best) how do I determine the color of the pixel >(ranging 0..255)? > >I hope I'm not asking too much of your time. I'd love to send a .par file in >exchange for the information. Also when I finish the project I'd like you to >come to the web page and see how the generations are going. > >Needless to say that my first mean of relaxation at home is of course >spending hours in front of fractint. :) > >Thanks in advance, >Ognen Ivanovski >student at the Institute of Informatics >University of "St. Cyril and Methodius" >Skopje, Macedonia (former Yougoslav Republic of) > >_____ >http://eon.pmf.ukim.edu.mk/~milkman/ [coming soon] > - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Wed, 20 Jan 1999 19:43:00 -0500 From: Barry N Merenoff <110144.2274@compuserve.com> Subject: (fractint) Re: Decomposition I would assume that the way this is done is by repeatedly squaring the value from the final iteration. A binary number would be built up from le= ft to right. The first (leftmost) bit would be one when the final iteration has a negative real part or zero when the final iteration has a positive real part. The second bit would be determined the same way from the squar= e of the final iteration; the third, from the fourth power of the final iteration; etc. If any of these values has a zero real part, it would be grouped with either the positive or negative real parts; it's up to you. However, you would have to be consistent. Note: I haven't actually checked the source code on this. It just seems t= he sensible way decomposition would be done. If someone knows a mistake in this algorithm, please let both of us know. Collin Merenoff - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Wed, 20 Jan 1999 19:35:58 -0600 From: "Damien M. Jones" Subject: Re: (fractint) Re: Decomposition Collin, Actually I'd expect the decomposition to simply be read off from the angle directly. You could keep squaring the number, but if you don't add c each time this has precisely the same effect, but it also increases the magnitude of the number substantially each time, and if your bailout is set too high you will overflow. Damien M. Jones \\ dmj@fractalus.com \\ Fractalus Galleries & Info: \\ http://www.fractalus.com/ Please do not post my e-mail address on a web site or in a newsgroup. Thank you. - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Wed, 20 Jan 1999 18:47:28 -0700 (MST) From: Kerry Mitchell Subject: Re: (fractint) Re: Decomposition That's my understanding, too. Setting "decomp=n" will cause Fractint to color the image by breaking the final polar angle into n segments. Binary decomposition would come from setting decomp=2. Then, all the angles from 0 to pi would be rendered in one color, and pi to 2*pi in another. Kerry - ------------------------------------------------------------------------------- Kerry Mitchell lkmitch@primenet.com www.primenet.com/~lkmitch/ - ------------------------------------------------------------------------------- On Wed, 20 Jan 1999, Damien M. Jones wrote: > Collin, > > Actually I'd expect the decomposition to simply be read off from the angle > directly. You could keep squaring the number, but if you don't add c each > time this has precisely the same effect, but it also increases the > magnitude of the number substantially each time, and if your bailout is set > too high you will overflow. > > Damien M. Jones \\ - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Wed, 20 Jan 1999 21:12:53 -0500 From: JoWeber Subject: (fractint) web-site has been moved Hi All, I moved my site to http://www.joweber.de and added a new page. Cheers --Jo-- - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Thu, 21 Jan 1999 10:36:45 GMT From: "Andrew Coppin" Subject: (fractint) Algorithm for Decomposition To draw a fractal with binary decomposition, e.i. decomp="n": 1. Do the usual calculation for the pixel colour exactly as normal. 2. Instead of using the iteration count for the colour value... a) Work out the imaginary part of the final value of Z (or whatever) divided by the real part. b) Take the arc-tangent of this value. c) You now have an angle (radians!) between +Pi and -Pi. d) Split that range into "n" intervals, and see which interval contains your angle. The number of this interval is than the pixel colour. Simple. Nam et ipsa scientia potestus est! Andrew Orphi Coppin DMU MK. - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Thu, 21 Jan 1999 11:23:37 GMT From: "Andrew Coppin" Subject: (fractint) Set Union I'm working with the formula (Z^3) - 3(A^2)Z + B, which is (apparently) a generalization of all possible 3rd degree polynomials. I've got Julia sets working fine, but I'm having trouble with the M set. You see, with the good old quadratic M you must iterate one point, zero, and see where that goes. However, for this Cubic M, there are two points to worry about, +A and -A. So there are two M sets, M+ and M-. I've got formulas for these working just fine, but M itself is the Union of M+ and M-. How do I do that in FractInt? P.S. For anyone interested, you can do these Julias with CubicJulia = { A = p1, B = p2, T = 3*A*A, Z = Pixel: Z = Z*Z*Z - T*Z + B, |Z| < 4 } For anyone wanting to see the M set (or M+ or M-), there's an additional problem: they're 4-dimensional!!! I can do slices parallel to the "A" plane of the "B" plane (B looks best). For example CubicMandelbrotBP = { A = p1, B = Pixel, T = 3*A*A, Z = A: Z = Z*Z*Z - T*Z + B, |Z| < 4 } That gives you M+ in the B plane. To change it to the M- set, change "Z=A" to "Z=-A". To change to the "A" plane, replace "A=p1" with "A=Pixel" and replace "B=Pixel" with "B=p1". P.P.S Yes, I *KNOW* that M+ and M- are symmetrical. - --------------------------------- Nam et ipsa scientia potestus est! Andrew Orphi Coppin DMU MK. - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Thu, 21 Jan 1999 11:50:24 GMT From: "Andrew Coppin" Subject: Re: (fractint) Set Union O.K., I've solved it. I've managed to find a quick work arround. If you use two orbit variables, X and Y, and initalize them to +A and -A respectivly, then run them both though the normal iteration formula, then at the end of each iteration assign the one with the highest magnitude to be the value of Z, then use |Z| < 4 as your bailout. Behold: CubicMandelbrotB = { A = p1, B = Pixel, T = 3*A*A, X = A, Y =-A, X = X*X*X - T*X + B, Y = Y*Y*Y - T*Y + B, if(|X|>|Y|) Z=X else Z=Y endif |Z| < 4 } By reversing the ">" in the if() to an "<" you can do intersection instead. So this method works, but it's sssssllooooowwww. If anyone has a faster idea I'd just love to hear it. - --------------------------------- Nam et ipsa scientia potestus est! Andrew Orphi Coppin DMU MK. - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Thu, 21 Jan 1999 10:25:21 -0300 From: "Alejandro Kainer" Subject: RE: (fractint) Set Union Hi Andrew, I know that maybe it's nonsense, but have you tried putting A^2 and X^3 and Y^3 instead of A*A and X*X*X and Y*Y*Y?. Maybe the formula parser process it faster if it doesn't have to work with three or two variables at the same time... Ale PS: I'm still trying to understand how the formulas work, so forgive me if I ignore some facts that may result obvious to others. ________________________________ Alejandro Gustavo Kainer e-mail: alejandro.kainer@usa.net ________________________________ - -----Original Message----- De: Andrew Coppin Para: fractint@xmission.com Fecha: Jueves 21 de Enero de 1999 09:01 Asunto: Re: (fractint) Set Union O.K., I've solved it. I've managed to find a quick work arround. If you use two orbit variables, X and Y, and initalize them to +A and -A respectivly, then run them both though the normal iteration formula, then at the end of each iteration assign the one with the highest magnitude to be the value of Z, then use |Z| < 4 as your bailout. Behold: CubicMandelbrotB = { A = p1, B = Pixel, T = 3*A*A, X = A, Y =-A, X = X*X*X - T*X + B, Y = Y*Y*Y - T*Y + B, if(|X|>|Y|) Z=X else Z=Y endif |Z| < 4 } By reversing the ">" in the if() to an "<" you can do intersection instead. So this method works, but it's sssssllooooowwww. If anyone has a faster idea I'd just love to hear it. - --------------------------------- Nam et ipsa scientia potestus est! Andrew Orphi Coppin DMU MK. - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Thu, 21 Jan 1999 10:24:14 -0500 From: Paul Derbyshire Subject: Re: (fractint) Set Union At 11:23 AM 1/21/99 GMT, you wrote: >I'm working with the formula (Z^3) - 3(A^2)Z + B, which is >(apparently) a generalization of all possible 3rd degree polynomials. >I've got Julia sets working fine, but I'm having trouble with the M >set. You see, with the good old quadratic M you must iterate one >point, zero, and see where that goes. However, for this Cubic M, >there are two points to worry about, +A and -A. So there are two M >sets, M+ and M-. I've got formulas for these working just fine, but M >itself is the Union of M+ and M-. How do I do that in FractInt? I've created images for this type of fractal by superimposing images for both critical points. I even have Fractint formulas to generate such images; they use color ranges to color various areas... - -- .*. "Clouds are not spheres, mountains are not cones, coastlines are not - -() < circles, and bark is not smooth, nor does lightning travel in a `*' straight line." ------------------------------------------------- -- B. Mandelbrot |http://surf.to/pgd.net _____________________ ____|________ Paul Derbyshire pderbysh@usa.net Programmer & Humanist|ICQ: 10423848| - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Thu, 21 Jan 1999 11:22:14 -0500 From: George Martin Subject: RE: (fractint) Set Union Ale wrote: > I know that maybe it's nonsense, but have you tried putting A^2 and X^3 a= nd Y^3 instead of A*A and X*X*X and Y*Y*Y?. Maybe the formula parser process= it faster if it doesn't have to work with three or two variables at the same time... < The "fast" parser used with floating point math calculates x*x with the same function as x^2, so there is no speed up here. George Martin = - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Thu, 21 Jan 1999 10:03:47 -0600 From: "Damien M. Jones" Subject: RE: (fractint) Set Union Ale, - I know that maybe it's nonsense, but have you tried putting A^2 and - X^3 and Y^3 instead of A*A and X*X*X and Y*Y*Y?. Maybe the formula - parser process it faster if it doesn't have to work with three or - two variables at the same time... Not at all--exponentiation is a very expensive process, but multiplication is relatively cheap. In fact, sqr(A) is faster than A*A. Damien M. Jones \\ dmj@fractalus.com \\ Fractalus Galleries & Info: \\ http://www.fractalus.com/ Please do not post my e-mail address on a web site or in a newsgroup. Thank you. - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Thu, 21 Jan 1999 14:11:50 -0300 From: "Alejandro Kainer" Subject: RE: (fractint) Set Union Damien, OK, I understand that exponentiation is expensive. But you wrote "In fact, sqr(A) is faster than A*A". How could that be? I mean, I think that the function sqr() acts the same as A*A, but first the parser has to translate it. Doesn't it mean an expensive way of doing the same thing too? Ale - -----Original Message----- De: Damien M. Jones Para: fractint@lists.xmission.com Fecha: Jueves 21 de Enero de 1999 13:52 Asunto: RE: (fractint) Set Union >Ale, > > - I know that maybe it's nonsense, but have you tried putting A^2 and > - X^3 and Y^3 instead of A*A and X*X*X and Y*Y*Y?. Maybe the formula > - parser process it faster if it doesn't have to work with three or > - two variables at the same time... > >Not at all--exponentiation is a very expensive process, but multiplication >is relatively cheap. In fact, sqr(A) is faster than A*A. > >Damien M. Jones \\ >dmj@fractalus.com \\ Fractalus Galleries & Info: > \\ http://www.fractalus.com/ > >Please do not post my e-mail address on a web site or >in a newsgroup. Thank you. > >-------------------------------------------------------------- >Thanks for using Fractint, The Fractals and Fractint Discussion List >Post Message: fractint@lists.xmission.com >Get Commands: majordomo@lists.xmission.com "help" >Administrator: twegner@phoenix.net >Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Thu, 21 Jan 1999 12:25:10 -0500 From: Barry N Merenoff <110144.2274@compuserve.com> Subject: (fractint) Re: Sqr function The expansion of (a+bi)^2 is (a^2-b^2)+2abi. If this were done with regul= ar multiplication, you would multiply a by a, multiply b by b, and then subtract. However, a faster way to do this, which Sqr probably takes advantage of, is to factor the real part as (a+b)(a-b). This would give y= ou one addition, one subtraction, and one multiplication. Since addition is cheaper (faster) than multiplication, this is probably how Sqr(z) can be faster than z*z. Note that this shortcut works only when the two complex factors are equal, so it couldn't be programmed into the regular multiplication operation. Collin Merenoff PS: Yes, of course, repeated squaring would cause overflow; I should have= realized that. However, an easy way to avoid this would be to halve each square until it is within a certain "safety zone." I think this would be faster than computing the arctangent. - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Thu, 21 Jan 1999 11:59:25 -0600 From: "Damien M. Jones" Subject: Re: (fractint) Re: Sqr function Collin, - The expansion of (a+bi)^2 is (a^2-b^2)+2abi. If this were done with - regular multiplication, you would multiply a by a, multiply b by b, - and then subtract. However, a faster way to do this, which Sqr - probably takes advantage of, is to factor the real part as (a+b)(a-b). - This would give you one addition, one subtraction, and one - multiplication. Since addition is cheaper (faster) than - multiplication, this is probably how Sqr(z) can be faster than z*z. Actually, the differences in cost between multiplication and addition are almost negligible on a Pentium, and still minor on a Pentium-II. Unless you are doing assembly programming, you might as well totally ignore the difference and treat them as equal (at least for floating-point work; integers are another matter). And when you DO get to the floating-point level, other considerations come into play, such as pipelining, register availability, etc. I actually found in several cases it's faster to skip this "optimization" entirely and use a^2-b^2, especially if you need a^2+b^2 for bailout (as you do for the M-set and J-sets). For architectures where multiplication is still expensive (80x486 and earlier; 680x0; others, no doubt) this optimization makes more sense. - PS: Yes, of course, repeated squaring would cause overflow; I should - have realized that. However, an easy way to avoid this would be to - halve each square until it is within a certain "safety zone." I think - this would be faster than computing the arctangent. Not so much as you'd think. Figure at least ten cycles per bit for the squaring method, versus 35 to 150 cycles for directly computing the arctangent (on a Pentium). You can get eight bits in eighty cycles, which is faster than arctangent in some cases. If you need more bits, you might as well compute it directly. And don't forget, you only do this calculation once per point, not once per iteration; this makes optimizing it considerably less important. Damien M. Jones \\ dmj@fractalus.com \\ Fractalus Galleries & Info: \\ http://www.fractalus.com/ Please do not post my e-mail address on a web site or in a newsgroup. Thank you. - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Thu, 21 Jan 1999 11:41:55 -0600 From: "Damien M. Jones" Subject: RE: (fractint) Set Union Ale, - OK, I understand that exponentiation is expensive. But you wrote "In - fact, sqr(A) is faster than A*A". How could that be? I mean, I think - that the function sqr() acts the same as A*A, but first the parser - has to translate it. Doesn't it mean an expensive way of doing the - same thing too? sqr(A) returns the same result as A*A, of course. But as Collin points out, it is slightly faster because the calculation can be optimized a bit. The FractInt parser only parses the formula once, it doesn't parse it over and over. So the cost of parsing sqr(A) versus A*A is only incurred once. Damien M. Jones \\ dmj@fractalus.com \\ Fractalus Galleries & Info: \\ http://www.fractalus.com/ Please do not post my e-mail address on a web site or in a newsgroup. Thank you. - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Thu, 21 Jan 1999 13:16:06 -0500 From: Paul Derbyshire Subject: RE: (fractint) Set Union At 02:11 PM 1/21/99 -0300, you wrote: >Damien, > >OK, I understand that exponentiation is expensive. But you wrote "In fact, >sqr(A) is faster than A*A". How could that be? I mean, I think that the >function sqr() acts the same as A*A, but first the parser has to translate >it. Doesn't it mean an expensive way of doing the same thing too? No, the parser doesn't change sqr(x) into x*x and reparse it... it parses x*y where x=a+bi and y=c+di as (ac-bd) + (bc+ad)i, four fmuls and an fadd and fsub. (It doesn't care whether y=x in particular so x*x is still four fmuls...) It parses sqr(x) into (a+b)(a-b) + 2abi, which is two fmuls and two fadds and a fsub. (The 2ab is one fmul and a fadd since, assuming Tim Wegener wasn't drunk or deranged on the day he wrote that particular line of code, he has it actually work as ab + ab, since the add is less expensive than another multiply.) Since multiplies are the main contributors to cycle-eating in mathematical iterations, we highlight this as follows: x*x causes four multiples and sqr(x) only two. sqr(x) may be as much as twice as fast depending on how much more expensive fmuls are than fadds. This might depend on your processor of course... - -- .*. "Clouds are not spheres, mountains are not cones, coastlines are not - -() < circles, and bark is not smooth, nor does lightning travel in a `*' straight line." ------------------------------------------------- -- B. Mandelbrot |http://surf.to/pgd.net _____________________ ____|________ Paul Derbyshire pderbysh@usa.net Programmer & Humanist|ICQ: 10423848| - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Fri, 22 Jan 1999 01:16:03 -0600 From: "Paul N. Lee" Subject: Re: (fractint) The FOTD website.... Michael Traynor wrote: > > Paul, > > No surprise, and well deserved. Congrats. > Damien M. Jones wrote: > > Paul, Jim, > > Congratulations! > RENRAD1@aol.com wrote: > > Congratulations Paul and Jim! > Thank you (one and all) very much !!! The comments and praise are most welcome. :-) Later, P.N.L. - -------------------------------------------------------------- http://www.fractalus.com/cgi-bin/theway?ring=fractals&id=43&go - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Fri, 22 Jan 1999 10:25:10 GMT From: "Andrew Coppin" Subject: (fractint) Re: Alejandro Kainer's Message Yeh, it is nonsense. If you read the documents (I can't remember exactly where it says so) you'll see that the FractInt authors strongly warn *against* using, e.g. Q^5, and say that Q*Q*Q*Q*Q is raster (about 4 times faster in my experience). The reason is that the "^" operator is designed to work with complex number powers as well, which means it's programmed with an X. X. Complicated Formula. But never mind, and thanks for the message all the same. - --------------------------------- Nam et ipsa scientia potestus est! Andrew Orphi Coppin DMU MK. - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Fri, 22 Jan 1999 10:41:48 GMT From: "Andrew Coppin" Subject: (fractint) MIDI I had a look on the semi-offical FractInt Wish List, and at the botton one of the Authors wrote "MIDI support requires someone who understands MIDI". Well, I do, so what on earth is it going to be used for in a graphics program?!?! - --------------------------------- Nam et ipsa scientia potestus est! Andrew Orphi Coppin DMU MK. - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Fri, 22 Jan 1999 09:07:23 -0500 From: George Martin Subject: (fractint) Re: Alejandro Kainer's Message Ale wrote: > Yeh, it is nonsense. If you read the documents (I can't remember = exactly where it says so) you'll see that the FractInt authors = strongly warn *against* using, e.g. Q^5, and say that Q*Q*Q*Q*Q is = faster (about 4 times faster in my experience). The reason is that = the "^" operator is designed to work with complex number powers as = well... < This is correct. If the power is a real integer constant -1, 0, 1, or 2, the parser recognizes this and does not run the power function ("^"), but= instead runs recip, one, ident, or sqr respectively. Any other power, whether real, imaginary or complex, runs the power function, which is one= of the slowest in the arsenal. Thus real postive integers greater than tw= o are likely to run much faster if expressed as multiplication rather than power, e.g. X*X*X is better than x^3. Paul wrote: > It parses sqr(x) into (a+b)(a-b) + 2abi, which is two fmuls and two fadds= and a fsub. (The 2ab is one fmul and a fadd since, assuming Tim Wegener wasn't drunk or deranged on the day he wrote that particular line of code= , he has it actually work as ab + ab, since the add is less expensive than another multiply.) < Paul is right. Here is the ASM code for the sqr function: fld st(0) ; x x y fld st(0) ; x x x y fmul st,st(3) ; xy x x y fadd st,st ; 2xy x x y fxch st(3) ; y x x 2xy fadd st(2),st ; y x x+y 2xy fsubp st(1),st ; x-y x+y 2xy fmulp st(1),st ; xx-yy 2xy Note line 4. This code was written by the eminently sober Chuck Ebbert. := ) George Martin - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ Date: Fri, 22 Jan 1999 15:14 0000 From: comdotatdotcom@csi.com Subject: RE: (fractint) MIDI Hi Andrew > "MIDI support requires someone who >understands MIDI". Well, I do, so what on earth is it going to be >used for in a graphics program?!?! It's OK, I'm dealing with it :-) there have been a number of people interested in turning the chaotic orbits of fractal caculation into music of some sort, and since most modern sound cards include comprehensive wavetable support I guess folks just want their favorite program to use their new hardware :-) Cheers, Robin. - -------------------------------------------------------------- Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@lists.xmission.com Get Commands: majordomo@lists.xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractint" ------------------------------ End of fractint-digest V1 #354 ******************************