IMPORTANT. HOW TO USE TRANSFORMS AS PRE-TRANSFORMSJesse revealed me this trick that I didn't know. It is really really useful if you like to use transformations as pre-transformations.
It is fundamental. Why?
For example,
the inversion of an inversion returns tre undeformed pixel ... So you will
never want to do inversions more than once.
Apply the same Mobius transform twice will give another Mobius transform, but it is unwanted! This will cause a slowdown of the computation for nothing. (Note that I said "the same". Mobius conditional transforms are a completely different thing
)
The same applies for every possible coordinate transform (
except for coord - scaling- inverse coord sequence that can give interesting effects, a "particular case").
In this mode you can do (for example) a Mobius transformation only once. This will reduce a lot the DE disturbing effect, keeping the deformation effect at 100% of its strength.It is easy as drink water. Put the transform, or all the sequence of wanted transforms, at FIRST. Then put every formula that you like, after all the transforms.
Now, go to the first formula (for example it's in tab named "Fo.2"). Check "Repeat from here".
This allows you to calculate every
IFS or Julia fractal in transformed coordinate mode.
To do the same with Mset fractals, you need a complete coordinate inversion. For now only "SphereInvC" is a complete coordinate inversion. Expect more soon.
Example of a Julia set deformed by a loxodromic Mobius transform
Mandelbulb3Dv16{
M.....S....O/...w....2....kh.mHjS7KxzarR6dqU6N1EBs.wGK6qNzvdV3MZ2r3szidJ63iGubyD
................................2akZSXdnxz1........A./..................y.2.....
................/ME//....6.e3...91....E2.....2qXM9bwBCqD/..........c./...w1/BnAH
y.EnAnYD..../2UaNaNaNaNmzAnAnAnAnAyD..................................sD...../..
.wHnAnYDw38Bl7TXXx13sfny1v64vuO4f.nr2.djiDF.DthDuq9TVGHQmrsMzkU2Hvmr2.djXNloiwB/
EunZHg0ATH.YyQtgEyawBCqD......Yv......................sD.2kz0...................
.............................UJRR4.wppN.6OLb/.mRR4.irpN.EVLb/UCSR4..............
...........................U..6.P....M4...EB....W....61....F....8/...I1....UJl12
...U.iVFwxDE./ozPM2Tzz7lz16.mc..zXCc.El18XGQeGyDjvIRhrVAkz1............28.kFrA0.
FWb96aAIVzvh1se7Umvxz0........../6U0.wzzz1................................E.0c..
zzzz.................................2U.8.kzzzD.................................
/6U0.wzzz1...................................2CcN/UvNP6.eeWCNq0.yRii.EJJUk1f..XR
S1.mx3CcN/UvNP6.QsLsUa3.ibhV..bTV1OK.sSq40.ly3CcN/UvNP6.MwLsUa3.ibhV.kqTV1OK.sSq
40.kz3CcN/UvNP6...EsUa3.eeWCNq0.IJ36wk8.wyLsUa3.................................
E....6....E.....I....k....kLBxaMdJrQI/5S.IaQ....................................
...................yz..............................sz.........yD................
...sz0........yD...................sz...........................................
.....................2..........0....YYPoJqNZ756ExqRZ75.........................
8.....U/4MU/4..................E........kz1........wz.........zD..........2.....
................................................................................
................................}
The archive contains those release (final) formulas;
AbsX, AbsY, AbsZ, LogX, LogY, LogZ, Gnarl2D, Gnarl3DThey will not be changed in the future (I really hope so! - at 99%) so you can use it in your important renders safely.
The other topic contains "untested" formulas - wips and unoptimized formulas. Use them BUT at your risk
--------------------------------------------------------------------
Revision 2.
AbsX, AbsY, AbsZ, LogX, LogY, LogZ, Gnarl2D, Gnarl3D are left unchenged (fixed a typo in description of AbsY, thanks Jesse!
). New transforms;
tocylindrical, invcylindrical, sphereinv, helispiral--------------------------------------------------------------------
Revision 2.1
Too bad sphereinv had an error in coding, so that instead of computing z/rho it computed rho/z... But I love the "wrong" effect that looks very promising, so now we have sphereXinv, sphereYinv, sphereZinv. sphereZinv is the old (wrong) sphereinv. I am terribly sorry for the inconvenient!
--------------------------------------------------------------------
Revision 3
Added
hyc3Dinv (hypercomplex 3D inversion).
Based on tricomplex number theory. Info on tricomplex numbers here;
http://en.wikipedia.org/wiki/Tricomplex_number - very interesting stuff!
--------------------------------------------------------------------
Revision 4
Added
poincare (Poincarè metric, base code is almost identical to sphere inversion but final look is quite different
).
Fixed typos in some inversions; you may need to adjust "scale" to get the same result again.
I don't honestly think that it can harm, nobody is using inversions for now I think
--------------------------------------------------------------------
Revision 4.5
Fixed coding errors in Poincarè - now is no more fuzzy and seems to work OK
--------------------------------------------------------------------
Revision 5
Added
_tospherical and _invspherical (with correct code, works faster than the "test" version) plus a new tool for coordinate manipulation
_Scalingplus --------------------------------------------------------------------
Revision 5.5
Fixed
_invspherical bad coding, to avoid x-y flipping and make it work correctly with non-ifs formulas.
--------------------------------------------------------------------
Revision 6
Added several toric geometry transforms. Have fun but they are not accurate...
6.5
New torus inversion added (the third) - Inaccurate too but absolutely funny
--------------------------------------------------------------------
7.0
Two completely new formulas featured in the collection;
box tiling and
Barnsley 4D. As I know, nobody ever tried to extend Barnsley in 4 dimensional space.
7.5
Added Barnsley 4D (non commutative). Uses standard Hamilton product and looks less strange than the commutative counterpart
7.6
Added Barnsley2_4D in comm and non-comm versions, it is a simple tweak of the conditions.
7.7
Added Lambda4D in comm and non-comm versions, it is another simple tweak.
FIXED error in a sign of commutative rule;
( ... , Az Bx
+ Aw By + Ax ... ) is wrong and ( ... , Az Bx
- Aw By + Ax ... ) is the correct term
So Barnsleyc, Barnsley2c are corrected with the correct commutative rule as said in
http://home.comcast.net/~cmdaven/hyprcplx.htm .
8.0
Added several attractor transforms. They can be used alone to generate attractor-like fractals of strange kinds.
dynamic, cosmartin are from Mark Townsend. They use cos/sin functions and are a bit slow.
Lorenz, Rabinovich-Fabrikant, Rossler systems are much faster because they are purely polynomial.
8.5
Van der Pol added. Many parameters.
8.55
Van der Pol 2 added. Many parameters.
8.6
Hopalong added, with two modified versions.
8.7
KAM torus (with cutoff version) added.
8.8
_HopSqrt for each 3D dimension added.
8.9
_NeoSqr for each 3D dimension added.
9.0
_Log4D and _Exp4D added.
10
QuatPow added.
10.5
Sin4Dplus added.
10.6
Updated ("bug"fix)
10.7
Found in;
http://bugman123.com/Hypercomplex/index.html new (but "old"
) formulas; added
BristorBrot and MandyCousin. They look cool!
10.8
Another pearl from Bugman's site;
Quadratic 3D Mandelbrot 10.9
Another interesting transform is here. A Mobius 3D function, that uses White/Nylander theory;
MobiusTpx (tpx = triplex)
11.0
CubicQuat added. (Well, an approximation of it, but you can still get very nice results).
11.1
Ikenagabulb added. (see the notes for more info).
11.2
All possible
conj formulas released.
11.3
MengerKoch formula released.
11.4
MengerKoch V2 formula released.
In my opinion it's far better, more accurate and faithful to original Koch curve. But I keep also the old one, it's good for experiments.
11.5
SierpHilbert formula released.
Very easy: I applied the same transforms to Sierpinski3, to get a nice variation. Countless variations can be obtained.
11.6
Added
Tanh4D. Comes with this disclaimer (for now, it's an useless function)...
*WARNING* - Too bad, this function is actually almost useless, even if the 2D slices
look pretty. (Also, AFAIK, use it as a pre-transform is not a good idea.) Why?
This is due to the "nature" of the function itself, because the function is numerically
accurate (compared with UltraFractal's tanh, gives the same results for z=w=0 and default settings).
tanh is convergent for "big" values of the argument, and convergent functions
are NOT supported by Mandelbulb3D for now. (DE works for "divergent" fractals only).
The only way to avoid this is setting low pre-muls and a high final mul.
But this destroys the effect of the function itself - and leads to noisy images. Useless again!
The only way to use it seems to be: use low bailouts. Same issues of the previous.
I release it for experimental purposes or for future use only.11.7
The formula _Sin4D plus (
as I suspected ) was wrong and needed fix.
http://www.fractalforums.com/mandelbulb-3d/commutative-sign-error-plus-new-release/ <- here you will find the old version if you like.
From now on, the database will contain the "real" sine in 4D following Hamilton theory.
11.6
Added
Atan4D. Shares some troubles with Tanh, but less evident (surely it's due to the convergency: Atan converge asintotically to 1/x + ... while Tanh is e^(-x) + ... - really different).
12.
Added
MagVsXYZabs in 3 variations.
Formula from M.Benesi tweaked...
12.1
Added
MagVsXYZ. But I am not very satisfied, since it is still different from Chaos Pro version (but it is more stable) - probably due to differences in DE? Or an invisible bug in formula?
12.2
It seems that it is only a problem of viewpoint and destop, the formula is identical. Now added the
magswitch variationIf you really can't live without the ChaosPro viewpoint, try to use the parameter;
http://www.fractalforums.com/theory/an-old-formula-revised/msg29695/#msg29695Then use
Axiom2 = Axiom1^(3-Power)I think that with those tools you should get the
same results as CP, if not the same at 90% similar.
12.3
Added
RuckerBrot1. This formula has the weird property that z is power 1 and x,y are power 2, but has a nice look so I included it
12.3
Added
RuckerBulb.
12.4
Bugfixed and vastly improved
RuckerBulb.
12.45
Now
RuckerBulb is turned to the left, like every other fractal. This allows you to create meaningful hybrids and not crappy ones!
I had to change some signs to force this, but it was necessary...
12.5
Added
IQ-Bulb. I copied exactly the formula, but the result is odd. Maybe the formula he actually used is not the one he says.
13
Added
_CelticMode. This trasformation is extremely interesting and opens an immense field of exploration!
Also, I added the new SphereInv with new
"noise-free" mode enabled. The trasform is shown in 3D folder but it's not a trouble since it is really a 3D transformation! (Spheres are 3D objects ...
)
13.1
Removed wrong de-option in MobiusTpx too. Works really better now. Added
PolyFolding13.2
Fixed PolyFolding, and added "Skew" parameter
13.3
Omg!!! Added the crazy wild
Escher cubic 3D tessellation handle with care eheheh
13.4
Another tessellation,
Pytagora's tree 13.5
Was in my todo list from a long time. Finally done
_updateC And added
_flipC-xyz (if you are insane, use it at every iteration
)
13.6
Looked again IQ-bulb. Changing some codes, I managed to remove discontinuities, now it looks better for even and odd powers.
Don't know still if there are other mistakes in the code, but now it looks more good.
13.7
Removed other mistakes in IQ bulb, now it looks very very different, correct I hope!
ps. Similar mistakes must be hidden in Ruckerbulb too, so it needs fixing too! Later
13.8
Added
JuliBrot mode and
Mandel 4D BiComplex.
Mainly for
historical reasons, they are not so good compared with actual formulas ...
But they were the first "3D formula" attempts ever
13.9
Added
Dragon curve tessellation and fixed Pytagoras tree.
They work well in navi too (thanks Jesse
)
14.0
More fixes and
added variations to dragon tessellation.
15.0
Merged Dragon and Pytagoras to
IFS tessellation they are too much similar!
15.1
Added
_setw option for 4D fractals
15.2
Added
Magnet triplex fractal. Not so useful, but can give interesting plots
15.3
Modified
Magnet triplex: added some options, and fixed the annoying "z=0 bug". I left optional the bugfix, because the "wrong" formula gives beautiful results too, with some parameter twaeking
15.4
Modified all
Barnsley 4D. Fixed bad coding of conditional jump, and added angle options for Barnsley 1. This fix is very important because the formula seems to work
REALLY better now, and the noise is 90% reduced!
15.5
Added
PG-bulb, from a formula from Pseudogenius
http://www.fractalforums.com/3d-fractal-generation/a-different-3d-mandelbrot/I improved it slightly, so it allows you to choose an arbitrary power (in a reasonable range however
)
15.6
Added
_quadist - quadratic type distorsion in 3D
15.6
Added a
Talis 3D formula (not so awesome but good enough)
15.7
Fixed a strange error ... SphereInv was missing the radius option (?) added again
15.8
Under the "pressure" of a forum newbie, added his quat formula
djd-quat 15.9
REMOVED Djd quat since Jesse made a fairly better version.
16.0
Updated
Barnsley 4D formulas - now you can get also
Tent maps. Both commutative and not are updated
http://en.wikipedia.org/wiki/Tent_map - It is not exactly like Wiki defines it - but I taken the formula from UF database.
16.5
Added a new complex transform, that I called
coordvspow - be sure to try it
16.6
Added triplex exp() function to my new transform that can give a lot of particular bulbs (if wisely used!)
16.7
updated the transform as Jesse suggested (I tried)
16.8
HexaTransform from Aexion added!
16.9
Update C updated for Spider fractals (added two multipliers) and
corrected flip c-xyz (now it flips, and not simply moves. Sorry for the inconvenience and thanks Jesse for pointing out!)
17
Koch Cube added, after a painful search (see the thread
http://www.fractalforums.com/3d-fractal-generation/3d-koch-snowflake-convert-to-escape-time/15/ )
No rotations implemented for now17.1
Koch Cube : more parameters added (still no rot available)
17.2
Koch Cube : more fixing, and rotations added
17.3
Koch Cube : when used with "addC", some cuts appeared, due to a minor error in signs - now no longer.
Still problems when stretch is used, too bad!
17.4 (after a "long" time)
_mulC3D - see the description. May be useful? Maybe!
17.5
_mulC3D - was wrong (the y component), so I fixed and added many more options, now it can give so many new effects... You really need to try it I can't describe them, they are a completely new set of effects absolutely unobtainable before!
17.6
_mulC3D - Added rotate options and the z multiplier. Now it's complete...
17.7
_sphereinv - Added option "Folding mode" -
fantastic for customized sphere inversion fractals!!!
17.8
_sphereinv - Had a critical error that leaded to access violations, now fixed. Added another folding mode.
17.85
_sphereinv - Cleanup & optimized version, considerably faster now!
17.9
_helispiral - Added option "reference rotation". Old params should be manually modified but this variation is much more interesting than before
17.95
_helispiral - Added option "Refer to C". Even more variations possible now
17.975
_helispiral - Added more options
18.0
_sphereinv - Added IRadius (for a
non conformal spherical folding)
18.5
_sphereinv - Should be the last modification. Added the correct inversion "undo" and left the non conformal one (4 modes in total)
18.6
As some modes are almost pointless I removed them completely, leaving only the most stable ones.
18.7
_tetra3dfold that is useful for kifs experimenting
- C version should come soon!
_RotateXYonIts - Added my new functionality "reference rotation", so it's possible to rotate on its every possible plane (not only XY)
18.8
_tetra3dfold renamed to
_FoldingTetra3d (
according to Jesse's naming convention), also added
_FoldingCTetra3d now! Many effects are possible with existing formulas.
18.9
Riemann2 added, with many many user params.
19.0
ABoxVS_icen added; allows to get new ABox variations, as you vary the inversion center; C-Swap mode is completely new, though! (idea inspired form Mandelbulber)
19.1
ABoxVS_icen1, ABoxVS_icen2 - Added another mode (the existing is tagged as "2")
19.2
ABoxMod1 released (from Kali's formula but a bit modified)
19.3
ABoxMod1 updated
19.35
FoldingInfy added - thanks dwsel for the ideas!
19.4
ABoxMod1 - fixed negative values for folding modifications
19.5
Several modifications & some new formulas released. Most important, Amazing tetrahedral fractal
19.51
ATetraVS - fixed a dumb dumb coding error. Now formula is ok as I intended originally!
19.52
ATetraVS - Modified the default parameters, because I think that those new ones are much more promising!
19.6
TetraFolding Pow2 added
19.7
Added two new transforms, one for a double julia seed and one for a ripple effect
19.8
Added a smooth ABox, like Buddhi's one but with a much simpler formula. Looks cool, I'm curious to see some renders anyway
19.9
Now the smooth abox has a smooth r folding too. The formula is quite complicated I must say but it works like a charm!
20.0
Added functionality to last fmla...
20.1
Fixed bug when minr tends to 1. Cleanup for speed
20.2
More accurate smoothing selection for ballfold. A new formula, with arbitrary double rpow selection, very slow
20.3
Added a "radial" version of Partly Julia (by Jesse of course)
Added a second multiplier for TetraFoldPow2 too. (I did this long ago, but forgot to update)
20.4
Error in PartlyJulia. xCenter modified z coordinate instead (and zC -> x), now fixed!
Added a recenter option (not perfectly working though)
20.5
Fixed the recenter option (had to rewrite a big section of the code but it was needed)...
20.6
Added a control box to choose different cutting shapes (!!!)
20.7
Even more cutting shapes added!
20.8
Added a new ABox from Aexion! Try it, looks so stylish!
20.9
I had an idea for two new pretransforms in torical coords sitting in the folder. Finally done,
totorical2 and invtorical2, yayz
21.0
Added ABoxVSShapes, that for now supports Torus, Cylinder and Cone as "base shapes". More soon hopefully
21.1
Added ConeB, that is same as old cone. So in your params
replace shapemod 4 with 5 to render correctly! ConeA is a new formula
21.2
Added lots of shapes (final version?)
21.3
Added new version of cone + paraboloid
21.4
Added more shapes (now they are 16)
21.5
IMPORTANT notice. Corrected PG-Bulb as it was wrong and potentially dangerous. Now if you choose wrong not in range int-powers it autofixes avoiding lockups. For Jesse; don't include the old formula in the new database please!
Also added a "new" quat-like thing
21.6
Added hyperMenger21.7
bugfix for
hyperMenger now accurate DE and formula!!!
21.8
bugfix for
hyperMenger - xinv and yinv had to be swapped to get the same effect of sphereinv then menger
21.9
NEW OPTIONS for
hyperMenger +2
21.95
hyperMenger chaged the default parameter for an example image with "kissing" spheres
22.0
_DonutTransform a yummy idea from Aexion
22.1
Added a shape to ABoxVsShapes (n° 17)
22.2
_RotateXYonItsP 22.3
Faehrten (
imported from Gestaltlupe)
22.4
_skew added
22.5
MengerIFSplus added
(modifies the rotation center)
Sierpinski3alt added
(modifies the rotation center)
22.4
Sierpinski4 added
and big thanks to
Syntopia who invented it!
22.5
Menger4 added
- again thanks to Syntopia, because the formula shares a lot with Sierpinski4. Clarified the "3d vs 4d" bug and signaled in formula notes (thanks Jesse).
22.6
Octahedron4 added
(modified version of Sierpinski, a quick hack
)
22.7
MixPinski4 added
(modified version of Sierpinski mixed with Menger
)
22.8
HalfOct4a and
HalfOct4b added
(modified version of Sierpinski octahedron, with different symmetry planes
)
22.9
ATetraVS2 added
. This works great unlike the overly complicated cousin
23.0
Corrected MengerIFS plus