Logo by stereoman - 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: Visit the official fractalforums.com Youtube Channel
 
*
Welcome, Guest. Please login or register. April 16, 2024, 10:02:53 PM


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: Dual numbers for creating distance estimators  (Read 1351 times)
0 Members and 1 Guest are viewing this topic.
Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« on: December 10, 2011, 11:58:45 AM »

I made a test using dual numbers to find the (length of the) gradient of the escape distance for the Mandelbox.

Pros:
- The arbitrary epsilon (step distance) in the four-point Makin/Buddhi finite difference approach is avoided - which should give better numerical accuracy. It is also slightly faster computationally. Notice, most running scalar derivatives methods also use finite difference for finding the surface normal, which is not necessary using dual numbers.
- Very general - e.g. works for non-conformal cases, where running scalar derivatives fail.

Cons:
- Slower than scalar estimators
- Requires code changes (though there are nice libraries for languages supporting operator overloading)

The way I did it was to construct three dual vectors (for x,y,z directions), and use the rules for dual arithmetics. This way the gradient is found, and the DE can be constructed using the length of the gradient: DE = r/dr. It seems to be a very similar to having a running Jacobian, but I haven't checked it in details. In fact, the whole concept of a running derivative seems to be similar to keeping track of a dual number together with the real number.

Here is an image of a Mandelbox, where the scaling is done using different values for each axis - something which cannot be captured by a running scalar derivative:

I'll put out a blog post with more details, when I get some time.





* dual.jpg (149.43 KB, 900x498 - viewed 88 times.)
Logged
Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« Reply #1 on: December 14, 2011, 07:42:04 PM »

Here's a more complete description together with some sample code: http://blog.hvidtfeldts.net/index.php/2011/12/distance-estimated-3d-fractals-vii-dual-numbers/
Logged
eiffie
Guest
« Reply #2 on: December 14, 2011, 08:19:02 PM »

Excellent blog by the way!
Logged
Pages: [1]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Distance Estimators Comparison 3D Fractal Generation David Makin 0 2417 Last post October 24, 2009, 10:02:58 PM
by David Makin
Hyper-Dual Numbers General Discussion Aexion 9 5957 Last post October 06, 2011, 06:07:56 PM
by DarkBeam
Rendering 3D fractals without distance estimators 3D Fractal Generation « 1 2 ... 7 8 » Syntopia 117 26284 Last post January 16, 2014, 05:11:18 PM
by hobold
Wooscripter noisy distance estimators 3D Fractal Generation dom767 5 3229 Last post February 14, 2015, 03:47:34 PM
by dom767
Error estimation of distance estimators (Mandelbulb improvement found!) (new) Theories & Research mermelada 6 881 Last post July 28, 2017, 09:52:19 AM
by mclarekin

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.164 seconds with 24 queries. (Pretty URLs adds 0.011s, 2q)