Logo by Pauldelbrot - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Check out the originating "3d Mandelbulb" thread here
 
*
Welcome, Guest. Please login or register. April 25, 2024, 11:46:00 PM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: [1] 2   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: The Mandelbrot INTERNAL set  (Read 10018 times)
0 Members and 1 Guest are viewing this topic.
Charleswehner
Guest
« 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:



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:


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:


Compare it with the outer set equivalent:


They are clearly based on similar mathematics.

I then put in a guard to stop the mathematical overflow:


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 :


with http://wehner.org/tools/fractals/man/man8.gif


The family resemblance is undeniable.

Charles


Logged
gandreas
Explorer
****
Posts: 53



WWW
« Reply #1 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...

Logged
Nahee_Enterprises
World Renowned
Fractal Senior
******
Posts: 2250


use email to contact


nahee_enterprises Nahee.Enterprises NaheeEnterprise
WWW
« Reply #2 on: November 10, 2006, 07:18:53 PM »

Ahhh, creating holes to replace the location of mini-brots.    wink
Logged

Charleswehner
Guest
« Reply #3 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
Logged
Charleswehner
Guest
« Reply #4 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
Logged
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #5 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
Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
Charleswehner
Guest
« Reply #6 on: November 19, 2006, 05:44:21 PM »

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.
Good advice - but I like to have full control of my investigations.

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
Logged
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #7 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 smiley
Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
lycium
Fractal Supremo
*****
Posts: 1158



WWW
« Reply #8 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 smiley

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.
Logged

Charleswehner
Guest
« Reply #9 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
Logged
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #10 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 wink so switched to writing formulas for Ultrafractal instead.
Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
Charleswehner
Guest
« Reply #11 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
Logged
lycium
Fractal Supremo
*****
Posts: 1158



WWW
« Reply #12 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.
Logged

Charleswehner
Guest
« Reply #13 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:

The palette is from the final fling of the points (X co-ordinate). I have already described how it was made.

Charles


Logged
lycium
Fractal Supremo
*****
Posts: 1158



WWW
« Reply #14 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.
Logged

Pages: [1] 2   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Internal Folding Images Showcase (Rate My Fractal) Power 8 1 1524 Last post May 19, 2010, 08:36:08 AM
by KRAFTWERK
internal mndlblb Programming visual.bermarte 0 1871 Last post October 15, 2010, 11:58:58 AM
by visual.bermarte
Internal combustion engine Mandelbulb3D Gallery GrahamSym 0 754 Last post November 15, 2011, 01:09:09 PM
by GrahamSym
Internal Support Images Showcase (Rate My Fractal) thom 0 881 Last post October 17, 2015, 08:58:27 PM
by thom
Extreme Internal Pressure Images Showcase (Rate My Fractal) thom 0 828 Last post February 13, 2016, 07:24:57 AM
by thom

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.225 seconds with 24 queries. (Pretty URLs adds 0.013s, 2q)