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: 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
|
|
« 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! 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! 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
|
|
« Reply #5 on: April 06, 2011, 05:57:31 PM » |
|
very nice Kali! can you do opposite colors also, to get a strobe effect?
|
|
|
Logged
|
|
|
|
Kali
|
|
« Reply #6 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 )
|
|
|
Logged
|
|
|
|
tomot
Iterator
Posts: 179
|
|
« 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
|
|
« Reply #8 on: April 06, 2011, 10:01:27 PM » |
|
|
|
« Last Edit: April 07, 2011, 01:49:47 AM by Kali »
|
Logged
|
|
|
|
tomot
Iterator
Posts: 179
|
|
« 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. 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
|
|
« 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?
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).
|
|
|
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.
|
|
|
Logged
|
|
|
|
superheal
|
|
« 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?
|
|
« Last Edit: September 30, 2013, 03:33:51 PM by superheal »
|
Logged
|
|
|
|
|