Title: How Mandelbrot deforms a grid Post by: Kali 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: (http://img215.imageshack.us/img215/7426/cuadribrot3.jpg) (http://img94.imageshack.us/img94/7592/cuadribrot5.jpg) (http://img862.imageshack.us/img862/81/chessboard.jpg) (http://img16.imageshack.us/img16/8903/cuadribrot2.jpg) (http://img851.imageshack.us/img851/4742/cuadribrot6.jpg) (http://img21.imageshack.us/img21/3596/cuadrielef.jpg) 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. Title: Re: How Mandelbrot deforms a grid Post by: Fractal Ken 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. (http://i1122.photobucket.com/albums/l540/Fractal_Ken/MandelbrotCheckerboard1022.png) Title: Re: How Mandelbrot deforms a grid Post by: Kali 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! :D 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: (http://img816.imageshack.us/img816/1383/virusz.jpg) Title: Re: How Mandelbrot deforms a grid Post by: Fractal Ken on April 06, 2011, 05:11:44 PM And I'm surprised you almost always have a similar selfmade fractal in your archives! :D 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. 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.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. 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: Interesting image. I love the sharp points.(http://img816.imageshack.us/img816/1383/virusz.jpg) Title: Re: How Mandelbrot deforms a grid Post by: Fractal Ken on April 06, 2011, 05:27:32 PM Kali, one more thing . . . I really like your theory posts. They're understandable and thought-provoking.
Title: Re: How Mandelbrot deforms a grid Post by: tomot on April 06, 2011, 05:57:31 PM very nice Kali!
can you do opposite colors also, to get a strobe effect? Title: Re: How Mandelbrot deforms a grid Post by: Kali on April 06, 2011, 08:38:49 PM @Ken: I really appreciate your comments :)
@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:) ;D (http://img850.imageshack.us/img850/8149/strobe.jpg) (http://img155.imageshack.us/img155/952/strobe2y.jpg) Title: Re: How Mandelbrot deforms a grid Post by: tomot on April 06, 2011, 08:53:50 PM WOW! .......that got my attention, that's exactly what I'm talking about
Title: Re: How Mandelbrot deforms a grid Post by: Kali 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. (http://img189.imageshack.us/img189/1676/mboxgrid1.jpg) (http://img96.imageshack.us/img96/2267/mboxgrid2.jpg) (http://img716.imageshack.us/img716/6228/mboxgrid3.jpg) (http://img40.imageshack.us/img40/7236/mboxgrid4.jpg) (http://img707.imageshack.us/img707/3231/mboxgrid5.jpg) (http://img858.imageshack.us/img858/5084/mboxgrid6.jpg) (http://img848.imageshack.us/img848/9972/mboxgrid7.jpg) This is a close-up (10 iterations): (http://img560.imageshack.us/img560/9686/mandelboxgridzoom.jpg) Title: Re: How Mandelbrot deforms a grid Post by: tomot 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! Title: Re: How Mandelbrot deforms a grid Post by: Fractal Ken 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. ;D ;D 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). I use the 2D scale -1.5 box all the time; it's a very cool fractal. Is a good visualisation of how the formula works on the plane. I like how you've displayed the sequence of pictures by number of iterations. I'll have to remember this idea. Title: Re: How Mandelbrot deforms a grid Post by: Kali 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) Title: Re: How Mandelbrot deforms a grid Post by: Fractal Ken 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: This is a very clever idea.if (DX < .5 and DY < .5) or (DX > .5 and DY > .5) pixelcolor=(1st color used) else pixelcolor=(2nd color used) endif 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? YESI'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).Title: My version Mandelbrot Post by: Vega on September 17, 2011, 11:12:11 AM I have the version too.
Title: Re: How Mandelbrot deforms a grid Post by: superheal 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? :D |