Logo by Mahmut - 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: Did you know ? you can use LaTex inside Postings on fractalforums.com!
 
*
Welcome, Guest. Please login or register. March 28, 2024, 02:08: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 2 3 [4] 5 6 ... 9   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: Fragmentarium - an IDE for exploring 3D fractals and other systems on the GPU.  (Read 51003 times)
0 Members and 1 Guest are viewing this topic.
Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« Reply #45 on: September 12, 2011, 04:35:53 PM »

Fragmentarium uses an analytical distance estimator approach, so you need to (1) find analytical DE's for each "subformula" and (2) combine them. If the analytical DE's are of the same form (say DE=r*ln(r)/dr, with 'dr' being the length of a running (scalar) derivate), step (2) is straight-forward - otherwise it is more complicated (I don't know how to do it in a generic manner).

As an alternative, I have some example Fragmentarium code showing how to work with the numerical gradient approximation (the Makin/Buddhi four-point "delta" DE). This is the methods used by M3D and Mandelbulber for hybrid systems. It is slower and seems to be more prone to noise, perhaps because of the single-precision calculations used on the GPU. I'll put an example in the next Fragmentarium update.

So, all in all it is not easy :-)
Logged
visual.bermarte
Fractal Fertilizer
*****
Posts: 355



« Reply #46 on: October 08, 2011, 06:47:28 AM »

test::slice your bulb (fast)! * wink

* and see the guts! tongue stuck out
>fragmentarium 0.8

* Mandelbulb_complement.zip (2.35 KB - downloaded 162 times.)
« Last Edit: October 08, 2011, 06:51:27 AM by visual, Reason: fragmentarium 0.8 » Logged
Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« Reply #47 on: October 08, 2011, 12:03:11 PM »

Uh, very interesting! How did you manage that, Visual? Ordinary slicing results in a Mandelbulb that is filled inside.
Logged
visual.bermarte
Fractal Fertilizer
*****
Posts: 355



« Reply #48 on: October 08, 2011, 02:50:36 PM »

this time there's the frag. attached smiley it's just a de-combination using the 'old' max-operator  embarrass
Logged
knighty
Fractal Iambus
***
Posts: 819


« Reply #49 on: October 08, 2011, 03:05:58 PM »

It looks like scalar derivative based DE with (very?) small DE factor (and small iteration number?). This is a wild gess based on the "wall" visible inside the main bulbs in visual's picture. Scalar derivative based DE have the nice property that it is someway usable especially when iteration number is low but it is far from being perfect.
Logged
knighty
Fractal Iambus
***
Posts: 819


« Reply #50 on: October 08, 2011, 03:07:07 PM »

visual was faster! grin
Logged
Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« Reply #51 on: October 08, 2011, 06:38:04 PM »

Oh, you simply use the standard "DE=0.5*log(r)*r/dr" as a signed distance measure!

I had no idea that formula could be used as an interior estimate - I always assumed it would be pure noise - after all the analytical distance estimates are much more complex for the interior distances.

I'm still puzzled it works - if I take a look at the Mandelbrot DE using the standard formula, it has spikes (increasing with the number of iterations) where the DE goes towards -infinity.


* interior.jpg (49.61 KB, 700x436 - viewed 349 times.)
Logged
knighty
Fractal Iambus
***
Posts: 819


« Reply #52 on: October 09, 2011, 10:30:10 AM »

Syntopia: you are not using a scalar derivative there.  smiley
The scalar derivative for the mandelbrot set is the same as for the mandelbulb. Use dr=2*r*dr+1; where r=sqrt(x²+y²); instead of dz=2*z*dz+1 then taking its norm.

If you vary the iteration number the DE will change periodically. This is related to the pariodicity of the iterate. Maybe it's possible to use a DE based on the first and second deriatives instead.
« Last Edit: October 09, 2011, 10:56:21 AM by knighty, Reason: +1 » Logged
Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« Reply #53 on: October 09, 2011, 11:46:20 AM »

Syntopia: you are not using a scalar derivative there.  smiley
The scalar derivative for the mandelbrot set is the same as for the mandelbulb. Use dr=2*r*dr+1; where r=sqrt(x²+y²); instead of dz=2*z*dz+1 then taking its norm.

If you vary the iteration number the DE will change periodically. This is related to the pariodicity of the iterate. Maybe it's possible to use a DE based on the first and second deriatives instead.

Well, I did try both the scalar and the complex DE, and the scalar thing was much worse, going toward infinity nearly everywhere :-(

But looking at your formula, I realise it is because I used the Julia running derivative 'dr=2*r*dr' without the '+1' term. (This seems to be an old error in many of my examples).

Here is some better pictures (with and without the plus one).

As you say, it is very sensitive to even small changes in iteration count inside.


* No-plus-one-scalar.jpg (45.04 KB, 800x498 - viewed 310 times.)

* plus-one-scalar.jpg (49.46 KB, 800x498 - viewed 309 times.)
Logged
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #54 on: October 09, 2011, 12:16:51 PM »

Creamy mandel cheesy want to take a bit angel
Logged

No sweat, guardian of wisdom!
knighty
Fractal Iambus
***
Posts: 819


« Reply #55 on: October 09, 2011, 12:27:22 PM »

Yes, they taste good. Humm! grin

Here is a little experiment with scalar first and second derivative. It doesn't mean it is a DE though... maybe...

note that it converges uniformly inside.


* mandelscalarderivatives.JPG (54.33 KB, 696x507 - viewed 359 times.)
« Last Edit: October 09, 2011, 12:31:46 PM by knighty » Logged
Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« Reply #56 on: October 09, 2011, 09:51:21 PM »

Yes, they taste good. Humm! grin

Here is a little experiment with scalar first and second derivative. It doesn't mean it is a DE though... maybe...

note that it converges uniformly inside.

You are using dr/ddr as distance estimate? I'm not sure I can follow why this should work?

It seems to overshoot near (0.0). I believe the two largest spikes should have roughly same size.

Here is a 3D picture with some iso-contours:


* scalar-dev.jpg (98.47 KB, 1000x622 - viewed 308 times.)
Logged
cbuchner1
Fractal Phenom
******
Posts: 443


« Reply #57 on: October 09, 2011, 10:49:53 PM »

Nice, that ISO fractal looks interesting.
Logged
knighty
Fractal Iambus
***
Posts: 819


« Reply #58 on: October 09, 2011, 10:53:04 PM »

No, I'm not using dr/ddr as DE, just suggesting it looks a little like DE (beside it's poor behaviour near the cusp of the main cardioid). I've forgotten to mention that to get even coloring i used (dr/ddr)^0.3 instead (that part of the code is not visible in the picture). The exponentiation straightens it (near the borders) and makes it look more like a cone (and round at the top... I don't know just have worked it in 2D) than a witch hat  cheesy.

nice renders btw.
« Last Edit: October 09, 2011, 11:00:02 PM by knighty » Logged
knighty
Fractal Iambus
***
Posts: 819


« Reply #59 on: October 09, 2011, 11:03:40 PM »

Why it's (somehow) close to be DE? well... I really don't know. undecided
Logged
Pages: 1 2 3 [4] 5 6 ... 9   Go Down
  Print  
 
Jump to:  


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.21 seconds with 25 queries. (Pretty URLs adds 0.017s, 2q)