Logo by mauxuam - 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: Visit us on facebook
 
*
Welcome, Guest. Please login or register. April 25, 2024, 08:06:47 AM


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 [3]   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: New type of fractal  (Read 1798 times)
0 Members and 1 Guest are viewing this topic.
Alef
Fractal Supremo
*****
Posts: 1174



WWW
« Reply #30 on: September 30, 2012, 04:44:14 PM »

Kram1032- Yes that's right, it should work in 3d, though I think you would want the function to be triple-valued m3(v) rather than double-valued.
It would be a bit of work though, because tripling each iteration will make rendering slow, and there might need to be a volumetric fog type of render, to render the density value per voxel.

Jehovajah- you'll have to tell me what you mean by 'iconic form' for the Mandelbrot set.
I think, Jehovajah meant this:
« Last Edit: September 30, 2012, 06:36:39 PM by Asdam » Logged

fractal catalisator
kram1032
Fractal Senior
******
Posts: 1863


« Reply #31 on: September 30, 2012, 06:30:22 PM »

Asdam, yes I did but in a different question.
Tglad answered both questions - the one about the whole set aswell as the on of getting this into 3D
Logged
Alef
Fractal Supremo
*****
Posts: 1174



WWW
« Reply #32 on: September 30, 2012, 06:38:43 PM »

Hadn't noticed answer about whole set;)
Logged

fractal catalisator
jehovajah
Global Moderator
Fractal Senior
******
Posts: 2749


May a trochoid in the void bring you peace


WWW
« Reply #33 on: October 04, 2012, 09:52:43 PM »

Hard to know actually, the difficulty is defining the escaped region. In Mandelbrot set the escaped points go to infinity and the region is any magnitude > 2, but for these fractals it isn't so simple, and the region changes with C. I don't think the threshold that works for the zoomed in region works on the zoomed out areas, consequently the fractal shapes give way to smoother shapes further from the centre of the image.
http://www.fractalforums.com/index.php?action=gallery;sa=view;id=12425
Yes Asdam has a picture of what I meant.
Now I compare it with your last image and I can orient  what your code is doing vis a vis the complex code.

I see the issue with the cut off, because regions a are not as well defined, but I also see an issue with scale and rotation. Yet despite this, the cardioid is still strongly suggested.

The robustness of this shape gives me hope. Further refinements, and thought on the issue of modulus or modularity might help. Somewhere on the forum there is a thread dealing with just that issue. It was quite a while back but I will try and find it.

Why I am buzzed by this is laid out in my earlier post about plasma  interactions. It is not the Mandelbrot set look alike I am seeking, but an understanding of how the conformal elements work together to produce its features. If the same structural formula is all it takes, then we do indeed live inside a huge Mandelbrot simulation! Or rather, the Mandelbrot provides a useful model of behaviours in thin charge sheets!
Logged

May a trochoid of ¥h¶h iteratively entrain your Logos Response transforming into iridescent fractals of orgasmic delight and joy, with kindness, peace and gratitude at all scales within your experience. I beg of you to enrich others as you have been enriched, in vorticose pulsations of extravagance!
jehovajah
Global Moderator
Fractal Senior
******
Posts: 2749


May a trochoid in the void bring you peace


WWW
« Reply #34 on: October 07, 2012, 03:27:39 PM »

Here's an example with simple symmetric parameters, which could easily extend to 3d.
<Quoted Image Removed>

shifts is 0, bends are (1,0) and (0,1), and flips are (-1,1) and (1,-1). Giving simpler code:
Code:
getPixelCount(int &count, Vector2 &point, int depth) 
  for (i = 0; i<2; i++)
    pos = point - bends[i];
    pos /= dot(pos, pos);
    pos += bends[i];
    pos -= 2.0 * flips[i] * pos.dot(flips[i]) / dot(flips[i], flips[i]);
    pos *= scale;
    pos += C;
    if (dot(pos, pos) > 4)
      continue;
    if (depth == 0)
      count++;
    else
      getPixelCount(count, pos, depth - 1);
In this simplified code you reduce the matrix outcomes to simpler vector sums using normalised vectors derived from the pixel position. However you do not define scale anywhere I can see.

Anyway, taking  point to mean  a structure holding at least the 2 screen pixel coordinates you subtract the unit  vectors and normalise to give you a unit vector. There is no zero test here shown prior to the normalisation.

You then start to manipulate this unit vector, but I do not follow the code at this point as the for instruction is spent as I understand it. Bends[] are rotations and at this point we would double the rotation for a Mandelbrot outcome. However, you have no machinery in this code to facilitate that, so I suggest using (-1,0 ) and (0,-1).

To generalise the rotation here  I would use bends[] as
(cos ( arctan( y/x)), sin( arctan(y/x)))

where y and x are derived from point, possibly point.x and point.y. And also instance a matrix rotation procedure. The addition of the vectors here is only a partial rotation and introduces some Shift.
The general doubling could then be achieved by doubling the arctan, or arctan2.

You then do some normalised flips[], which in general are reflections in the origin. 2 such reflections are equivalent to a rotation through 2pi, but in this case reflection in the origin is always equivalent to a rotation by pi. It is reflection in the axes that has to be repeated to obtain a rotation. Your flips are rotations of pi, but again, if you add them you introduce shift into the vector resultants. To avoid this requires a matrix product procedure. Doubling it only increases this shift drift!

Then you scale. Here I would suggest a scale that is derived from point.x*point.y*2.

These suggestions are clearly based on the Mandelbrot formulae, and it is the last one that is problematic with regard to being conformal. It may be that this scale factor is what ultimately ruins the project, but rather than giving in maybe the modulo arithmetic can be used to to constrain it within bounds in a pseudo normalisation.

Thinking this through makes me suspicious about this last constraint being physically relevant in modeling dynamic systems. But what do I know?  embarrass
« Last Edit: October 11, 2012, 05:07:27 AM by jehovajah » Logged

May a trochoid of ¥h¶h iteratively entrain your Logos Response transforming into iridescent fractals of orgasmic delight and joy, with kindness, peace and gratitude at all scales within your experience. I beg of you to enrich others as you have been enriched, in vorticose pulsations of extravagance!
Tglad
Fractal Molossus
**
Posts: 703


WWW
« Reply #35 on: October 08, 2012, 06:15:53 AM »

Quote
However you do not define scale anywhere I can see.
scale is 2
Quote
you subtract the unit vectors and normalise to give you a unit vector. There is no zero test here shown prior to the normalisation.
I don't normalise, I divide by the square magnitude. Correct, no zero test, doesn't really matter.
Quote
Bends[] are rotations and at this point we would double the rotation for a Mandelbrot outcome
bends in this code represent a bending of the space around 0,0, together with the flip they equal a distortion plus a rotation.
You can think of the contents of the for loop as a mobius transform that leaves 0,0 stationary, scales by 2 and then adds C.

Logged
jehovajah
Global Moderator
Fractal Senior
******
Posts: 2749


May a trochoid in the void bring you peace


WWW
« Reply #36 on: October 09, 2012, 04:13:12 AM »

Yes, of course.. They are not normalised! This was a trick used in Fractint to specify the escape limit without tying up computational cycles! I remember now.

So the distortion introduced by bends is a vector addition, which is a combination of a rotation and an expansion/contraction. Similarly for a flip. Thus my question is are these conformal?
Logged

May a trochoid of ¥h¶h iteratively entrain your Logos Response transforming into iridescent fractals of orgasmic delight and joy, with kindness, peace and gratitude at all scales within your experience. I beg of you to enrich others as you have been enriched, in vorticose pulsations of extravagance!
Tglad
Fractal Molossus
**
Posts: 703


WWW
« Reply #37 on: October 09, 2012, 05:04:35 AM »

Quote
So the distortion introduced by bends is a vector addition, which is a combination of a rotation and an expansion/contraction
It is a translation followed by an inversion followed by a translation back... then a flip.
You can make conformal transforms out of translations, inversion+flip, rotation and scale, or any combination of those, in any order.

The +C is only conformal if the rest of the transform is conformal. So this new type is a fully conformal fractal, unlike the Mandelbox which has some stretch because the transforms can be anti-conformal, and the Mandelbulb which isn't conformal at all.
KIFS and Julia-boxes are both fully conformal as they don't use the +C.
Logged
Pages: 1 2 [3]   Go Down
  Print  
 
Jump to:  


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.176 seconds with 24 queries. (Pretty URLs adds 0.01s, 2q)