Logo by Trifox - 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: Did you know ? you can use LaTex inside Postings on fractalforums.com!
 
*
Welcome, Guest. Please login or register. March 28, 2024, 11:31:57 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]   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: Updated 9/11/16 A couple new formulas and a prototype or 2  (Read 2862 times)
0 Members and 1 Guest are viewing this topic.
M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« on: July 31, 2016, 09:01:00 AM »

UPDATE  (9/11).  Includes some m3a, m3p start points, and the m3f files you need for the m3a and m3p files...  has the cephalopod, and the lol menger animations... cheesy

https://drive.google.com/open?id=0B0EcJQ49B_yOeUMwTkZwN29KM2c

 



 Newest twistbraid has a couple of presets, and uses the other 2 formulas in that directory.  Sort of neat.  cheesy
With Sierpinski tetrahedron:






 Look at the dates of the formulas for latest releases...  in the future I might organize them better.  Scroll down for the link... a couple of bug warnings first:

  Twistbraid v3.3 is the direction I took the spinbobber formula, and it crashes if you set splits=<0. I did NOT fix that part yet.  I'm removing some of the functionality and updating other parts (removing the polygon transform, and then need to re-add twist start which I removed, add smooth split start, fix split code for non integer splits (that will be a pain in assembly..  yeah!!!)).  

  MengerIFSv2.0  is a Menger with a couple of added transforms, and allows you to select positions in the calculation at which you apply transforms.  I haven't done a thorough analysis of it yet, and since I was working on many things, I'm not sure if certain variables will crash it or not (I don't think I put checks into the polyhedral "sides" variables (yet) to make sure they are constrained to >1...).  

  Ok, apparently some of the prototype functions I wrote are redundant.  UPDATE:  or not.  Boxtiling doesn't have the cyclical nature of the accordion function (which is only on the x axis, so rotate it to use on different axes).  The accordion function goes up and down, and has a smooth "last cycle" length, boxtiling is a lot simpler, and can introduce discontinuities where this function does not.  

Code:
 Boxtile, cycle length of 1.
  x 0-->1 =  0-->1;
  x 1-->2 =  0-->1;
  x 2-->3 =  0-->1;

  Accordion function, start at x=0, cycle length of 1.  

  x 0--> .5  = 0-->.5;    // goes up til middle of cycle
  x .5-->1   =  .5-->0;   //   goes down til end
  x 1-->1.5  = 0-->.5;  //  goes up
  x 1.5--2   =  .5-->0;     //goes down   ...  til end cycle which is smoothed too.  


  I just didn't know about the equivalent functions in M3D (boxtiling.... polyfolding, etc.).  So...  anyway, still introducing sin waves is pretty cool, although undoubtedly there is a function for that too.  So... nothing really new here (polygonal smooth transforms are new though!), but it was new to me since I'm not familiar with all of the formulas in M3D.

  Ok.  Some of these are old formulas, updated so you can do smooth transitions from 0 to 1 iteration.  

  I updated the circle to polygon transform, so that you can smoothly change from one to the other and back.  Also, a couple of the old transforms also work quite well as smooth transforms, so basically you can go from 0 to 1 iteration smoothly.

<a href="https://www.youtube.com/v/DGGXOpp3BFA&rel=1&fs=1&hd=1" target="_blank">https://www.youtube.com/v/DGGXOpp3BFA&rel=1&fs=1&hd=1</a>

  Formulas here:

https://drive.google.com/drive/folders/0B0EcJQ49B_yOQ3p1a0NmaHEtOEE


  I also built a prototype of an accordion/twist function (called spinbobber- use the "spintop" one if you grab it).  Has a couple of extra variables, and it's definitely not done yet (I've a couple little things to do to it still).  You can mess with it- it basically stretches stuff out on the x axis, so if you apply it to things like the Menger, or other fractals with symmetry over y/z stuff... you can do neat things with it.  



Code:
Mandelbulb3Dv18{
g.....k1...E9...w....2....UYLSoJyip8.12iPmEcz.3Esj/Fiw.L1.AARHa5OAozzAzKrHiHvC/k
................................AlSDlwFGRz1........Y./..................y.2...wD
...Uz6........../M.0/.....Er....Y/....E3.....IksWJV2bDpD/..........G1dkpXm1.....
//....kD12..2..........wz.................................U0.....y1...sD...../..
.z1...sD7z9xWvnBxx13ZVajqFkSzUcaao22twmDGMg1/.C6SxnfTrCzqQkMzCbZ3wrWo9sD1OlDS2jx
txXxAOQorDuSzCnfrunpkUqjU.....IO3.............sD.6....sD..G.....................
.............oAnAt1...sD....zw1.........................................8....k1.
.....4iSoz1.......kz.wzzz1.U..6.P....61...EB....U0...62....F....6/...I1.....SF52
...U.uU9QxzR6dlz....zzk3Y.6.06nzdf5C..UoK/nl2xvj6sM93P58iz1..........EUUC..J7W7.
..Hc8jGarz9.LtsEE8gyz.Udv0YqZ7/k0Ec1.wzzzv..CT9ewt5ozs/U0xVzkhyj..6iE48JWzX.2s..
zzzzB..U.........06..........0.......E./E.kzzzD..kg4QH7Efz987jf66Mz../UWV.Xpzp/k
/EU0.wzzz1...................................UTVR..y3q/yzz/k.1A..1Ak.vzDsnwF.UDn
5VTzThdht0kaqaPiQs5y3q/.sLM5s1bTsLM5.UTVRUDlyVTVR..y3q/yMw5y3q/.sLM5snqTsLM5.UTV
RUDkzVTVR..y3q/y...y3q/bzz/k.1Akyz1yATomxzpaqaff................................
E....MEFF3E.....I....Q....EHZtqNZ7LG4B3.axaQh31...........................U/4M..
...........nAnAnAnw../........zD........kz1........sz...........................
........................kz1........../.......w2E........E.2........wz...........
.....................2.....3....8....wZEH/LOi7oPW7KNmxpAnA1..EKOi/..............
................................QaNaNaNaFzfNaNaNaNatzGnAnAnAnAwDBnAnAnAnIzfNaNaN
aNavz........60EbNaNaNaNKz9...................zD................................
................................0....E/...U0....T7oIkZaP0xaMWJaQTBnAn...........
..........................................UaNaNaNaNqzeNaNaNaNaxD................
.....wzzzzzzzjyD.......UG.2.............................kz1.................../E
........kz1...............................E.....I....Q....EHZtqNZ7LG4B3.........
..........................U/4M.............nAnAnAnw..BnAnAnAn2zD........kz1.....
...sz...........................................................................
.....................................................6.....3....8....wZEH/LOi7oP
W7KNmxpAnA1.....................................................OaNaNaNaNzfaNaNa
NaNqz...........aNaNaNaNKz9........vz........k.E..............................zD
................................................................/....E/...k/....
BJaPbJaQ7NoI.MZA................................4MU/............nAnAnAnA8.2.....
...wz.........zD........Uz1...................................................zD
..........2.......kH./......../E........kz1...............................U.}
{Titel: business administration building~}


  

  

  
« Last Edit: September 12, 2016, 01:06:24 AM by M Benesi » Logged

mclarekin
Fractal Senior
******
Posts: 1739



« Reply #1 on: July 31, 2016, 10:03:00 AM »

@ M.Benesi. Thanks Matt,

 have just updated Darkbeam's SphereInv with extra parameters, the timing  of your post is perfect for sidetracking me away from what I was about to start next.

attached screenshot of dev V2.09 PT mag T series UI, I cannot add any more to this one, I will have to start another. grin


* screenshot.png (151.45 KB, 673x985 - viewed 331 times.)
Logged
M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« Reply #2 on: August 02, 2016, 01:11:19 AM »

lol.  I need to update the formula descriptions of all of these formulas so you can see the math....  cheesy
Logged

M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« Reply #3 on: August 07, 2016, 02:49:33 AM »

New formula is sort of cool.  It's in the link in the first post.  Need to update it a bit.  

<a href="https://www.youtube.com/v/fTckjLOT8JY&rel=1&fs=1&hd=1" target="_blank">https://www.youtube.com/v/fTckjLOT8JY&rel=1&fs=1&hd=1</a>





« Last Edit: September 07, 2016, 08:32:02 PM by M Benesi » Logged

mclarekin
Fractal Senior
******
Posts: 1739



« Reply #4 on: August 07, 2016, 02:58:55 AM »

Bottom one is very cool, looks like fractal bagpipes
One above that, has some nice sharp detail. afro afro afro
Logged
thargor6
Fractal Molossus
**
Posts: 789



WWW
« Reply #5 on: August 07, 2016, 03:01:34 AM »

awesome stuff!
Logged
M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« Reply #6 on: August 07, 2016, 08:30:21 AM »

Thanks cheesy

  Before "official" (it's twistbraid version 3v2 in the Google drive link) release, there are a few more things that need to be taken care of.  

  Now, the new appendages just appear half baked, I want them to appear as scaled down versions as the NumberOfSplits variable changes.

  Basically, as number of splits increases from 3 to 4, I want the new thing to grow in between the others in a uniform manner.  I'm thinking that one of the dummy variables (xBlank, or just blank) in the beginning that are no longer being used can be used as a starting point for the new "arm" to grow from, but I have a bunch of ideas, and don't know how many of them will pan out...

  I've been playing with it with a Menger IFS and polygon to circle to smooth it out (I need to rewrite a full polygon to circle and back function.. that will be around soon, way easier than coding this function).  Here is the smoothed version of the above image, which is also nice.  



  
« Last Edit: September 07, 2016, 08:33:45 PM by M Benesi » Logged

M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« Reply #7 on: September 06, 2016, 05:07:15 AM »

  Double prong attack....  Updated the formula, and...

  What software should I implement a 2d version of the split part of the formula for?  It would work with Sierpinski carpets, actually just about any symmetric 2d fractal.  Might not be as cool... but.



  Here is some Fragmentarium code for the split function, which is cool (although I combine it with the Accordion function for a bit of depth in M3D--  I'll put that code next.. definitely want a bit of accordion if you're doing a Serpinski!).

  You can do multiple iterations of the split function in a row as long as you align of the split fractal with the x axis (it splits things around the x axis unless you rotate beforehand) on the last iteration.  In other words, use rotaddin=0 for all iterations, up til the last one.  I put instructions in the twistbraid formula in the link in the first post.

  Sierpinski tetrahedrons, T1 Pine Trees, Mengers of all shapes and sizes...  they all can make neat kaleidoscopic patterns with correct alignment, and integer #s of splits.  





 

  CODE IS NOT OPTIMIZED... fix the math.  Eliminate extra variables.  Etc.  It works though!
  
Code:
uniform float splits; slider[1.00,4,33]
uniform float splitrad; slider[0.00,1,10]
uniform float rotaddin;slider[-9,0,9]


vec3 split(inout vec3 z) {

float ryz;float r2;float r3;
float ratrack=pi2-pi2/splits;
float rotadjust=-pi/splits+rotaddin;  
//float rotadjust=(splits-4.0)/splits/4.0*pi-pi/4+rotaddin;  
//if (rotbool) {rotadjust+=pi/4.0;}
float pintrack=pi/splits;
float pi2splits=pi2/splits;
float  i=0.0;
float omega=atan(z.z,z.y);
if (omega<0.0) {omega+=pi2;}

while (omega>pi2splits && i<floor(splits)) {
i+=1.0;
rotadjust+=ratrack;
pintrack+=pi2splits;
omega-=pi2splits;
}

if (i==floor(splits)) {  

ryz=sqrt(z.y*z.y+z.z*z.z);
omega=atan(z.z,z.y);
if (omega<0.0) {omega+=pi2;}
r2=pi*(splits+floor(splits))/splits;
r3=pi/splits-(pi*(splits-floor(splits))/splits);  // optimize me!!!!
if (omega>r2) {
omega+=r3;
} else {
omega-=r3;
}
z.y=cos(omega)*ryz;
z.z=sin(omega)*ryz;
pintrack=pi2-pi*(splits-floor(splits))/splits;
z.y-=cos(pintrack)*splitrad;
z.z-=sin(pintrack)*splitrad;
ryz=sqrt(z.y*z.y+z.z*z.z);
rotadjust+=pi*(1.0-(splits-floor(splits)))/splits;   //who wrote this code anyway?  
omega=atan(z.z,z.y)+rotadjust;
z.y=cos(omega)*ryz;
z.z=sin(omega)*ryz;
} else {
z.y-=cos(pintrack)*splitrad;
z.z-=sin(pintrack)*splitrad;
ryz=sqrt(z.y*z.y+z.z*z.z);
omega=atan(z.z,z.y)+rotadjust;
z.y=cos(omega)*ryz;
z.z=sin(omega)*ryz;
}

return z;
}




Accordion code  (extends and repeats a variable, as long as the variable is continuous).  

Optimize.. fix math.  Etc.   Have fun!

Code:
uniform float AccStart; slider[-10,-.4,10]
uniform float AccCycle; slider[0.1,.6,2.1]
uniform float AccEnd; slider[-30,-7,30]

float Accordion (inout float zx) {
float cycle=abs(AccCycle);
if (cycle<.06) {cycle=.06;}
float i=0.0; //why did he use a float here?  :p
float cyclemod= mod(abs(AccEnd-AccStart),AccCycle);
if ((cycle)>abs(AccEnd-AccStart)) {cycle=abs(AccEnd-AccStart);}

if (AccEnd-AccStart<0.0) {
cycle=-cycle;
cyclemod=-cyclemod;

if (zx>AccStart) {
// do nothing
}  else if (zx<(AccStart+cycle) && zx>(AccEnd-cyclemod)){
zx=zx-AccStart;
while (zx<(cycle) && i<3000.0) {
zx-=cycle;i+=1.0;
}
if (zx<(cycle/2.)) {
zx=cycle-zx+AccStart;
} else {zx+=AccStart;}
//done
}
else if (zx>AccStart+cycle && zx<AccStart) {
zx=zx-AccStart;
if (zx<cycle/2.) {
zx=cycle-zx+AccStart;
} else {
zx=zx+AccStart;
}
}
else if (zx<(AccEnd- cyclemod)  && zx>AccEnd) {
zx=AccEnd-zx;
if (zx<cyclemod/2.0) {
zx=cyclemod-zx+AccStart;
} else {
zx=zx+AccStart;
}
}  
else if (zx<AccEnd) {
zx=zx-AccEnd+AccStart;
}
} else {
cycle=abs(cycle);
cyclemod=abs(cyclemod);

if (zx<AccStart) {
// do nothing
}  else if (zx>(AccStart+cycle) && zx<(AccEnd-cyclemod)){
zx=zx-AccStart;
while (zx>(cycle) && i<3000.0) {
zx-=cycle;i+=1.0;
}
if (zx>(cycle/2.)) {
zx=cycle-zx+AccStart;
} else {zx+=AccStart;}
//done
}
else if (zx<AccStart+cycle && zx>AccStart) {
zx=zx-AccStart;
if (zx>cycle/2.) {
zx=cycle-zx+AccStart;
} else {
zx=zx+AccStart;
}
}
else if (zx>(AccEnd- cyclemod)  && zx<AccEnd) {
zx=AccEnd-zx;
if (zx>cyclemod/2.0) {
zx=cyclemod-zx+AccStart;
} else {
zx=zx+AccStart;
}
}  
else if (zx>AccEnd) {
zx=zx-AccEnd+AccStart;
}
}

return zx;
}
« Last Edit: September 07, 2016, 08:35:57 PM by M Benesi » Logged

M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« Reply #8 on: September 07, 2016, 08:44:18 PM »

ummm... It was brought to my attention that the majority of the image links I put in this thread were bad (I was the only one who could view them).  Sooooo.....
Logged

3dickulus
Global Moderator
Fractal Senior
******
Posts: 1558



WWW
« Reply #9 on: September 08, 2016, 01:59:08 AM »

never had a problem, images seemed fine at first glance  huh?
Logged

Resistance is fertile...
You will be illuminated!

                            #B^] https://en.wikibooks.org/wiki/Fractals/fragmentarium
lycium
Fractal Supremo
*****
Posts: 1158



WWW
« Reply #10 on: September 08, 2016, 02:23:07 AM »

Are you guys friends on Google+?
Logged

M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« Reply #11 on: September 08, 2016, 02:27:35 AM »

Ok, I tried a different browser to log in privately (instead of opening a private window.. doy), so maybe that was it.  


  Test image (will use "bad" format):



  Ok.  Whiskey Tango Foxtrot.  I can't replicate the non-loading images thing now, in any browser.
Logged

3dickulus
Global Moderator
Fractal Senior
******
Posts: 1558



WWW
« Reply #12 on: September 08, 2016, 07:36:52 AM »

@M Benesi I can't see test image in last post?

@lycium no, we're not associated in any way outside of FF  alien
Logged

Resistance is fertile...
You will be illuminated!

                            #B^] https://en.wikibooks.org/wiki/Fractals/fragmentarium
M Benesi
Fractal Schemer
****
Posts: 1075



WWW
« Reply #13 on: September 08, 2016, 07:50:56 PM »

  Now I can't either when I'm not logged into Google photo albums in the one browser...  I could view it yesterday though.  
sheesh...
« Last Edit: September 08, 2016, 07:57:05 PM by M Benesi » Logged

valera_rozuvan
Safarist
******
Posts: 80


a test in time


valera.rozuvan valerarozuvan
WWW
« Reply #14 on: September 20, 2016, 06:01:41 AM »

Test image (will use "bad" format):

I don't see this image - I just see a "Dead End" sign. This is happening because Google doesn't like when you _DIRECTLY_ link to an image hosted on their servers. By _DIRECTLY_ I mean that you get the image's hashed URL, and use it on a website. You see, this makes it for Google impossible to place a Google logo.
Logged

Pages: [1]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
has anybody tried using ifs formulas with the mandelbuld/mandelbox formulas? 3D Fractal Generation cKleinhuis 4 9300 Last post May 05, 2010, 03:17:07 PM
by Power 8
updated formulas Mandelbulb 3d DarkBeam 4 1881 Last post July 23, 2011, 01:15:20 PM
by Jesse
ck.ulb Formulas Updated UltraFractal cKleinhuis 0 1611 Last post March 08, 2013, 06:51:14 PM
by cKleinhuis
Prototype of evolution Images Showcase (Rate My Fractal) Dinkydau 3 950 Last post September 10, 2013, 03:40:56 PM
by Dinkydau
Rubik's First Prototype Mandelbulb3D Gallery Madman 0 623 Last post April 06, 2015, 01:13:41 AM
by Madman

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