Title: Combining continuous boxtiling with oscillating functions Post by: M Benesi on December 22, 2016, 01:09:38 AM I'm thinking about coding an oscillation function that does continuous boxtiling so it preserves fractal structure instead of distorting it. Sound like a plan?
The oscillation functions we have now (gnarl and the like) distort fractals instead of preserving fractal structure. Applying the continuous boxtiling function to the oscillation would preserve the underlying structure, introducing additional cyclical duplications instead of stretching out the underlying geometry... I am being hustled out the door! Title: Re: Combining continuous boxtiling with oscillating functions Post by: 3dickulus on December 22, 2016, 05:06:38 PM Sounds like a plan, can it be an option so if the distortion is desired one could switch it off/on ?
Title: Re: Combining continuous boxtiling with oscillating functions Post by: Sabine on December 22, 2016, 07:18:21 PM Quote 4D tiling, the entire space will be filled with copies of a box with center in the origin and desired dimensions. All boxes are equal, and the tiling is (theorically) infinitely extended (but it depends to the floating point precision, so it is not really). It can be easily turned off for one (or more?) dimension(s) if you just set to 0 the corresponding size. With this trick you can do any 3D, 2D, 1D "box-tiling" that you can even think with various effects. Works perfectly with IFS fractals and has strange effects on normal ones. For people with familiarity with UltraFractal; this is an extension of the "Gaussian integer" concept. xi = every dimension (x,y,z,w) i = 1 to 4 if sizei <> 0 xi = xi - frndint(xi/sizei)*sizei (where xi is x,y,... etc. ) endif next i frndint -> rounds a float to the nearest integer From mb3d's _boxtiling transform (Dark-beam) ;) Title: Re: Combining continuous boxtiling with oscillating functions Post by: M Benesi on December 22, 2016, 08:44:46 PM I don't think that boxtiling function is continuous (for all fractals... works for some), unless I've misread it?
By not being continuous, I mean it introduces discontinuities into fractals: boxtiling function (https://lh3.googleusercontent.com/JF6IgLipG93XhtjfRtUHSRxLCzf5Qql3UFppNTV54buKS_22Hsz4UJvsoirMK6FVkCzdzGjnPDA4TA=w480-h360-no) accordion function (https://lh3.googleusercontent.com/3H069dQ95bydU0hVp9jRbZR2iw0vomQynpfUcRfH_bIRl8601Lvh42p1i9xTcEAkbjxkNN0kpSnaHA=w480-h360-no) Title: Re: Combining continuous boxtiling with oscillating functions Post by: M Benesi on December 22, 2016, 09:21:29 PM Sounds like a plan, can it be an option so if the distortion is desired one could switch it off/on ? Ehh, this might be another occasion in which I opened my mouth before I thought something through. Still going to have distortion (skewing). To eliminate the skewing, instead of using the accordion function, we need to use some kind of rotation function that oscillates with the displacement. So I'll do a simple oscillation function along the x-axis to calculate the amount of oscillation: oscillation = cos(x * oscillation_period_adustment); oscillation = oscillation * oscillation strength; Currently I'm doing something like and need a piece of paper and pencil to figure out the math of what I want to do (can't do it in my head!#!): y = y + oscillation; Title: Re: Combining continuous boxtiling with oscillating functions Post by: Sabine on December 22, 2016, 11:02:33 PM You are absolutely right, Matt! :embarrass: Discontinuities galore... I haven't used that transform in quite some time, forgot that the tricky thing about it is to make the 'boxes' fit the fractal dimensions...
Title: Re: Combining continuous boxtiling with oscillating functions Post by: M Benesi on December 22, 2016, 11:14:44 PM Well.. you can get discontinuities with the accordion function too, it's just easier to avoid them in a lot of instances. So I wonder if an accordion function with repeatedly smaller cycle size depending on cycle number, down to a minimum cycle size would work? |