Logo by mauxuam - 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. April 18, 2024, 08:35:15 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: Analytical DE seems to be difficult to pinpoint due to oscillations  (Read 3708 times)
0 Members and 1 Guest are viewing this topic.
mrrgu
Guest
« on: January 10, 2010, 11:08:49 PM »

Hi

I wrote a new renderer that shows the process during rendering.. and I found that the analytical DE sometimes do not converge at all it simply oscillates. I think this is at the core of the problem of overestimating the distance.

The oscillation seem to be then DE overshoots to negative values it then steps back to the positive side and overshoots to negative again. This is no matter how many iterations you do in the DE estimate, it helps adding more iterations though.

I added a detection that checks if the previous step was negative and the current one positive..thus it must have overshoot and come back. If this is the case I added a reduction factor to the step with the factor initially set to 1.0. Every time oscillation is detected (for the same ray) I set reduction*=0.998

I think this causes convergence to the right spot since even though DE overshoots its sign correctly say if I you are  infront of or behind the mandelbulb surface..

See this video of the mandelbrot generated with special case of the mandelbulb equation and the ordinary DE.
The fluctuating area that lasts a long time is oscillating DE (I could make it converge faster..but that would ruin the illustration!)

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


DE can bcome negative then |Z| is less than 1.0, for instance log(0.5) = -0.30..
dist= 0.5*|Z|*log(|Z|)/|DZ|

« Last Edit: January 10, 2010, 11:20:05 PM by mrrgu » Logged
mrrgu
Guest
« Reply #1 on: January 11, 2010, 12:01:12 AM »

To show I really use mandelbulb equations I add this (slowed it down on purpose to show rendering progress)

<a href="http://www.youtube.com/v/DM7umOWJD9g&rel=1&fs=1&hd=1" target="_blank">http://www.youtube.com/v/DM7umOWJD9g&rel=1&fs=1&hd=1</a>
Logged
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #2 on: January 11, 2010, 12:46:55 AM »

Your results are correct and symptomatic of the misuse of DE.

The DE method you are using is *only* valid "outside" so if you hit maximum iterations then you should step backwards to find the exact boundary and *not* try and use the DE value from that position.

Note that there are some posts on the "Mandeliers", these are artefacts produced by incorrectly using the outide DE algorithm "inside".
Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
mrrgu
Guest
« Reply #3 on: January 11, 2010, 02:51:26 PM »

I agree, but still the oscillation converges to a very good value if properly motivated.

And I wonder how good that value is?

I have seen people talking about overstepping before..
But I argue that it is an oscillation that steps back if you iterate one more step..

If this is true, You do not need to force a step back to get a better value!!..

You only need to have a factor for each ray that scale the steps, and reduce said factor
every time oscillation occurs.

Of course if it does not step back again for every case of overstepping then I am wrong..

Did not Mandeliers have large holes in them ?
« Last Edit: January 11, 2010, 03:06:19 PM by mrrgu » Logged
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #4 on: January 11, 2010, 03:41:35 PM »

This DE value is only accurate for the infinite attractor i.e. only "outside" so although you can get negative values from "inside" they will not be the correct magnitude for stepping and you can also get positive values for "inside" points which effectively say that you haven't reached the solid threshold when in fact you've already passed it.
Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
mrrgu
Guest
« Reply #5 on: January 11, 2010, 03:47:01 PM »

You missed my point I only relied on the sign of DE to be correct(not the size!) then oscillations starts.

And used oscillations detection to drive the convergence.

But if inside points can be positive it will fail..  sad

I thought I had found something that could simplify things.
« Last Edit: January 11, 2010, 04:17:45 PM by mrrgu » Logged
mrrgu
Guest
« Reply #6 on: January 11, 2010, 06:05:04 PM »

I realized that above method counts on the sign of the distance to be right relative to the starting point of each estimation..

Thus that it tries to go in the right direction... as long as this holds the method will converge to the right surface..

Even though distance can be both pos and neg inside and has the wrong magnitude.

Remains to be proven though  grin
« Last Edit: January 11, 2010, 06:06:41 PM by mrrgu » Logged
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #7 on: January 12, 2010, 02:13:31 AM »

I realized that above method counts on the sign of the distance to be right relative to the starting point of each estimation..

Thus that it tries to go in the right direction... as long as this holds the method will converge to the right surface..

Even though distance can be both pos and neg inside and has the wrong magnitude.

Remains to be proven though  grin

The distance returned using the "outside" analytical DE will always be positive for an "outside" point and the distance value it gives is omni-directional i.e. it gives an estimated minimum distance to the "inside" in *any* direction from the given point, theoretically the actual inside should never be nearer than the value calculated but in practice you have to allow for some inaccuracy - mainly due to the fact that you haven't actually performed an infinite number of iterations smiley
Using higher bailouts and allowing higher maximum iteration values will make the DE more accurate at some speed cost.

As to an inside point producing a positive value, this is bound to happen where (one or more values of) the attractor of the inside point has a magnitude >1 which of course is true for some points in the Mandelbrot Set.
« Last Edit: January 12, 2010, 02:17:49 AM by David Makin » Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #8 on: January 12, 2010, 02:18:45 AM »

I should add that the "delta DE" methods are directional unlike the analytical method.
Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
mrrgu
Guest
« Reply #9 on: January 12, 2010, 07:56:49 PM »

Ohh BLAST! You are right it gives closest distance in all directions!

And then it comes close it might get distance to a side point instead.. I did not think about that!!
That could explain oscillations too..

Thanks!
Logged
Pages: [1]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Relationship between bailout and accuracy of analytical DE Programming David Makin 1 6680 Last post April 08, 2010, 02:56:03 AM
by reesej2
Color Start / End difficult to control in v1.7, even harder in v1.8 bug reporting brandpeter 4 1545 Last post March 01, 2013, 11:20:23 PM
by brandpeter
analytical hilbert curve for camera path Mathematics cKleinhuis 0 2888 Last post July 02, 2015, 05:49:05 PM
by cKleinhuis
inigo quilez - the main bulb of the Mandelbrot set (analytical) Fractal News across the World cKleinhuis 2 1155 Last post April 30, 2016, 03:19:04 AM
by eiffie

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.203 seconds with 29 queries. (Pretty URLs adds 0.009s, 2q)