Title: The Mandelbrot INTERNAL set Post by: Charleswehner on November 10, 2006, 02:20:15 PM I have already created machine-code programs to explore the standard Mandelbrot set. These were shown elsewhere.
The method of making them involves a "formula" which is re-iterated until the range (from the origin, X=0, Y=0) exceeds 2. Then the dot where the analysis began is coloured in with a colour that depends on the iterations achieved. Here is the key section of code: dec cx jz bailout ; If count expired, jump out. mov edx,[ysquared+offset+3] mov eax,[xsquared+offset+3] add eax,edx cmp eax,4*unity jnc bailout ; If xsq + ysq >= 4, jump out. Here is the result: (http://wehner.org/tools/fractals/man/man.gif) However, the iteration can be stopped not due to the function swirling OUTWARDS from the attractor, but when the function shrinks too far in towards the attractor. I chose one part in 16 as the inner limit: dec cx jz bailout ; If count expired, jump out. mov edx,[ysquared+offset+3] mov eax,[xsquared+offset+3] add eax,edx cmp eax,tiny jc bailout tiny is defined as one part in 256. It is the number 65536 because I use 16777216 as the value of unity - meaning that the computer can compute in sixteen-millionths of a unit, but no more accurately. This is adequate for most purposes. The result is as follows: (http://wehner.org/tools/fractals/internal/int.gif) This image is BOUNDED. That means that there is no dust. The coloured stars are the result of the mathematics overflowing, due to the bailout for high numbers being absent. Here is another image: (http://wehner.org/tools/fractals/internal/int6.gif) Compare it with the outer set equivalent: (http://wehner.org/tools/fractals/man/man7.gif) They are clearly based on similar mathematics. I then put in a guard to stop the mathematical overflow: (http://wehner.org/tools/fractals/internal/clean.gif) cmp eax,8*unity jnc bignumber cmp eax,tiny jc bailout .......... .......... mov [juliay+offset],eax ; New Julia Set Y position jmp chaosloop bignumber: mov cl,0 Compare http://wehner.org/tools/fractals/internal/clean8.gif : (http://wehner.org/tools/fractals/internal/clean8.gif) with http://wehner.org/tools/fractals/man/man8.gif (http://wehner.org/tools/fractals/man/man8.gif) The family resemblance is undeniable. Charles Title: Re: The Mandelbrot INTERNAL set Post by: gandreas on November 10, 2006, 04:31:46 PM This is what is commonly know as "orbit traps" (or just "traps").
One of the more famous ones is the "Omega Cross" which would use the formula: min(abs(x),abs(y)) < size Other fun ones include: max(abs(x),abs(y)) < size (square) abs(x) + abs(y) < size (diamond) abs(x) * abs(y) < size (hyperbola) You can also bound it on both sides to add a "hole" into the trap: minsize < formula < maxsize Other fun things to do is to offset the X & Y value by some constant before evaluating the trap formula, rotate the X & Y value around the origin by some amount based on the iteration (causing the traps to "spin"), or change the size threshold on each iteration (making the traps grow or shrink). You can also set your color based on this result (instead of the iteration) to create gradient filled shapes (or combine with the iteration). And then you can use either the first or last time this trap is hit, or the time when the trap formula is at the minimum or maximum, or blend the colors together, etc... You've just scratched the surface... Title: Re: The Mandelbrot INTERNAL set Post by: Nahee_Enterprises on November 10, 2006, 07:18:53 PM Ahhh, creating holes to replace the location of mini-brots. ;)
Title: Re: The Mandelbrot INTERNAL set Post by: Charleswehner on November 10, 2006, 07:23:02 PM gandreas wrote "You've just scratched the surface".
True, but I have only just got the program up and running. This is the first non-standard set of images. It is good to know the prior art, so that one does not re-invent the wheel. I appreciate all the "learned knowledge" that people can offer, so that I can delve into areas that have not been so intensely explored. For example, the rotating of the vector during the iterations was one of the subjects I had planned to examine. You say it has been done before. I am not surprised. However, I myself have not done it before. It is by hads-on experience that one learns. My internal set tools are at: http://wehner.org/tools/fractals/internal/int.asm http://wehner.org/tools/fractals/internal/int6.asm http://wehner.org/tools/fractals/internal/int8.asm http://wehner.org/tools/fractals/internal/clean.asm http://wehner.org/tools/fractals/internal/clean8.asm They are all very similar, but a tiny alteration - as we have seen - can totally trasform the image. Charles Title: Re: The Mandelbrot INTERNAL set Post by: Charleswehner on November 10, 2006, 07:54:21 PM Another aspect is that the black areas of the external set are commonly called "attractors", and that the attractors are at the heart of both the internal and external sets.
I have used my ANIMATE program to create a flashing image for comparison of the two: http://www.wehner.org/tools/fractals/internal Charles Title: Re: The Mandelbrot INTERNAL set Post by: David Makin on November 18, 2006, 12:50:28 AM Hi Charles,
While I applaud your work to create your own investigative software I would point out that you'd find using either Ultrafractal (if you can afford it) or ChaosPro (if you need freeware) to be much faster ways of performing your investigations rather than writing assembler from scratch - I speak from experience of writing my own assembly program "MMFrac" prior to discovering Ultrafractal's capabilities. You can write your own formulas and colourings for both Ultrafractal and ChaosPro - a custom fractal basic for Ultrafractal and C++ for ChaosPro - as well as there being the entire Ultrafractal public formula and colouring database to learn from - most of which can be imported into ChaosPro. As for the "inside" of the Mandelbrot an interesting way to produce similar results to the images you posted here is to test for periodicity and colour points based on the periodicity found. Orbit trap methods are available for Ultrafractal (and ChaosPro) and most other fractal software that allow the user to colour the fractal by trapping to many different conditions including shapes such as circles, squares, diamonds etc. and even to strange attractors or other functions whereby the trap value/condition changes as iterations progress. bye Dave Title: Re: The Mandelbrot INTERNAL set Post by: Charleswehner on November 19, 2006, 05:44:21 PM Hi Charles, Good advice - but I like to have full control of my investigations.While I applaud your work to create your own investigative software I would point out that you'd find using either Ultrafractal (if you can afford it) or ChaosPro (if you need freeware) to be much faster ways of performing your investigations rather than writing assembler from scratch. The "learning curve" when trying out new software slows me down. For example, I had always assumed that a smooth palette produces smooth images. I tried Fractint, and used commercial software to swap palettes. It came out banded. I then wrote machine code with the same smooth palette. It came out smooth. It turned out that the palette-swap software was buggy. If things go wrong with my machine code, I have only myself to blame. Charles Title: Re: The Mandelbrot INTERNAL set Post by: David Makin on November 20, 2006, 12:38:55 AM If things go wrong with my machine code, I have only myself to blame. Charles Writing formulas in UF or ChaosPro is essentially no different except you don't need to worry about the user interface stuff e.g. providing ways for a user to modify parameters :-) As far as "learning curve" goes, if you're writing assembler you'll certainly have no problem with UF's fractal basic - and probably not much trouble with ChaosPro's C :) Title: Re: The Mandelbrot INTERNAL set Post by: lycium on November 20, 2006, 12:46:04 AM If things go wrong with my machine code, I have only myself to blame. Writing formulas in UF or ChaosPro is essentially no different except you don't need to worry about the user interface stuff e.g. providing ways for a user to modify parameters :-)As far as "learning curve" goes, if you're writing assembler you'll certainly have no problem with UF's fractal basic - and probably not much trouble with ChaosPro's C :) i've been down that road (and was thoroughly ignored, see http://www.fractalforums.com/index.php?topic=132.30), he doesn't want to hear it and we shouldn't spoil his fun. Title: Re: The Mandelbrot INTERNAL set Post by: Charleswehner on November 20, 2006, 02:33:39 PM Generally, I spend maybe twenty minutes a day on creating new images.
When out and about, I think a little about some of the more obscure aspects - like how to find another dimension for topology. Then, when I get home, I start the computer. A minute later, I make tiny changes to the machine code, and assemble it. Then I run the code, and in less than a minute I have a result. On a fast Pentium, it takes one or two seconds. I start up an image-manipulating package to view and adjust the result. Most of the time is spend pondering the results. I see no problem. I am doing it. I am getting results. I am mainly pondering how to create images new seen before, without deviating too far from first principles. In addition, I am not lecturing anybody - nor wishing to be lectured. I am just sharing my thoughts and results with others who are involved with fractals. That's why I joined a forum. Charles Title: Re: The Mandelbrot INTERNAL set Post by: David Makin on November 20, 2006, 04:58:24 PM Hi Charles - hope you don't think I was "lecturing" !! I was simply quoting from my own experience - I investigated Ultrafractal while still working on MMFrac and realised there was no point re-inventing the wheel ;) so switched to writing formulas for Ultrafractal instead.
Title: Re: The Mandelbrot INTERNAL set Post by: Charleswehner on November 21, 2006, 03:39:35 PM Hi Charles - hope you don't think I was "lecturing" !! No - it is not you. I was offered "lectures" on C. Then I explained that I had done that. I was offered "lectures" on anti-aliasing, so I showed some of my results. I was offered "lectures" on Moir. Then I showed my home page with its Moir gimmick. Then I was accused of "flaunting" my age and experience. I never wanted any "flame wars". I am just getting results, and showing them. I hope nobody thinks that I am trying to "lecture" them. I am exploring, and discovering aspects that I myself did not know. These things I put on show. And again, I say there is no point in swapping tools after I have set myself up, and am succeeding. Charles Title: Re: The Mandelbrot INTERNAL set Post by: lycium on November 21, 2006, 04:06:41 PM sigh i guess that's what i get for offering advice (which you see as lecturing) on how not to reinvent a square wheel at the molecular level.
gandreas wrote "You've just scratched the surface". ... I appreciate all the "learned knowledge" that people can offer ... plainly false. Title: Re: The Mandelbrot INTERNAL set Post by: Charleswehner on November 22, 2006, 03:18:17 PM Gandreas plainly knows what he is saying.
I accept such statements as 'This is what is commonly know as "orbit traps" (or just "traps").' because he is offering Knowledge, and not opinion. In particular, he is not trying to put me under pressure. I shall, of course, be referring back to what he said from time to time to get the terminology, such as "Omega Cross". His contribution was valuable. Also at the beginning, Jules Ruis observed that I was getting Julia sets. It took me time to find the distinction between Mandelbrot and Julia, which I have now fully understood - even to the extent of showing where the pixels are "flung" to by the mathematics. Jules Ruis did not tell me wrong, nor try to impose upon me. My research is up and running. I am doing it the sensible way. I am using an "open set" of software tools, not a set that has been closed as a plaything for amateurs. I do not know whether Fractint, Fractal Explorer or other tools allow early fling and last fling analysis of the trajectories. However, rather than try to fathom that out, I just made a modification to my software and published on this website. Here, for example is an image that ready-made tools might not be able to make: (http://wehner.org/tools/fractals/position/lastpal.gif) The palette is from the final fling of the points (X co-ordinate). I have already described how it was made. Charles Title: Re: The Mandelbrot INTERNAL set Post by: lycium on November 22, 2006, 04:45:22 PM Gandreas plainly knows what he is saying. I accept such statements as 'This is what is commonly know as "orbit traps" (or just "traps").' because he is offering Knowledge, and not opinion. it's a pity you thought of my remarks about the speed and flexibility differences between fixedpoint integer routines and floating point as merely being opinion. (how's the fixed point arctan coming along?) In particular, he is not trying to put me under pressure. i know we've come to have our differences, but surely it cannot be that you think i made my first posts to you, offering hard-won advice, simply out of malice... I am using an "open set" of software tools, not a set that has been closed as a plaything for amateurs. i'm proud of being an amateur; i'm not sure how you rank yourself, having just mastered the julia <-> mandelbrot connection, but referring to my software - which i've written from the ground up to be both powerful and fast - as a plaything just isn't cricket. to wit: how long would it take you to write in assembler something that produces the sort of images i'm producing, and do you really thing anything other than multiplication, division, addition and subtraction are feasible in fixed point? I do not know whether Fractint, Fractal Explorer or other tools allow early fling and last fling analysis of the trajectories. However, rather than try to fathom that out, I just made a modification to my software and published on this website. i'm also not privy to this since the only fractal software i've ever used other than my own is fractint, on a 386, back in 1992 if i recall correctly - and i had absolutely no idea what it was all about, i just liked the 256 colour palette cycling. my resurgent interest in fractals stemmed entirely from learning about complex numbers at university. Here, for example is an image that ready-made tools might not be able to make: if you know of anything that can render 3d fractals like http://www.fractographer.com/wip/adits_final.png - please let me know. (and no, neither xenodream nor chaoscope come close to that speed and quality - the original image is 29310x18510 resolution and took less than a day using half my pc's power. anyway i'm quite ready to lay our differences to rest, i really just hoped you could see how it was intended instead of feeling attacked. Title: Re: The Mandelbrot INTERNAL set Post by: Nahee_Enterprises on November 23, 2006, 12:18:34 AM David Makin wrote:
> > Hi Charles - hope you don't think I was "lecturing" !! > I was simply quoting from my own experience.... Seemed to be more like what specific other people do, trying to promote a certain fractal generator, instead of offering several choices for others to decide as to what they prefer. ;) And besides, some people enjoy doing their own coding so they know exactly what is going on. > > ....I investigated Ultrafractal while still working on MMFrac and > realised there was no point re-inventing the wheel ;) > so switched to writing formulas for Ultrafractal instead. But as has been seen in the past, with not only UF but other fractal generators, it requires one to accept what/how the fractal generator uses/interprets the "formula". An individual is forced to rely on the "program" to handle it correctly, which does not always happen. By coding one's own program, and then compiling it into a program that can be run, this gives absolute control over what all is REALLY going on. Title: Re: The Mandelbrot INTERNAL set Post by: Nahee_Enterprises on November 23, 2006, 12:28:17 AM Charles Wehner wrote:
> > I hope nobody thinks that I am trying to "lecture" them. > I am exploring, and discovering aspects that I myself did > not know. These things I put on show. And again, I say > there is no point in swapping tools after I have set myself > up, and am succeeding. I have never thought that you were lecturing. I personally appreciate your exploring/discovering, and that you take the time to share those aspects with everyone on this Forum. I hope you continue to do so!! :) But just remember, there are many out there that are more into promoting a specific fractal generator (and they can be very hard-headed, and at times spiteful or vindictive if spurned). :P Title: Re: The Mandelbrot INTERNAL set Post by: David Makin on November 24, 2006, 03:09:43 AM Just to point out that I did suggest ChaosPro as well as Ultrafractal :) I didn't suggest any others because for writing your own formulas I haven't yet found any other serious alternatives - apart from coding it yourself in assembler. I was also taking into consideration the number of formulas already publicly available that you can learn from - here the only serious rival to Ultrafractal is Fractint. If I'd simply been recommending a program for creating fractal images then I'd have given a much longer list. |