Logo by Mahmut - 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. March 29, 2024, 08:57:46 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: Kaliset + boxfold = Nice new 2D / 3D fractal  (Read 8482 times)
0 Members and 1 Guest are viewing this topic.
dwsel
Forums Freshman
**
Posts: 14


« Reply #15 on: July 01, 2011, 09:57:16 PM »

@yv3: Thanks for your comment... I'm don't have too much math knowledge either, but I'm always borrowing it from the guys here who really have some smiley

"Boxfold" is what you just did:

Code:
if(x>m_CustomRange4) x=m_CustomRange3-x;
if(y>m_CustomRange4) y=m_CustomRange3-y;

But other values instead of >1 and 2- produces discontinuities, at least with the values I tried.

If you plot a graph of this function and substitute with values other than 1 and 2- it's very likely that you'll not choose 'correct' values and you get discontinuity, but... if you try my method instead and treat formula with:
1. absolute value
2. translation
3. mirror by x axis (f(x) = -x)
4. repeat 1-3 how many times you like for multiple folds wink
then you should never get discontinuity. On the other side note that function won't be differentiable, what might be important for calculating 3d Mandel (I don't know math standing behind it).

I'm waiting for your results joy

P.S. Sorry for my mathematical english - it's pretty bad. Please point out when I write something unclear or unintentionally exchange math terms.
P.P.S. I'll try to implement thing in ChaosPro instead of Tierazon. Just imagine these slowly rendering, kilometre long formulas where abs(x) is for example calculated as ((real(z)^2)^0.5) cheesy
« Last Edit: July 01, 2011, 10:03:13 PM by dwsel » Logged
dwsel
Forums Freshman
**
Posts: 14


« Reply #16 on: July 02, 2011, 01:02:45 AM »

Img 1
Code:
-abs(x-1.5)+1.5;

Img 2
Code:
-abs(x-1.25)+1.25;

Img 3
Code:
if (x>1.8)
   x=2-x;
else
   x=x;

Img 4. From lightest to darkest green, plot of functions used in Img 1, Img 2, -abs(x-1)+1, and in Img 3 (shows discontinuity at 1.8 )


* fold15.jpg (65.45 KB, 800x600 - viewed 255 times.)

* fold125.jpg (84.04 KB, 800x600 - viewed 256 times.)

* brokenfold.1.jpg (75.41 KB, 800x600 - viewed 255 times.)

* dcont.png (12.34 KB, 605x351 - viewed 246 times.)
« Last Edit: July 02, 2011, 01:05:34 AM by dwsel » Logged
Kali
Fractal Supremo
*****
Posts: 1138


« Reply #17 on: July 02, 2011, 02:24:06 AM »

Now I see it clearer, dwsel. It's very good, indeed. I just realized also that I did something like that in this "mandelbrot-tricorn-combo" image some days ago:



I used abs and translations, but I was stupid enough to not realizing it's similar to a "boxfold"  embarrass

I will try more things later using your idea.

Thanks!

P.S.:Good renders! and your english is better than mine, for sure!
« Last Edit: July 02, 2011, 03:53:11 AM by Kali » Logged

Kali
Fractal Supremo
*****
Posts: 1138


« Reply #18 on: July 02, 2011, 07:39:45 AM »

This is complex-number kaliset using this formula, based on dwsel's suggestion: z=1/(abs(z+t)-t)+c

t=(1.00,1.00)




t=(0.75,0.25)




t=(5.00,1.00)




And a Julia I picked from the last one:





@dwsel: One thing I forgot to mention, is that "full" boxfold is, i.e. for x axis:

Code:
if x>1
  x=2-x
elseif x<1
  x=-2-x
endif

I tried to do the same with nested abs's but I couldn't, maybe you can find the way to do it?
Logged

Kali
Fractal Supremo
*****
Posts: 1138


« Reply #19 on: July 02, 2011, 08:24:23 AM »

An intrincate pattern of trees:



Logged

Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« Reply #20 on: July 02, 2011, 09:37:05 AM »

@dwsel: One thing I forgot to mention, is that "full" boxfold is, i.e. for x axis:

Code:
if x>1
  x=2-x
elseif x<1
  x=-2-x
endif

I tried to do the same with nested abs's but I couldn't, maybe you can find the way to do it?

You should take a look at Rrrola's clever Mandelbox implementation in Boxplorer:
Code:
    // box folding: if (p>1) p = 2-p; else if (p<-1) p = -2-p;
    //    p.xyz = abs(1.0+p.xyz) - p.xyz - abs(1.0-p.xyz);  // add;add;abs.add;abs.add (130.4%)
    //    p.xyz = clamp(p.xyz*0.5+0.5, 0.0, 1.0) * 4.0 - 2.0 - p.xyz;  // mad.sat;mad;add (102.3%)
    p.xyz = clamp(p.xyz, -1.0, 1.0) * 2.0 - p.xyz;  // min;max;mad

    // sphere folding: if (r2 < minRad2) p /= minRad2; else if (r2 < 1.0) p /= r2;
    float r2 = dot(p.xyz, p.xyz);
    p *= clamp(max(minRad2/r2, minRad2), 0.0, 1.0);  // dp3,div,max.sat,mul


Using a clamp-operator is 30% faster (on a GPU), but if you haven't got one, there is still the 'abs' version in line 2.
Logged
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #21 on: July 02, 2011, 11:12:17 AM »

This is complex-number kaliset using this formula, based on dwsel's suggestion: z=1/(abs(z+t)-t)+c

t=(1.00,1.00)

<Quoted Image Removed>


t=(0.75,0.25)

<Quoted Image Removed>


t=(5.00,1.00)

<Quoted Image Removed>


And a Julia I picked from the last one:

<Quoted Image Removed>



@dwsel: One thing I forgot to mention, is that "full" boxfold is, i.e. for x axis:

Code:
if x>1
  x=2-x
elseif x<1
  x=-2-x
endif

I tried to do the same with nested abs's but I couldn't, maybe you can find the way to do it?

dwsel meant fold-abs(+fold-abs(x)) (else, you are losing your 1st abs! evil )
If you simply read Jesse's formulas you will find the abs version of folding;

x = abs(x+Fold) - abs(x-Fold) - x

 tease grin wink wink

Anyway, if I do a unrestricted sphere inversion I don't see anything good in Mandelbulb sad

A good compromise is to make normal conditional inversions. Anyway "my" fractal still looks very different from yours, I really don't know why sad there is no possible sign error!



EDIT. I remember this happened for other fractal formulas too. smiley Maybe Jesse uses "windows screen axis orientation", rather than the "mathematical correct" one - this should explain everything. Well well! :smiley :smiley
« Last Edit: July 02, 2011, 12:05:55 PM by DarkBeam » Logged

No sweat, guardian of wisdom!
Kali
Fractal Supremo
*****
Posts: 1138


« Reply #22 on: July 02, 2011, 01:57:33 PM »

@Syntopia: I will try that, thanks!

@Luca:

dwsel meant fold-abs(+fold-abs(x)) (else, you are losing your 1st abs! evil )
If you simply read Jesse's formulas you will find the abs version of folding;

About dwsel suggestion, sorry but I don't see where she's using two abs like that  huh?

Thanks for the solution, and yeah, I know I should read more other people's work, but I like to figure out things by myself when I can. I tried but I was tired last night so I stopped (my mathematical mind was already sleeping cheesy).  Anyway I was doing some interesting things with just abs(z+t)-t

About the 3D version you made, is not bad at all, what about the Julias?

Logged

Kali
Fractal Supremo
*****
Posts: 1138


« Reply #23 on: July 02, 2011, 04:37:23 PM »

Currently playing with asymmetrical folding

z=1/(abs(z+0.25+0.50i)-abs(z-0.50-1.00i)-z)-1.50-1.50i = Full moon grin

Logged

dwsel
Forums Freshman
**
Posts: 14


« Reply #24 on: July 02, 2011, 05:16:33 PM »

dwsel meant fold-abs(+fold-abs(x)) (else, you are losing your 1st abs! evil )
If you simply read Jesse's formulas you will find the abs version of folding;
x = abs(x+Fold) - abs(x-Fold) - x

I've suggested sth like:
-abs(-abs(-abs(x-a)+b)-c)+d) and so on...
i.e. abs(-abs(x-1.5)+1.5)-0.2 - light green function
or -abs(-abs(x-0.5)+1.25)-0.75 - dark green

and so far haven't worked out a rule where to use + and - tongue stuck out
I think that if you use - abs then you should use + parameter and accordingly

[don't know which edit it is cheesy]
I know already - before applying abs() function have to cross x axis smiley

Articles http://home.windstream.net/okrebs/page43.html and http://www.abac.edu/gclement/MATH1111/Resources/Symmetry.pdf are reflecting roughly what I base my reaserch on.
You should take a look at Rrrola's clever Mandelbox implementation in Boxplorer:
Code:
   // box folding: if (p>1) p = 2-p; else if (p<-1) p = -2-p;
    //    p.xyz = abs(1.0+p.xyz) - p.xyz - abs(1.0-p.xyz);  // add;add;abs.add;abs.add (130.4%)
    //    p.xyz = clamp(p.xyz*0.5+0.5, 0.0, 1.0) * 4.0 - 2.0 - p.xyz;  // mad.sat;mad;add (102.3%)
    p.xyz = clamp(p.xyz, -1.0, 1.0) * 2.0 - p.xyz;  // min;max;mad

    // sphere folding: if (r2 < minRad2) p /= minRad2; else if (r2 < 1.0) p /= r2;
    float r2 = dot(p.xyz, p.xyz);
    p *= clamp(max(minRad2/r2, minRad2), 0.0, 1.0);  // dp3,div,max.sat,mul


then full boxfold is as far as I understand (red function):
Code:
if (p>1)
  p = 2-p;
else if (p<-1)
  p = -2-p;

Blue function is something as ugly as (I hope it can be simplified):
(abs((x/2-0,5)-(2*floor(x/4-0,25))-1)-0,5)*2
and have even infinite number of folds

Each of functions using abs (green ones) has odd number of folds while original boxfold has only 2 folds as well as (0,0) symmetry which I don't know how to achieve here.


* boxfold.png (15.04 KB, 592x407 - viewed 244 times.)
« Last Edit: July 02, 2011, 05:33:43 PM by dwsel » Logged
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #25 on: July 02, 2011, 05:39:58 PM »

 grin

I am uploading this formula version

Scale = Scale + Scale_vary*(abs(Scale)-1)
x = Fold-abs(abs(x+FoldXM)-Fold)-FoldXM
y = Fold-abs(abs(y+FoldYM)-Fold)-FoldYM
z = Fold-abs(abs(z+FoldZM)-Fold)-FoldZM
rr = pow(x*x + y*y + z*z + w*w, R_power)
if rr < sqr(Min_R) then m = Scale/sqr(Min_R) else
if rr < 1 then m = Scale/rr else m = Scale
x = x * m + Cy
y = y * m + Cx
z = z * m + Cz

Gives lots of interesting julias, so much to explore. smiley

The "unconditional" formula is troubleful, as many other Kali works... grin For now take a look at it. Going to upload it then post some "photos" grin herrrre
Logged

No sweat, guardian of wisdom!
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #26 on: July 02, 2011, 06:00:15 PM »

I like to choose with the point and click the seeds! See some random spots, they are already stunning as they are...



 very surprised very surprised very surprised
Logged

No sweat, guardian of wisdom!
Kali
Fractal Supremo
*****
Posts: 1138


« Reply #27 on: July 02, 2011, 06:28:36 PM »

@dwsel: I'm definitely going to try that foldings later, will post some images but maybe I will open a new thread because this one was hijacked by Darkbeam and his boring 3D stuff  grin
I was trying first the full boxfold using weird values, I like how it works and the less symmetric images... see this one

The "unconditional" formula is troubleful, as many other Kali works... grin For now take a look at it. Going to upload it then post some "photos" grin herrrre

Yeah, troubleful for 3D, but anyway nobody are interested in 3D fractals lately  grin
The main problem with my all-inside formulas in 3D is that they are designed for 4D beings who have real 3D vision, not 2D stereo like we humans cheesy

Besides the jokes, your images look very interesting!
Logged

DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #28 on: July 02, 2011, 06:48:59 PM »

Heh thanks... wink

for dwsel. can you make me a graphic of this function?

(when x1=x-2*round(x/2); round(0.49999)=0 and round(0.5)=1  )
y=abs(x1+1) - abs(x1-1) - x1

In assembly I don't have floor() and ceil() functions, only it, but I can easily combine functions to get complex results smiley

the graphic of y should be the infinite folding
Logged

No sweat, guardian of wisdom!
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #29 on: July 02, 2011, 07:01:25 PM »

Heh thanks... wink

for dwsel. can you make me a graphic of this function?

(when x1=x-4*round(x/4); round(0.49999)=0 and round(0.5)=1  )
y=abs(x1+1) - abs(x1-1) - x1

In assembly I don't have floor() and ceil() functions, only it, but I can easily combine functions to get complex results smiley

the graphic of y should be the infinite folding

Corrected; this is the correct one! smiley I will do some functions with it soon Azn
Logged

No sweat, guardian of wisdom!
Pages: 1 [2] 3   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Nice fractal animation with Mozart music Movies Showcase (Rate My Movie) Jules Ruis 0 2134 Last post October 28, 2006, 09:52:37 AM
by Jules Ruis
Pattern vortex from a rotated boxfold Movies Showcase (Rate My Movie) Kali 0 1134 Last post September 08, 2011, 02:33:53 AM
by Kali
Kaliset 3D fractal used as coloring & texture for DE systems 3D Fractal Generation « 1 2 » Kali 17 10363 Last post September 14, 2015, 03:57:37 PM
by Crist-JRoger
Nice to meet you, fractal lovers! Meet & Greet mandelman 4 995 Last post August 05, 2014, 09:16:43 PM
by Chillheimer
Hi from Nice, french -fractal- riviera Meet & Greet Nicolas Douillet 1 2844 Last post August 15, 2017, 02:04:45 PM
by Spain2points

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.169 seconds with 25 queries. (Pretty URLs adds 0.008s, 2q)