Logo by DsyneGrafix - 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: Follow us on Twitter
 
*
Welcome, Guest. Please login or register. April 25, 2024, 06:12:12 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]   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: How Mandelbrot deforms a grid  (Read 8066 times)
0 Members and 1 Guest are viewing this topic.
Kali
Fractal Supremo
*****
Posts: 1138


« on: April 06, 2011, 06:22:12 AM »

I wasn't doing too much research on anything lately, neither further improvementes of my previous ideas, but today I tried something and liked the results.
Don't know if this was made before, but I find it quite interesting.

The idea is to plot a grid beign deformed by the Mandelbrot set formula.
I represented the complex plane as a chessboard-like pattern, and this are the results of this pattern altered by the formula after some iterations:














To achieve the chessboard design, I used UF5 with a method of fractional digit extraction as described in another of my posts,

As for now, it's only a simple coloring method I made just for fun. But perhaps I can use this to find properties and relationships in the set that could be useful somehow.

I will try some other things later, maybe different formulas & methods, to see if there are more interesting results.
« Last Edit: April 06, 2011, 01:03:56 PM by Kali » Logged

Fractal Ken
Fractal Lover
**
Posts: 246


Proud to be 2D


« Reply #1 on: April 06, 2011, 07:45:32 AM »

Neat idea, Kali! You seem to have done the sort of image manipulation I like, where your input is a picture of a checkerboard.

Here's one with a 1024 x 1024 pixel checkerboard having 64 x 64 pixel squares. I colored the Mandelbrot set's interior using two "orbit traps" (in particular, minimum distance from the x and y axes) to select rows and columns from the input image.

Logged

Fortran will rise again
Kali
Fractal Supremo
*****
Posts: 1138


« Reply #2 on: April 06, 2011, 02:22:22 PM »

Thanks Ken... you also did a good work with that image!
And I'm surprised you almost always have a similar selfmade fractal in your archives!  cheesy

As I told you before, I really like your technique and I will be trying soon to do something like that.
But this is different, because I didn't use an existing input image, and no orbit traps were used neither.

This is what I've done:

1. Iterate Z=Z*Z+C the desired number of times (with no bailout condition).

Then, being X the real part of Z, Y the imaginary part:

2. multiply X,Y with a scale factor that will set the size of the pattern:

X=X*scale
Y=Y*scale

3. extract the fractional part of X,Y into DX,DY:

DX=abs(X-floor(X))
DY=abs(Y-floor(Y))

4. evaluate DX,DY to determine if painting white or black (1 or 0):

if (dx < .5 and dy < .5) or (dx > .5 and dy > .5)
      color=1
else
      color=0
endif

Off course this doesn't include any antialias filter, and a lot of aliasing occur in the areas that the patterns become very small. The images I posted were generated with UltraFractal using the built-in antialias function. There's still some visible aliasing, tough.

I should used a bailout condition because after some iterations, the background becomes solid, as the values gets very large and no longer being handled by Ultrafractal. But I wanted to see the grid deformation of the "outside" when doing few iterations.

This is 5 iterations, with a small scale value for the pattern (1e-10)... take a look:



« Last Edit: April 06, 2011, 02:32:57 PM by Kali » Logged

Fractal Ken
Fractal Lover
**
Posts: 246


Proud to be 2D


« Reply #3 on: April 06, 2011, 05:11:44 PM »

And I'm surprised you almost always have a similar selfmade fractal in your archives!  cheesy
Actually, I just rendered it to post in this discussion. It was really easy.

As I told you before, I really like your technique and I will be trying soon to do something like that.
But this is different, because I didn't use an existing input image, and no orbit traps were used neither.

This is what I've done:

1. Iterate Z=Z*Z+C the desired number of times (with no bailout condition).

Then, being X the real part of Z, Y the imaginary part:

2. multiply X,Y with a scale factor that will set the size of the pattern:

X=X*scale
Y=Y*scale

3. extract the fractional part of X,Y into DX,DY:

DX=abs(X-floor(X))
DY=abs(Y-floor(Y))

4. evaluate DX,DY to determine if painting white or black (1 or 0):

if (dx < .5 and dy < .5) or (dx > .5 and dy > .5)
      color=1
else
      color=0
endif
Because of the similarity of your images and mine, I just assumed our methods were equivalent in some hidden way, but now I think I was wrong.

Off course this doesn't include any antialias filter, and a lot of aliasing occur in the areas that the patterns become very small. The images I posted were generated with UltraFractal using the built-in antialias function. There's still some visible aliasing, tough.
My image has aliasing problems (mostly jagged lines) too, even though I applied a strong internal antialiasing filter. I don't use checkerboards in artistic pictures, mainly for this reason.

This is 5 iterations, with a small scale value for the pattern (1e-10)... take a look:
<Quoted Image Removed>
Interesting image. I love the sharp points.
Logged

Fortran will rise again
Fractal Ken
Fractal Lover
**
Posts: 246


Proud to be 2D


« Reply #4 on: April 06, 2011, 05:27:32 PM »

Kali, one more thing . . . I really like your theory posts. They're understandable and thought-provoking.
Logged

Fortran will rise again
tomot
Iterator
*
Posts: 179


WWW
« Reply #5 on: April 06, 2011, 05:57:31 PM »

very nice Kali!
can you do opposite colors also, to get a strobe effect?


* duchamp001.jpg (45.92 KB, 566x569 - viewed 503 times.)
Logged
Kali
Fractal Supremo
*****
Posts: 1138


« Reply #6 on: April 06, 2011, 08:38:49 PM »

@Ken: I really appreciate your comments  smiley

@Tomot: Thanks! Not sure about the effect you mention, but see if this is what you are talking about...

(Looks like Mandelbrot on LSD  ugly)

 grin




Logged

tomot
Iterator
*
Posts: 179


WWW
« Reply #7 on: April 06, 2011, 08:53:50 PM »

WOW! .......that got my attention, that's exactly what I'm talking about
Logged
Kali
Fractal Supremo
*****
Posts: 1138


« Reply #8 on: April 06, 2011, 10:01:27 PM »

I'm doing the same with Mandelbox 2D, sorry for starting the post into Mandelbrot category, perhaps the thread should be moved to another place (Anyway I will continue with Mandelbrot set later)

This is the -1.5 scale mbox sequence of the first 6 iterations  (first pic shows the plain grid, the last & larger one is after 6 iterations).
Is a good visualisation of how the formula works on the plane.

 
 
 



This is a close-up (10 iterations):



« Last Edit: April 07, 2011, 01:49:47 AM by Kali » Logged

tomot
Iterator
*
Posts: 179


WWW
« Reply #9 on: April 06, 2011, 10:55:54 PM »

Very cool! please give me some background what our are using, and how you are implementing this?

willing and able to learn!
Logged
Fractal Ken
Fractal Lover
**
Posts: 246


Proud to be 2D


« Reply #10 on: April 06, 2011, 11:37:12 PM »

I'm doing the same with Mandelbox 2D, . . .
Mandelbox 2D sounds like the name of a program I would write. grin grin  Did you produce these images by implementing a 2D mandelbox formula in Ultra Fractal?

This is the -1.5 scale mbox sequence of the first 6 iterations  (first pic shows the plain grid, the last & larger one is after 6 iterations).
Is a good visualisation of how the formula works on the plane.
I use the 2D scale -1.5 box all the time; it's a very cool fractal.
I like how you've displayed the sequence of pictures by number of iterations. I'll have to remember this idea.
Logged

Fortran will rise again
Kali
Fractal Supremo
*****
Posts: 1138


« Reply #11 on: April 07, 2011, 01:45:43 AM »

Very cool! please give me some background what our are using, and how you are implementing this?

willing and able to learn!

I'm using Ultrafractal 5 on this (answered @Ken question), but just for the laziness of implementing an antialias filter in VB.NET
You can download a trial version of UF5 if you don't have it, and I shall pass you the parameter file or just the code.
If you are a programmer tell me what language do you use and I can show you how to do it.

In general terms, the method is to iterate the formula you want, then take the final X and Y values, extract the fractional part into two variables (let's call it DX, DY), and paint the pixel with one of two different colors based on this condition:

if (DX < .5 and DY < .5) or (DX > .5 and DY > .5)
      pixelcolor=(1st color used)
else
      pixelcolor=(2nd color used)
endif

That's it!


@Ken: In fact, I looked forward the negative 1.5 scale 2D Mandelbox after seeing your excelent works you did with it... and yes, is a very cool fractal!
Now that I'm figuring out how it works, I wonder how Tglad discovered it... he has a really gifted mind, don't you think? I'm planning to find new ways of folding  based on his idea (I'm also beggining to think of mathematical operations as distortions & foldings of a grid)

Logged

Fractal Ken
Fractal Lover
**
Posts: 246


Proud to be 2D


« Reply #12 on: April 07, 2011, 02:44:21 AM »

I'm using Ultrafractal 5 on this (answered @Ken question), but just for the laziness of implementing an antialias filter in VB.NET
You can antialias without ever writing a filter. Just render a very large image, then scale it down using something like GIMP or Photoshop. Though I hate to admit it, this method works better than anything I've written.

In general terms, the method is to iterate the formula you want, then take the final X and Y values, extract the fractional part into two variables (let's call it DX, DY), and paint the pixel with one of two different colors based on this condition:

if (DX < .5 and DY < .5) or (DX > .5 and DY > .5)
      pixelcolor=(1st color used)
else
      pixelcolor=(2nd color used)
endif
This is a very clever idea.

Now that I'm figuring out how it works, I wonder how Tglad discovered it... he has a really gifted mind, don't you think?
YES

I'm planning to find new ways of folding  based on his idea (I'm also beggining to think of mathematical operations as distortions & foldings of a grid)
Here's a variation (for 2D) I've been exploring: Replace the boxfold with x = sin(PI*x), y = sin(PI*y).
Logged

Fortran will rise again
Vega
Global Moderator
Conqueror
******
Posts: 143


From Russia With Love


« Reply #13 on: September 17, 2011, 11:12:11 AM »

I have the version too.




* m1.gif (104.32 KB, 800x642 - viewed 516 times.)

* m2.gif (52.9 KB, 800x642 - viewed 492 times.)
Logged

superheal
Alien
***
Posts: 24


« Reply #14 on: September 11, 2013, 11:05:35 PM »

Reviving an old post!

What's the formula for the last two pictures, that vega posted.
Anyone knows? cheesy
« Last Edit: September 30, 2013, 03:33:51 PM by superheal » Logged
Pages: [1]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Sun Rewards Sun Grid Developer Community Members Fractal News across the World heneganj 2 2242 Last post November 16, 2006, 03:31:05 PM
by heneganj
Supposititious Energy Grid Mandelbulb3D Gallery mario837 0 845 Last post July 02, 2011, 05:09:30 PM
by mario837
Beyond the Grid Images Showcase (Rate My Fractal) element90 2 1185 Last post April 02, 2012, 06:09:21 PM
by element90
power grid Mandelbulber Gallery taurus 1 877 Last post January 07, 2013, 03:59:56 AM
by JohnVV
pipes on a grid Images Showcase (Rate My Fractal) thom 0 883 Last post August 21, 2015, 03:17:30 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.213 seconds with 24 queries. (Pretty URLs adds 0.014s, 2q)