Jesse
Download Section
Fractal Schemer
Posts: 1013
|
|
« Reply #60 on: February 08, 2010, 09:34:50 PM » |
|
In that case how are you calculating the DE ? My formula has 2 methods available - two versions of my own smoothed iterations method and a version of Buddhi's method using:
dist = scalefix*deltamin*magn1*log(magn1)/abs(magn1-magn)
Where magn1 and magn are the magnitudes at step and step+deltamin. This method essentially gives the same results as the smoothed iterations method.
Hmm, actually i am using also a method from Buddhi (thanks for that), using the 4 point method. I think this method just lowers the probability to get under the stop-threshold in that unsteady regions, a lower accuracy may have done the rest. A solution would be to change the calculation of magn to get smooth values again. Tglad had choosen his formula carefully to this "unsteadyness problem", i guess. So if we use one of the "bad math" formulas, we must take care of the folding and change Rold according to this special folding But there is still so much to discover in the working formula, dont know if this so urgent.
|
|
|
Logged
|
|
|
|
Tglad
Fractal Molossus
Posts: 703
|
|
« Reply #61 on: February 09, 2010, 12:43:31 AM » |
|
Yes, I would say that there are a lot of variations that don't tear space (have a step change), like rotating the space or offsetting it... and I suppose they are more steady. David, thanks for info on getting close to objects, if you're using ultra fractal here are the tricks: Set camera distance to small, like 1e-6. Place the camera by directly setting the target coords x,y,z. Note box's radius is about 6 Set the image plane distance to 0.05 and the front clip to a slightly smaller but negative number: -0.049, set the back clip to 10. In the location tab set the centre to 0,0 and magnification to 40, and keep them fixed (this means _don't_ use ctrl+mouse drag or shift+mouse drag on the view) Rotate the camera using the camera dir which is yaw clockwise, pitch upwards in degrees. Leave dolly scale at 3. Also I noticed that the occasional burnt/black areas in images are due to the ambient occlusion which you can turn off, not sure if that's a bug or just bad settings when I use it.
|
|
|
Logged
|
|
|
|
David Makin
|
|
« Reply #62 on: February 09, 2010, 04:25:52 AM » |
|
Also I noticed that the occasional burnt/black areas in images are due to the ambient occlusion which you can turn off, not sure if that's a bug or just bad settings when I use it.
The ambient occlusion method simply doesn't seem to work on the Mandelbox So it's definitely best to turn it off - and probably reduce the base ambient value from the default too.
|
|
|
Logged
|
|
|
|
David Makin
|
|
« Reply #63 on: February 09, 2010, 04:40:49 AM » |
|
Hmm, actually i am using also a method from Buddhi (thanks for that), using the 4 point method. I think this method just lowers the probability to get under the stop-threshold in that unsteady regions, a lower accuracy may have done the rest. A solution would be to change the calculation of magn to get smooth values again. Tglad had choosen his formula carefully to this "unsteadyness problem", i guess. So if we use one of the "bad math" formulas, we must take care of the folding and change Rold according to this special folding But there is still so much to discover in the working formula, dont know if this so urgent. Yes using Buddhi's full 4-point method would probably explain how your algorithm avoids the problem. I just tried adding "soilid only if iteration count > minimum value" *and* de<threshold - this seemed to fix the problem though I still have some issues to sort out - in particular I'm having a problem tracing to get the shadows. Also I decided that I'd try an extra stepping method to get solid at maxiter based on single point smooth iteration values using: Iteration distance estimate = @scale*(atan(1.0/smoothiteration) - atan(1.0/#maxiter))^@fudge For normal z^p+c formulas the correct value of @fudge appears to be approx. 1+3*log2(p).
|
|
|
Logged
|
|
|
|
Jesse
Download Section
Fractal Schemer
Posts: 1013
|
|
« Reply #64 on: February 09, 2010, 10:37:16 AM » |
|
Also I decided that I'd try an extra stepping method to get solid at maxiter based on single point smooth iteration values using:
Iteration distance estimate = @scale*(atan(1.0/smoothiteration) - atan(1.0/#maxiter))^@fudge
For normal z^p+c formulas the correct value of @fudge appears to be approx. 1+3*log2(p).
I still have to try out all the different DE methods, but one idea that i used with steps in smoothed Iterations: For example, when using the delta DE method and the estimated step is lower than StopThreshold, then calculate again with negated delta and if this value is much bigger you are on a step and have to use the bigger value.
|
|
|
Logged
|
|
|
|
David Makin
|
|
« Reply #65 on: February 09, 2010, 03:47:02 PM » |
|
Also I decided that I'd try an extra stepping method to get solid at maxiter based on single point smooth iteration values using:
Iteration distance estimate = @scale*(atan(1.0/smoothiteration) - atan(1.0/#maxiter))^@fudge
For normal z^p+c formulas the correct value of @fudge appears to be approx. 1+3*log2(p).
I still have to try out all the different DE methods, but one idea that i used with steps in smoothed Iterations: For example, when using the delta DE method and the estimated step is lower than StopThreshold, then calculate again with negated delta and if this value is much bigger you are on a step and have to use the bigger value. Very good idea ! Or check the DE value calculated from the values at step+delta and step+2*delta
|
|
|
Logged
|
|
|
|
Jesse
Download Section
Fractal Schemer
Posts: 1013
|
|
« Reply #66 on: February 09, 2010, 09:02:27 PM » |
|
Or simpler, if the steps are only on different non-smoothed iteration counts: Check these for equality and step one delta forward if not. I tried out your 1 point method but it was hard to find good values, fudge=1 gave some results on a testimage, but tiny changes of the stop threshold (because of FOV settings and depth) was leading to great changes in the DE. Higher fudge values seems to behave somewhat better, but i had to multiply the DE by 100 (fudge=2) or even more. Maybe i have done something wrong. Before i used the 4 point method, i had also a 1 point method based on smoothed iteration and maximum iteration only, but i dunno had lost this piece of code
|
|
|
Logged
|
|
|
|
Tglad
Fractal Molossus
Posts: 703
|
|
« Reply #67 on: February 10, 2010, 12:56:08 AM » |
|
David (or anyone who knows) do you know how I could try out a new colouring scheme? The scheme I would like to try is below, I think it might give more precise colouring. I can't see quite how to add this into the UF code though. Thanks for any help!
; initialise before iterating colourScale = 1 totalColour = black
; each iteration choose colour based on the choice of folds for that position int numOutside = 0 if x>1 || x<-1 numOutside = numOutside+1 endif if y>1 || y<-1 numOutside = numOutside+1 endif if z>1 || z<-1 numOutside = numOutside+1 endif if numOutside==3 colour = red elseif numOutside==2 colour = blue elseif numOutside==1 colour = green else float lengthSqr = MagnitudeSquared() if lengthSqr < minRadiusSqr colour = yellow elseif lengthSqr < fixedRadiusSqr colour = brown else colour = purple endif endif ; reduce the amount geometrically each iteration, so each point converges on an exact colour colourScale = colourScale*0.5 ; accumulate the colour so each iteration we mix in a small amount of the new colour totalColour = totalColour + colourScale*colour
|
|
« Last Edit: February 10, 2010, 12:58:31 AM by Tglad »
|
Logged
|
|
|
|
David Makin
|
|
« Reply #68 on: February 12, 2010, 01:05:52 AM » |
|
Hmm, actually i am using also a method from Buddhi (thanks for that), using the 4 point method. I think this method just lowers the probability to get under the stop-threshold in that unsteady regions, a lower accuracy may have done the rest. A solution would be to change the calculation of magn to get smooth values again. Tglad had choosen his formula carefully to this "unsteadyness problem", i guess. So if we use one of the "bad math" formulas, we must take care of the folding and change Rold according to this special folding But there is still so much to discover in the working formula, dont know if this so urgent. Yes using Buddhi's full 4-point method would probably explain how your algorithm avoids the problem. I just tried adding "soilid only if iteration count > minimum value" *and* de<threshold - this seemed to fix the problem though I still have some issues to sort out - in particular I'm having a problem tracing to get the shadows. Also I decided that I'd try an extra stepping method to get solid at maxiter based on single point smooth iteration values using: Iteration distance estimate = @scale*(atan(1.0/smoothiteration) - atan(1.0/#maxiter))^@fudge For normal z^p+c formulas the correct value of @fudge appears to be approx. 1+3*log2(p). Much better method for using single-point smooth iteration for the DE: Iteration distance estimate = @scale*(atan(1.0/log(1+smoothiteration)) - atan(1.0/log(1+#maxiter)))^@fudge I haven't finished investigating the correct values for @scale and @fudge yet but using 4 for @fudge looks pretty good on z^2+c
|
|
|
Logged
|
|
|
|
|
David Makin
|
|
« Reply #70 on: February 12, 2010, 04:36:41 AM » |
|
David (or anyone who knows) do you know how I could try out a new colouring scheme? The scheme I would like to try is below, I think it might give more precise colouring. I can't see quite how to add this into the UF code though. Thanks for any help!
Nice idea - it's basically the same as a colouring method often implimented for escape-time IFS, I'll see if I can get it added in an update this weekend
|
|
|
Logged
|
|
|
|
Timeroot
|
|
« Reply #71 on: February 12, 2010, 04:43:27 AM » |
|
Could you by any chance give a upr? I'm getting loads of noise... more than I prefer...
|
|
|
Logged
|
Someday, man will understand primary theory; how every aspect of our universe has come about. Then we will describe all of physics, build a complete understanding of genetic engineering, catalog all planets, and find intelligent life. And then we'll just puzzle over fractals for eternity.
|
|
|
David Makin
|
|
« Reply #72 on: February 12, 2010, 04:49:47 AM » |
|
Could you by any chance give a upr? I'm getting loads of noise... more than I prefer...
MMF-AmongstTheAsteroids { ; Copyright © 2010 by David Makin. ::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 }
|
|
|
Logged
|
|
|
|
David Makin
|
|
« Reply #73 on: February 12, 2010, 04:51:23 AM » |
|
Could you by any chance give a upr? I'm getting loads of noise... more than I prefer...
I should have added that when using the "negation" options on the Mandelbox then you should usually enable "Double check for solid" in the Render settings section.
|
|
|
Logged
|
|
|
|
David Makin
|
|
« Reply #74 on: February 12, 2010, 09:55:59 PM » |
|
For anyone having problems getting a decent render of the default Mandelbox using my UF formula - you should note that the default Mandelbox is approximately a cube centred at the origin with sides of length around 12 units i.e. it is considerably larger than the default viewing settings are set for. So from the default to view the Mandelbox change the "Camera distance" to 11 and the "Back clip" to 23 and you will get a better view. Also because of the difference in scale to the Mandelbulbs, change the "Solid Threshold" to say 1e-2 instead of 1e-3.
|
|
|
Logged
|
|
|
|
|