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: Support us via Flattr FLATTR Link
 
*
Welcome, Guest. Please login or register. April 26, 2024, 12:54:46 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 ... 17 18 [19] 20 21 ... 24   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: *Continued* SuperFractalThing: Arbitrary precision mandelbrot set rendering in Java.  (Read 51021 times)
0 Members and 2 Guests are viewing this topic.
Kalles Fraktaler
Fractal Senior
******
Posts: 1458



kallesfraktaler
WWW
« Reply #270 on: September 02, 2016, 11:12:55 AM »

I'm not sure I understand your question. The whole thing is about having a guaranteed number of skipped iterations as to not have any deformation and that, over the whole rendered area. This guaranteed number will be always less or equal to the max skippable iteration number that is possible -without getting any deformation-.

That said, there is still some work to do in order to finish the test part.


What I meant is what I described here http://www.fractalforums.com/index.php?topic=23279.msg95636#msg95636
If your method guarantees the number of skippable iterations at radius of the distance from the reference, it may be distortions closer to the reference.
But if your method guarantees the whole area, then that is awesome smiley

I have attached TheRedShifter's "light years away" location if you want to test it

* light years away.kfr (2.05 KB - downloaded 90 times.)
Logged

Want to create DEEP Mandelbrot fractals 100 times faster than the commercial programs, for FREE? One hour or one minute? Three months or one day? Try Kalles Fraktaler http://www.chillheimer.de/kallesfraktaler
http://www.facebook.com/kallesfraktaler
mclarekin
Fractal Senior
******
Posts: 1739



« Reply #271 on: September 02, 2016, 12:26:53 PM »

@ quaz0r


* Quaz0r Tales.jpg (176.03 KB, 1160x931 - viewed 592 times.)
Logged
knighty
Fractal Iambus
***
Posts: 819


« Reply #272 on: September 02, 2016, 09:39:37 PM »

What I meant is what I described here http://www.fractalforums.com/index.php?topic=23279.msg95636#msg95636
If your method guarantees the number of skippable iterations at radius of the distance from the reference, it may be distortions closer to the reference.
But if your method guarantees the whole area, then that is awesome smiley
We are not there yet. Almost... There are still some problems with the test. Even if it works I still have some doubts. Not that easy math and not that easy to guarantee. Last 100m to the finish are the most difficult. smiley

I have attached TheRedShifter's "light years away" location if you want to test it
Thank you for the location I'll try it ASAP (that is in two or three days).

<Quoted Image Removed>

im still not sure about this part..  when k=2m, for instance say m=3 and k=6, we get k-m=3 and <Quoted Image Removed>=2.  ive never seen <Quoted Image Removed> start higher and go lower.  was that your intention?
If it starts higher than the end value, don't do anything. It is just like:
Code:
for ( int i=10; i<=9; i++) printf("some thing");
This will not write anything.
Logged
stardust4ever
Fractal Bachius
*
Posts: 513



« Reply #273 on: September 03, 2016, 09:24:50 AM »

@ quaz0r
A cartoon. Now that is something I can relate to! afro
Logged
quaz0r
Fractal Molossus
**
Posts: 652



« Reply #274 on: September 03, 2016, 10:39:45 AM »

just as a personal exercise to help myself visualize how i might want to write the code for this, i rewrote knighty's formula sans the n superscripting and with zero-based indexing (let M=m-1 and K=M+k):

R = \sum_{k=0}^M |t_{max}|^k \left | \left ( 2 \sum_{i=k}^{\left \lfloor \frac{K-1}{2} \right \rfloor} a_i a_{K-i} \right ) +\left ( (a_{\frac{K}{2}})^2 \:if\:K\:even\right ) \right | + 2 R\left [ |z| + \sum_{i=0}^M |a_i| |t_{max}|^{i+1} \right ] + R^2 |t_{max}|^{m+1}

Quote from: stardust4ever
A cartoon. Now that is something I can relate to!
hear, hear  smiley  this stuff makes my eyes glaze over for real   snore
« Last Edit: September 03, 2016, 10:50:08 AM by quaz0r » Logged
quaz0r
Fractal Molossus
**
Posts: 652



« Reply #275 on: September 04, 2016, 11:04:30 AM »

ive implemented the latest formulas for arbitrary number of terms and have been playing around with it.  as it is it goes too far very often.  ive played around with increasing tmax by an arbitrary factor like claude, but it doesnt seem to be a proper solution.  increasing by a factor of 4 like he mentioned gets his test location to render properly, but still fails in further testing.  one thing ive noticed is that renders are less correct with a smaller number of terms and get more correct as i increase the number of terms.  for instance, 8 terms is usually not very good, 16 is pretty close, and more than 16 seems pretty good. (even though more terms is indeed skipping more and getting pretty close to the min iter)

i still wonder if the max minus the rest part needs a more complex solution.

since this part was described as the derivative of the series approximation, i wondered if maybe utilizing the series approximation of the derivative here would make any sense (from claude's DE stuff)?  im of course just blindly tinkering around, but some of my tinkering kinda works, gets pretty far without overskipping but probably not far enough...

...after more tinkering, it looks like using the SA of the derivative with

max_{k}(\left |a_{k} \right | \left |t_{max} \right |^{k}) - \sum_{i=1 | i\neq k}^{m} \left |a_{i} \right | \left |t_{max} \right |^{i}

yields the exact same results as using the main SA with knighty's original formula of

max_{k}(k \left |a_{k} \right | \left |t_{max} \right |^{k-1}) - \sum_{i=1 | i\neq k}^{m} i \left |a_{i} \right | \left |t_{max} \right |^{i-1}

...after yet more tinkering, it seems that adjusting deltaT is yielding more consistent results than adjusting tmax.  leaving tmax alone and multiplying deltaT by 1e-16 seems to make things behave a lot more sanely at the test locations ive been using including claudes, rendering them all correctly regardless of number of terms, so that is a good improvement, though im trying another location now at another deep minibrot which is only rendering correctly if i shrink deltaT by an even larger amount...  since deltaT is used solely with the SA derivative stuff, maybe this just brings me full circle again back to indicating that the SA derivative stuff with the max minus the rest condition is ultimately what needs a better solution?
« Last Edit: September 05, 2016, 02:45:21 AM by quaz0r » Logged
claude
Fractal Bachius
*
Posts: 563



WWW
« Reply #276 on: September 04, 2016, 12:51:08 PM »

Attached code should fix the tmax issue of my previous uploads.  There remains to do the implementation of optimal primary reference point location, currently the center of the image is used.

* mandelbrot-series-approximation-v5.cpp.txt (13.7 KB - downloaded 227 times.)
Logged
quaz0r
Fractal Molossus
**
Posts: 652



« Reply #277 on: September 05, 2016, 12:09:14 PM »

after experimenting with various combinations of things for the test condition and testing them on an assortment of test locations, i have what feels like a winner:  instead of max minus the rest, max divided by the second max, times the third max, divided by the fourth max, etc.  if you do just max divided by second max, you skip a reasonable amount, then the further you go multiplying and dividing more terms the value is further refined and you skip a little more.  the amount skipped seems fairly conservative, but it gets fairly close and most of all it appears to be very consistent.  no matter what i adjusted or tinkered with, i could not get consistently error-free behavior from max minus the rest, across a wider range of test locations.

noting that i am currently not applying any adjustments to tmax or deltaT.  perhaps these could very well stand to be adjusted still, though you would be adjusting to make it skip more instead of less.

also of note with regard to my last post, ive reverted back to knighty's original SA derivative thing.  my experiment with using claude's derivative SA there seems to not be exactly the same after all   angel  or i just wasnt using it right..

update:  running some tests on adjusting deltaT reaffirms my thoughts on the approach of adjusting things by some constant factor:  it just cant be a proper solution.  sometimes adjusting by a certain amount helps without going too far, and sometimes it is too much.

update 2:  using tmax instead of deltaT appears to get closer without being too much.
« Last Edit: September 05, 2016, 01:16:28 PM by quaz0r » Logged
claude
Fractal Bachius
*
Posts: 563



WWW
« Reply #278 on: September 05, 2016, 12:57:10 PM »

also of note with regard to my last post, ive reverted back to knighty's original SA derivative thing.  my experiment with using claude's derivative SA there seems to not be exactly the same after all   angel  or i just wasnt using it right..

I think I posted the series approximation recurrence for the derivative dz/dc, while knighty's method uses the derivative of the series approximation dSA/ddeltac - these aren't the same thing!  Sorry if I confused things.
Logged
quaz0r
Fractal Molossus
**
Posts: 652



« Reply #279 on: September 05, 2016, 12:59:24 PM »

oh,  no confusion from any of your information.  i just like to tinker and try random crap and see what happens even if i dont know what im doing.  a while back i implemented DE for SA/perturbation using your information, good work!  smiley
Logged
quaz0r
Fractal Molossus
**
Posts: 652



« Reply #280 on: September 05, 2016, 03:18:01 PM »

after more tinkering  angel  ive arrived at using max divided by min.  works better than anything else ive tried so far and much simpler.  i keep trying to think of different ways of incorporating all the terms but it keeps either not making a difference or making too big of a difference.

the product of the largest two divided by the product of the smallest two seems to get really far.  though trying the product of the larger half of terms divided by the product of the smaller half of terms goes too far.
« Last Edit: September 05, 2016, 04:31:36 PM by quaz0r » Logged
knighty
Fractal Iambus
***
Posts: 819


« Reply #281 on: September 05, 2016, 06:04:10 PM »

Hi,

@Kalles fraktaler:
In that location I'm getting, at 64 SA terms, 282752 skipped iterations. This is quite low and the rendering was slow. The picture using DE colouring is too dark. I'll try to do another picture with "classic" colouring in order to do a fair comparison. But with 282752 skipped iterations there is no chance to get errors.
I also had to do some modifications to claude's program, a scaled SA coefficients, in order to go that deep and use more terms without getting overflows.

@quazor:
I haven't yet tried to implement my version of residual estimation formula. It's on my todo list.  embarrass


* lya-3-e-140-m64-01.jpg (114.38 KB, 640x360 - viewed 156 times.)
Logged
knighty
Fractal Iambus
***
Posts: 819


« Reply #282 on: September 05, 2016, 06:07:15 PM »

Forgot the code.

* mb05.cpp.txt (16.2 KB - downloaded 84 times.)
Logged
stardust4ever
Fractal Bachius
*
Posts: 513



« Reply #283 on: September 05, 2016, 10:38:00 PM »

Hi,

@Kalles fraktaler:
In that location I'm getting, at 64 SA terms, 282752 skipped iterations. This is quite low and the rendering was slow. The picture using DE colouring is too dark. I'll try to do another picture with "classic" colouring in order to do a fair comparison. But with 282752 skipped iterations there is no chance to get errors.
I also had to do some modifications to claude's program, a scaled SA coefficients, in order to go that deep and use more terms without getting overflows.

@quazor:
I haven't yet tried to implement my version of residual estimation formula. It's on my todo list.  embarrass

How are you guys doing the distance estimation screenshots? They are quite stunning and beautiful! smiley
Logged
quaz0r
Fractal Molossus
**
Posts: 652



« Reply #284 on: September 06, 2016, 08:52:41 AM »

Quote from: knighty
In that location I'm getting, at 64 SA terms, 282752 skipped iterations.
just to verify i am on the same page as you guys, testing this location with your previously suggested stop condition of max minus the rest, i too stop at 282752 with 64 terms.  using the stop condition i mentioned of max times second max divided by min times second min, 64 terms stops at 296459.  the min iter is in the neighborhood of 313000.

one thing to keep in mind with all of this is i think KF and MM (and whatever else) users have been spoiled with overskipping.  also i think the errors introduced by overskipping are subtle at first, noticeable some times more than others, and overall we would be wise to not let the behaviors of the old janky stop conditions influence us too much.  it would be easy to say "if i skip a few more at this location, i dont notice any difference!" while there may in fact be some degree of error, and using the stop condition that gets you that far will likely cause more noticeable errors somewhere else down the line.  it would be easy to say "oh look, these old janky stop conditions skip N amount, but im not skipping that many, I need to recalibrate something!"  NOT necessarily i say   wink

Quote from: knighty
I haven't yet tried to implement my version of residual estimation formula. It's on my todo list.

max minus the rest seems to overskip on some locations (for example, claude's location) and underskip on others (for example, this redshifter location).  my experiments with multiplying and dividing seem to be yielding better more consistent results so far..
« Last Edit: September 06, 2016, 10:34:54 AM by quaz0r » Logged
Pages: 1 ... 17 18 [19] 20 21 ... 24   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Java applet for exploring the Mandelbrot set Announcements & News Paton 5 7144 Last post March 26, 2007, 06:03:34 PM
by Paton
What range/precision for fractional escape counts for Mandelbrot/Julia sets? Programming Duncan C 7 11209 Last post May 01, 2007, 08:23:13 PM
by Duncan C
Java Mandelbrot segment Help & Support fractalwizz 10 2048 Last post December 29, 2008, 08:01:24 PM
by cKleinhuis
[Java] Double-double library for 128-bit precision. Programming Zom-B 10 17374 Last post December 20, 2010, 04:03:48 AM
by David Makin
SuperFractalThing: Arbitrary precision mandelbrot set rendering in Java. Announcements & News « 1 2 ... 16 17 » mrflay 252 102979 Last post August 17, 2016, 11:59:31 PM
by cKleinhuis

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