Revisiting the 3D Newton

  • 26 Replies
  • 1460 Views

0 Members and 1 Guest are viewing this topic.

Offline gannjondal

  • *
  • Fractal Friend
  • **
  • Posts: 14
« on: March 13, 2018, 01:17:19 AM »
Update:  I'm attaching all formula, and parameter files related to this thread (also) to this main entry for an easier finding.
Update 2:  I cannot attach a further file to the existing article; therefore - Please find a collection of new formula variants, a tutorial, some documentation etc - see also comment #13 at https://fractalforums.org/fractal-mathematics-and-new-theories/28/revisiting-the-3d-newton/1026/msg6825#msg6825

Hello again.

That's my first entry within the new forum.
As usual not much time etc. - But this finding was promising enough to share it :-)

//NOTE: 
  I don't see a really matching forum chapter - This entry is not only for MB3D, nor a pure image thread, not real programming, not real theory.
   If anyone with admin rights feels that it should be moved - please do so :-)

The purpose of this thread is to bring up an old topic again - a 3D representation of the good old Newton fractal.
This is program independent - In fact I still don't see a good (or any) realization in the most 3D fractal programs.
What we currently have appears to be still like in the 2 years old thread http://www.fractalforums.com/gallery/newton-3d/  (But please feel free to tell if I have missed something!)

But when I see my pictures I think that it would be worth to implement it in any 3D fractal program!


Ok, let's become technically ---

The old question was "What the hell is the outside in a Newton - everything converges".

My "new" idea is very simple: 
If I know one of the solutions (let's call it s) of t^k-c=0 then 1/(t(n) - s) would diverge, while any other solution would still converge (t(n) is the Newton method's result after n iterations).
Hence we would have a (diverging) outside, and a (converging) inside.
AND - 1/x is of course reversible. - That is important to implement such a solution in programs (like MB3D) which has built-in DE calculation, and which can only take one triplex value from one iteration into the other one.

Hence we have this basic calculation scheme (t is the current triplex number):

Code: [Select]
(For each iteration > 1)  t := 1/t+s
Calculate the Newton for t
t := 1/(t-s)

Then the t(n) visible for the program would diverge if the "real" t is close to s, but converge else.
Of course - users of Fragemtarium etc could write their own DE check without such hacks ;-)

Ok, and here is the result of my implementation in MB3D:

1. The most simple version.
     At the begin I was not aware about a possibility to check the number of the current iteration in MB3D.
     In result I needed to run the pre-inversion also for the first iteration -
     With the effect that the endless Newton fractal turned into a finite object - a Newton bulb  :joy:
     Better than I have have expected!

     

     Ok, the complete "bulb" does not look too fancy, but some fruits need to be cutted or peeled ;-)
     This (and nothing else) is realized in the MB3D JIT formula JIT_gnj_RealPowNewton_01.m3f

     Note regarding the performance in MB3D: 
        The cutted fruit (picture Newton-1a) needed for a 1600x1200 picture, and a raystep of 0.5 about 35 seconds (on a 6-core i7).
        I guess that's quite fast for a JIT that uses exponents (real power based calculation)....

2.  A tiny variation.
     For testing purposes I had added some fix values before any other calculation.
     I found the results quite nice - so I left it from the version 2 of my formula on (JIT_gnj_RealPowNewton_02.m3f)

     

     Picture Newton-2c is a hybrid of 2 formulas with different powers (3 and 2).

3. The non-inversed version.
     Finally I found a way to count the iteration also in MB3D - But use the formula carefully; it changes an internal variable, which may be used in other formula types as well.
     This feature is available starting with JIT_gnj_RealPowNewton_03.m3f

     

Higher powers don't make a too big difference - remember that always just one solution will be taken as the outside...

I'm attaching the formulas and the parameters.
The formula doc can be found within the .m3f files.


So, that's it from me ---

PLEASE FEEF FREE TO ADD IMPLEMENTATIONS FOR OTHER PROGRAMS !


« Last Edit: May 15, 2018, 10:30:39 PM by gannjondal »

Offline 3DickUlus

  • *
  • 3c
  • ***
  • Posts: 801
    • Digilantism
« Reply #1 on: March 13, 2018, 01:39:48 AM »
Interesting, I don't think I've ever seen a Newton bulb, yes this would be a good place for it.
Resistance is fertile... you will be illuminated!

https://en.wikibooks.org/wiki/Fractals/fragmentarium

Offline gannjondal

  • *
  • Fractal Friend
  • **
  • Posts: 14
« Reply #2 on: March 16, 2018, 12:00:02 AM »
.... yes this would be a good place for it.

Thanks, 3DickUlus. Then we'll leave it here :)

Offline v

  • *
  • Fractal Fanatic
  • ***
  • Posts: 29
« Reply #3 on: March 16, 2018, 10:28:52 AM »
Neat idea, looks sort of like a surface of revolution with the smooth edges.  I wonder if it could be extended to grow in complexity in all degrees of freedom, not just in cross section.  Maybe the extension of newton's method to 3D (gradient descent?) or functions of two variables on the mandelbulb formula might produce something interesting

Offline Ebanflo

  • *
  • Fractal Friend
  • **
  • Posts: 15
« Reply #4 on: March 16, 2018, 08:53:52 PM »
Heya, I'm on Linux so I can't download Mandelbulb 3D  :(

So I'd like to have a precise understanding of the math so that I can replicate this beautiful object. I assume triplex number means the number system used to generate the Mandelbulb (is multiplication defined for this number system?). So your formula is applied to a point in space t:
Code: [Select]
t := t/(t + s) //what is s?
compute the Newton for t //is this a single iteration of the root-finding method or do you iterate the method until it becomes really close to the root
t := t/(t - s)
And is this the fractal formula or the actual distance field?

Thanks!

Offline Bill Snowzell

  • *
  • Fractal Friar
  • *
  • Posts: 143
« Reply #5 on: March 17, 2018, 09:42:44 AM »
Heya, I'm on Linux so I can't download Mandelbulb 3D  :(

So I'd like to have a precise understanding of the math so that I can replicate this beautiful object. I assume triplex number means the number system used to generate the Mandelbulb (is multiplication defined for this number system?). So your formula is applied to a point in space t:
Code: [Select]
t := t/(t + s) //what is s?
compute the Newton for t //is this a single iteration of the root-finding method or do you iterate the method until it becomes really close to the root
t := t/(t - s)
And is this the fractal formula or the actual distance

Thanks!


I use MB3d with Linux Mint, it will run under "Wine" with no issues. 

Offline Ebanflo

  • *
  • Fractal Friend
  • **
  • Posts: 15
« Reply #6 on: March 17, 2018, 09:56:19 AM »
i actually got it to run on Ubuntu with Wine shortly after posting.

Offline gannjondal

  • *
  • Fractal Friend
  • **
  • Posts: 14
« Reply #7 on: March 17, 2018, 07:41:56 PM »
Trying to answer the remaining of above questions ...


Neat idea, looks sort of like a surface of revolution with the smooth edges.  I wonder if it could be extended to grow in complexity in all degrees of freedom, not just in cross section.  Maybe the extension of newton's method to 3D (gradient descent?) or functions of two variables on the mandelbulb formula might produce something interesting

Increasing complexity is an own topic that could be discussed lengthy.
I have tried that once (for 2D Newton pictures) quite extensively.

From that experience I would say that in case of the Newton method 'simple' extensions like the Newton calculation using hypercomplex numbers, matrices etc do generate 'simple' pictures (like more Newton solutions), but keep the general pattern.
On the other hand simple mutations tend to destroy the complete picture.

Changes need to be more sublte to generate really interesting things.
Basically:  Blow up the formula calculated in one step, and then make a tiny change in the code on one corner of the calculations.
Hybridisation is one way (Make n calculations of the same formula, and then on calculation with a slightly changed formula).
Using n-dimensional numbers (be it mathematically useful or not), or take the Newton method as an operator, and apply it to iself are some other options (don't forget the well placed mistake).
Your idea to use 2 variables is also valid, and can even lead to interesting pictures without "mutation" - but some effort is needed as well (think e.g. about something like N[N[f(t,q),t],q] , where N[f(x),x] is the Newton method used for f(x), with derivative on x).
And many more. It's something for at least one own thread ;-)

But please never forget that we are talking about 3D visualization:
We need to carefully think about what's inside, and what outside.
And also the surfaces must not be too complex, otherwise the picture becomes uninteresting....

-------

Heya, I'm on Linux so I can't download Mandelbulb 3D  :(

So I'd like to have a precise understanding of the math so that I can replicate this beautiful object. I assume triplex number means the number system used to generate the Mandelbulb (is multiplication defined for this number system?). So your formula is applied to a point in space t:
Code: [Select]
t := 1/t + s //what is s?
compute the Newton for t //is this a single iteration of the root-finding method or do you iterate the method until it becomes really close to the root
t := t/(t - s)
And is this the fractal formula or the actual distance field?

Thanks!

Ok, your question regarding MB3D appears to be answered.
But I want to try to answer your technical questions in a short way:

- I assume triplex number means the number system used to generate the Mandelbulb (is multiplication defined for this number system?)
    Yes, it's the same kind of numbers. In the old forums there have been lengthy discussions about the rules we are using.
    Finally they came down to some "practical useable" calculation rules that include rules for multiplication, and even division.
- t := 1/t + s //what is s? ---- t := t/(t - s) (I have corrected the equation): 
    s is one of the multiple solutions of the Newton method. I need to assume that s in front of the calculations to define the bulb's outside.
- Compute the Newton for t //is this a single iteration of the root-finding method or do you iterate the method until it becomes really close to the root
    It's one step.
    i.e. t(n+1) := ((p-1)/p)*t(n) - c*t(n)^(1-p)/p  (p is the power, and c the same c as in the normal bulb. That means I search solutions for t^p+c=0)
- And is this the fractal formula or the actual distance field?
    In MB3D I can't change the DE calculation. With JIT I can (as far as I know) only calculate the actual formula (i.e. the calculation of t). It's very simple.
    If the formula in the .m3f looks quite complex then partially because I need to work around the JIT/MB3D limitations

M3D .m3f formulas are human readable if they are written in JIT code (as mine are).
Please have a look to the text after the [END] tag - there you can find detail explanations.
Place the .m3f files into the [MB3Root]\M3Formulas directory before you start the program.

Offline gannjondal

  • *
  • Fractal Friend
  • **
  • Posts: 14
« Reply #8 on: March 17, 2018, 07:57:32 PM »
I'm uploading an performance optimized version of my m3f

Reason:  In the original versions I used an old, slower version of the calculations.

Changes in JIT_gnj_RealPowNewton_04.m3f:
- Optimized the power calculations. In the new version the calculation of the picture Newton-1a is now about 30 % faster
- Introduced the parameter  Fake_Bailout -
   Just another hack to have the formula working more smooth with MB3D, specifically if using the formula in hybrids.
   Setting of the correct 'R bailout' value on MB3D's formula tab is a bit tricky for this for this formula.
   If it is too large you will receive plain blocks of inside. If you want/need to increase then increase Fake_Bailout for the same factor (defaults: Fake_Bailout=1 with 'R bailout'=4).
   You may set it e.g. to 4 if making hybrids with Mandelbulb type of formulas (with a standard R bailout of 16).
   Side effect:   Large pairs of Fake_Bailout and 'R bailout' can improve the performance again. For instance with Fake_Bailout=400 and 'R bailout'=1600 the picture Newton-1a was even 60 % faster than in the previous formula (colors change a bit tough)!
« Last Edit: March 18, 2018, 11:29:47 AM by gannjondal »

Offline gannjondal

  • *
  • Fractal Friend
  • **
  • Posts: 14
« Reply #9 on: April 02, 2018, 06:38:10 PM »
The new 3D Newton variant taken as only formula may have interesting parts at its inside only --
But adding a simple hybrid (here: _RotatedFolding) is enough to generate really interesting pictures.



NOTE:  I have added all formula , and parameter files also at the first entry of this thread so that it can be easier found.


MB3D [JIT_gnj_RealPowNewton_04, _RotatedFolding]

Mandelbulb3Dv18{
g.....m....K0...w....2.....vsGp.Hkl..1.......E/EKd7jXvD1VzPnOoJMVCGmzosP.Ecn8hvD
................................6nen3mLetz1........A./D................U./2...wD
...Uz6...E/......I.0/....2UZ....F0....kf.....2kUDBbO/hpD/.......Cfe70pAnAr1.lJJp
zIEnAnAD16../2U6CqQWjGStz8dCwzbbn8yjbghETluJYz1..........MU0.....y1...sD...../..
.z1...kDATOEe9gpHxPg00zQfPQLzixPHVa3gZnjXxfudFeL8xHlfSHhodbHzWeQIvnvxspDaLUXeQSQ
Px9nB3OI0V4HzkdVcw4PTApDUoAnAtX..8.......2UaNalD.6....sD0.G.....................
.............oAnAt1...sD....zw1...................................kbqFxDY....k1.
.....83iyz1.......kzoxzzz1kF.k4.z....Q7...kJ....D2Hb820.Ed.1....2/...kX9..kFXN5I
...U.qFG9yDh7jyzGs0KzfSsT16.qAmzzXCc..EbG7eFT5uD6Eot8VlJaz1...........22/xjGl.0.
.Ub96aAIVz9.1se7Umvxz0...........MX2zzDuU0..M4n5/A7qz.EVjiO8eGyD/...........rAmz
zXCc..EVjiO8eGyD2Ck5eP./cz1..........E.6NoTXd32..6CziH2Miz98Lw0edYffz0UXpV93b.wj
0EE1zzzzzjc..0.........U..........6..........IJJJ/EhpKfveeGJJJ3.pKPhbHJJJJJJ.IPh
puBmxJJJJ/EhpKfvQsLJJJ3.pKPhi1bTJJJJ.IPhpuClyJJJJ/EhpKfvMwLJJJ3.pKPhinqTJJJJ.IPh
puCkzJJJJ/EhpKfv..EsUa3feeWCNqGQIJ36wk8EwyLsUa3f................................
E....6E.F2E.....I....s....UG7FpLbtaOT7JNVl4IjRbHZR5RjtqLkE1.pw3Am...............
...................wz........E/E........kz1........wz.....................kixSRq
Tnrqx........U.E........................................kz1.....................
.....................2.....3....2....wZIjFLMoJ4N4x4PYZaPb/......................
4MU/...................................Mm.2........1.1.......UzD........6.YaNaNa
NaNiz0........zDqX0LD8QxUz1.....................................................
................................}
{Titel: NewtHybrid_1-1}


Mandelbulb3Dv18{
g.....m....K0...w....2....U.1z9vM6z..5iSIsuFV3/Eji0IzMpRZz9Wmy5/ymOlzkDnWm6yIxuD
................................YpuBuJM2tz1........A./..................u.2...wD
...Uz6...E/......I.0/....2UP....80....Ef......GnEEtcajpD/.......Cfe70dNaNs1.lJJp
zIEnAnID16../2U6CqQWjGStz8dCwzbbn8yjbghETluJYz1..........M.3.....y1...sD...../..
.z1...kDg4RMfLzfHxfbtl03P0tLzazdc/cQateD5KZsGYomGx1UPQQn.eqFzqJ8EoUnYrpD3UKut10L
NxfRoYWa.TuHzI5UV7QUYMpDUoAnAtHXw/.......2....sD.6....sD0.G.....................
.............oAnAt1...sD....zw1...................................kEWfzDT....k1.
.....83iyz1.......kzoxzzz1.G.Y3.t....k8...UH....w0UoCY0.Ei.1....2/...cX9..kFXN5I
...U.qFG9yDh7jyzGs0KzfSsT16.qAmzzXCc..EVjiO8eGyj6ocyFE0ujz1............2mwzFrA0.
.Ub96aAIVz9.1se7Umvxz0...........MH4zzDuU0..kndRjg/pz.EVjiO8eGyD............5Ylz
zXCc...8YqFpt/zj.qcyFE0ujz1..........EkBCsjWUd2..kQQJ5UFgz98xWaYpCqgz.EMmUsw70vj
0EE1zzzzzjc..0.........U..........6..........IJJJ/EhpKfveeGJJJ3.pKPhbHJJJJJJ.IPh
puBmxJJJJ/EhpKfvQsLJJJ3.pKPhi1bTJJJJ.IPhpuClyJJJJ/EhpKfvMwLJJJ3.pKPhinqTJJJJ.IPh
puCkzJJJJ/EhpKfv..EsUa3feeWCNqGQIJ36wk8EwyLsUa3f................................
E....6E.F2E.....I....s....UG7FpLbtaOT7JNVl4IjRbHZR5RjtqLkE1.pw3Am...............
...................wz........./E........kz1........wz.....................kixSRq
Tnrqx........U.E........................................kz1.....................
.....................2.....3....2....wZIjFLMoJ4N4x4PYZaPb/......................
4MU/...................................Mm.A........1.1........zD........6.YaNaNa
NaNiz0........zDqX0LD8QxUz1.....................................................
................................}
{Titel: NewtHybrid_1-2}

Offline Alef

  • *
  • Fractal Phenom
  • ****
  • Posts: 50
  • catalisator of fractals
    • My deviant art page
« Reply #10 on: April 10, 2018, 10:48:18 AM »
I think it's just right place. In old fractalforums new theories were place were new formulas were posted.

It looks great and are just like newton in 3D. But I think it is not so easy to get image maybe too mutch params. Most of end users are artists not programmers. Idealy the fractal could consist of just newton's "brides" going from the center but probably that is not possible. Anyway, last classical 2D fractal now is translated to 3D.

In Ultra Fractal among standar formulas there is newton based fractal called Nova by Paul Derbyshire. Maybe if it could be translated to 3D.
z = z -  (z*z*z-1) / (3*z*z) + #pixel

In triplex more easy would be
z = z - (z^3-1) * z^(-2)*0.3333333333 + c

or slightly different version in generalised form:
z= z- (z^N - z)/(N*z^(N-1)-1) + C


So maybe generalised form for the power of N:
z = z - (z^N-1) * z^(- (N-1) )* (1/N) + c

That would take two triplex risings in power and one quaternion multiplication. If you use 1/C instead of C you get cool moon. With this formula changed power just changes curves. More striked difficult and calculation heavy formula increases numbers of moons.

Have you tried newton fractal using quaternion rising in power? It will be faster and could generate something;)
catalisator of fractals

Offline pauldelbrot

  • *
  • Fractal Freak
  • **
  • Posts: 775
« Reply #11 on: April 10, 2018, 05:14:30 PM »
Has anyone tried implementing the alternate method? Take a set of points in 3D space (e.g., vertices of regular tetrahedron), calculate smooth symmetric field with these as zeros (product of distances of point to each vertex), then do slope gradient descent (point becomes point minus field(point)/gradient(point); field(point) is scalar while gradient(point) is vector, so the second quantity is a scalar-multiplied vector, 1/vector should probably be done as vector/length(vector)^2, i.e. the vector in the same direction with the reciprocal of the first vector's length -- there are no vector times vector multiplies, just scalar multiplies and vector sums, so this should generalize to any number of dimensions and might even behave conformally. It can even be Nova-ized by adding a + parameter_vector at the end. This should generalize the geometry of Newton's method to arbitrary numbers of dimensions.

Further variation: field is complex-valued, whole thing is done in four dimensions (two complex planes), and a 3D cross-section taken.

Offline gannjondal

  • *
  • Fractal Friend
  • **
  • Posts: 14
« Reply #12 on: April 17, 2018, 11:25:22 PM »
... But I think it is not so easy to get image maybe too mutch params. Most of end users are artists not programmers. Idealy the fractal could consist of just newton's "brides" going from the center but probably that is not possible ...

You are right, Alef, I tend to overload a formula with more and more parameters.
That may shock potential users.
I mean - it is NOT difficult to find the 'standard' Newton shape - it's just a Julia using the default params.
Anyway yes, it is a valid idea to have a simplified formula, and be it for psychological reasons. Plus a tutorial.

Regarding the 'just braids':
I wanted to use the mb3d's jit ( too lazy to learn Fragmentariun ;-) ) , and did not find a way in TPIteration3D to carry either the result of the previous iteration, or any other free variable along through several iterations (would be maybe difficult for hybrids tough).  Hence I could not implement a search for e.g. a diverging 1/|(t(n)-t(n-1))| which would allow to have pure braids. therefore my compromise / hack...
 
If you should find other ideas with your own JIT experiences -- please feel free ;-)
 
Anyway,  finally I'm quite surprised what possibilities my hack finally provided when using in hybrids. Hence I'm a bit happy tough :-)
 
 
In Ultra Fractal among standar formulas there is newton based fractal called Nova by Paul Derbyshire. Maybe if it could be translated to 3D.
z = z -  (z*z*z-1) / (3*z*z) + #pixel

In triplex more easy would be
z = z - (z^3-1) * z^(-2)*0.3333333333 + c

or slightly different version in generalised form:
z= z- (z^N - z)/(N*z^(N-1)-1) + C


So maybe generalised form for the power of N:
z = z - (z^N-1) * z^(- (N-1) )* (1/N) + c

That would take two triplex risings in power and one quaternion multiplication. If you use 1/C instead of C you get cool moon. With this formula changed power just changes curves. More striked difficult and calculation heavy formula increases numbers of moons.

Have you tried newton fractal using quaternion rising in power? It will be faster and could generate something;)

Variations, variations ... Yes, I would have many ideas too. Just: where to start ;-)

About your suggestions:
- Nova (and similar formulas that mix Newton braids with an overall Maldelbrot like meta structure) - You would probably need to re-think what is outside - a Newton solution, or / and the traditional Mandelbrot / -bulb inside?
   Maybe a switch between both options.... Oh, no, more parameters :D
- Quaternions - Neat idea. I would need to re-check the maths, but it should not be too difficult.
   The point is:  Just with extending the dimension alone don't change the 'boring' braid structure at all (ages ago I had tried that in UF with a kind of 6-dimensional numbers, and guess what - braids).
   Having higher dimensional numbers would mainly be a good base for tiny, but effectful mutations. But that's a completely other story.

I will see whether I will have the mood to implement other variations.
But do not hesitate to build own versions - if you still should like it to create JITs ;-)
 
 
Has anyone tried implementing the alternate method? Take a set of points in 3D space (e.g., vertices of regular tetrahedron), calculate smooth symmetric field with these as zeros (product of distances of point to each vertex), then do slope gradient descent (point becomes point minus field(point)/gradient(point); field(point) is scalar while gradient(point) is vector, so the second quantity is a scalar-multiplied vector, 1/vector should probably be done as vector/length(vector)^2, i.e. the vector in the same direction with the reciprocal of the first vector's length -- there are no vector times vector multiplies, just scalar multiplies and vector sums, so this should generalize to any number of dimensions and might even behave conformally. It can even be Nova-ized by adding a + parameter_vector at the end. This should generalize the geometry of Newton's method to arbitrary numbers of dimensions.

Further variation: field is complex-valued, whole thing is done in four dimensions (two complex planes), and a 3D cross-section taken.

That sounds as if it would exceed the possibilities of JIT by far.
And to be honest, for the moment I also would need to dig again deeper into theory to think about alternate methods ;-)
But maybe some programmer may check your ideas :-)

Offline gannjondal

  • *
  • Fractal Friend
  • **
  • Posts: 14
« Reply #13 on: May 15, 2018, 10:24:28 PM »
Last weekend I needed to sit in front to my PC waiting for something that never occured.
So I got bored somehow, and started to write some variants of my Newton formulas; some of them discussed above.

1.  A SIMPLIFIED version (JIT_gnj_RealPowNewtonS_1.m3f). It makes the formula much easier to use.
     Finally the most effects of the full-blown JIT_gnj_RealPowNewton_04.m3f can be -more or less- also reached using transforms (e.g. PreShift_x/y/z is completely equivalent to a _Translate transform before).
     But the main simplification comes by throwing away any first-iteration calculations. They are difficult to replace by pretransforms, but they make the params difficult to understand, and the calculations are problematic for some hybrids.
     You will not get the 'flat' Newton braids easily anymore, but the "bulb" type Newton pictures are more interesting, and MUCH better to be used in hybrids.
   
     The only remaining parameters are the Solution_x/y/z params (Default = 1/0/0), and FakeBailout (Default = 1).
     The latter one is a bit more advanced, but needed in some hybrids. -- USUALLY you can leave it at 1.
     It may be necessary to increase it if you must increase the overall 'R bailout' - and useful to decrease it careully if you think the surface of the fractal should be a bit more clean. See also the info section in the formula.

The params of below formulas are the same as for the above version, except #4 of course (due to 4D).

2.  A FAST version (JIT_gnj_Pow3Newton_01.m3f)
     The difference in calculation is the same as between the RealPower mandelbulbs and the IntegerPower mandelbulbs (sphere versus cartesian co-ordinates).
     The pictures are exactly the same as with JIT_gnj_RealPowNewtonS_1.m3f - just only for power 3 ( I was too lazy to implement higher powers, also because the results have not been too promising - feel free to fill that gap  :) )
     The formula is according my tests about 2 times as fast as the RealPow versions.

3.  A CORRECTED version (JIT_gnj_Pow3NewtonC_01.m3f)
     This is a test for you  :P - Did you have read my older formulas carefully?
     If yes you may have seen that I was lazy in all formulas before - I did NOT have calculated the solution for z+c=0 - I made just a kind a "component multiplication" of [c] * z⁻ .
     Matematically stupid; originally it was more a test, but the results have been sooo nice  ;)
     So now here an attempt to implement a multiplication of c.
     The pictures are similar (see one example attached), although the needed Julia values are different - the basic shape below has Julia params of (-1,0,0).
     I however believe that there is still a bug - If I increase the Julia value of z too much then I get cuts - If anyone of you should see something I would be happy.
 
4.  A SPECIAL EDITION made on multiple suggestion/request by Alef  :) - a QUATERNION version (JIT_gnj_QuatPow3Newton_01.m3f) for power = 3.
     You will find this formula at the tab 4D!
     The pictures are rather similar compared to the 3D versions except -surprise, surprise- a rotational symmetry for certain Julia values.
     The c multiplication is still the lazy "component" variant - I guess I will leave the task to implement a correct multiplication of c for you, Alef  ;)

     Params:
     - Solution_w/x/y/z - as before (mind that the param for the 4th component w is first, in JIT formulas the params must be defined alphabetically). Default = (0,1,0,0)
     - Fake_Bailout - see variant 1
     - W_add - Use this as Julia param for the 4th dimension

I have tried another 4D variant (using a 2x2 matrix of real numbers), but the result was too weird.

There are of course many more ideas, including some further discussed above, but they need to wait for later - or for anyone else who has the mood to write some more formulas.


Besides the few sample pictures I am attaching the file NewtonCollection-FF.zip which contains:
  • All above formulas
  • The full-blown formula JIT_gnj_RealPowNewton_04.m3f for completeness
  • The params of the attached sample pictures
  • The pdf version of a tutorial on how to make some insects out of the 3D Newton (I had this published at dA some weeks ago)
  • Sample params for that tutorial
  • A formatted documentation (also a pdf) of all parameters of JIT_gnj_RealPowNewton_04.m3f
Hence almost everything you need (the first article has additionally some older formula versions, and more -enhanced- sample parameters).

Have fun :-)



Offline mclarekin

  • *
  • Fractal Fluff
  • *****
  • Posts: 367
« Reply #14 on: July 23, 2018, 12:23:24 PM »
I have this Bookmarked, and will make a note at GitHub
it looks so good. The maths talk is above me, but the JITs i should be able to follow.  Oh man!! it is just finding the time.!!

BTW. Adding formulas and compliling  a standalone Mandelbulber in QT , has never been easier ;D

In hybrid mode we can now test all the combinations of DE method and DE function, to find which best suits the hybrid settings.  Also, this reconfiguartion allows me to easily add other DE functions.  Previously we could not use fast anaytic DE when hybridizing linear with logrthmic type formulas.


xx
Newton (gannjondal)

Started by Sabine62 on Fractal Image Gallery

0 Replies
50 Views
Last post August 15, 2018, 04:28:09 PM
by Sabine62
xx
Newton's Garden

Started by gannjondal on Fractal Image Gallery

4 Replies
202 Views
Last post April 17, 2018, 11:22:45 PM
by spain2points
xx
Newton-Raphson zooming

Started by gerrit on Fractal Mathematics And New Theories

57 Replies
1981 Views
Last post December 12, 2017, 05:42:52 AM
by gerrit
xx
Newton Folded - Towards Dragonflies

Started by gannjondal on Fractal Image Gallery

0 Replies
72 Views
Last post April 02, 2018, 06:30:55 PM
by gannjondal
clip
Neat variation of Newton's method

Started by Ebanflo on Share a fractal

1 Replies
210 Views
Last post April 17, 2018, 04:34:13 PM
by mrrudewords