Logo by Khaotik - 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 27, 2024, 06:48:32 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: 3D IFS and Hart's method  (Read 2585 times)
0 Members and 1 Guest are viewing this topic.
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« on: August 25, 2011, 10:47:40 PM »

This is by way of an apology for not recognising this optimisation previously and to actually point out the optimisation itself to those interested.

Hart's method using divergent transforms (i.e. inverses of the normal convergent ones) relies on intersecting a ray with the IFS attractor by performing a "full" IFS tree calculation but culling those branches where the viewing ray being tested is outside the bounds for that point in the tree. The method is fairly optimum even when using plain bounding spheres.
However normally and in the way I implemented it in Ultra Fractal each viewing ray is intersected with the IFS attractor using the viewpoint (or other point on the ray) and the normalised viewing direction vector of the ray *but* I just realised that there is a more optimum method to perform the intersection.
If for each pixel/viewing ray one transforms the base IFS transforms such that they are in a coordinate system such that the viewing ray is the x axis i.e. passes through (0,0,0) with viewing vector (1,0,0) then the intersection/bounding checks *at every step through the IFS tree* will be vastly more optimum greatly outweighing the measly 2n transforms of the n base transforms required to give the specific transforms for the particular pixel/ray.
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 #1 on: August 26, 2011, 05:20:33 AM »

Erm - I just realised that the optimisation requires more modification than I first thought - the advantage of the viewing ray being the x-axis is only maintained throughout if the intersections are performed between the fixed axis and the transformed bounding volumes - of course it actually makes more sense in "normal" 3D orientation to transform the IFS transforms such that they're in a space such that the viewing ray is the z-axis rather than the x.
i.e. the method requires that the bounding volumes are transformed rather than the viewing rays, in which case it's perhaps not as much more optimum as I thought and will depend on the number of IFS transforms involved and the complexity of the bounding volume definition - of course plain spherical bounds would be fairly simple to transform i.e. new centre and new radius.
Logged

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

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
Pages: [1]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Kaleidoscopis IFS - using Hart's method ? 3D Fractal Generation David Makin 11 2857 Last post September 07, 2010, 01:31:55 AM
by knighty
New method to discover 3d fractal formulas (new) Theories & Research Mrz00m 6 698 Last post February 24, 2012, 09:59:30 AM
by Mrz00m
Hart-tree Images Showcase (Rate My Fractal) phtolo 0 530 Last post April 11, 2014, 10:56:25 PM
by phtolo
Pixelation reduction method Mandelbulb 3d 1Bryan1 0 1899 Last post December 06, 2015, 05:24:22 AM
by 1Bryan1
Have you used the Interpolate method? Mandelbulb 3d 0Encrypted0 0 1679 Last post July 31, 2016, 06:05:21 AM
by 0Encrypted0

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