After Jos Leys tests using analytical DE on the zero seed Julia I thought I'd try investigation of analytical DE values on a quaternionic Mandelbrot.
I quickly found that indeed the "0.5" is correct which means that the actual DE values in my wip formula for Ultra Fractal are 2* bigger than they should be - though my step distances are OK since the default is the DE divided by two
This of course results in a given DE threshold taking us to a point twice as close to "inside" as the specified threshold distance.
Here are the test results I did using the correctly scaled DE value.
These tests were carried out @640*480 with a magnification of 1.6 and a bailout of x^2+y^2>=1024.
Note that in the text below "worst" means "largest" rather than "most incorrect".
Quaternion z^2+c side view in parallel projection
DE Threshold 1e-6
Worst cases for entire fractal
"True" -> calculated
1.0 -> 0.828693280840216
0.1 -> 0.0756111410237615
0.01 -> 0.00826817743483479
1e-3 -> 0.00623750530621662
1e-4 -> 0.00616464060211196
1e-5 -> 0.00593556668345077
Quaternion z^2+c side view in parallel projection
DE Threshold 1e-6
Average cases for entire fractal
"True" -> calculated
1.0 -> 0.470217800965237
0.1 -> 0.0277512230487669
0.01 -> 0.0027385391736115
1e-3 -> 0.000537393167849202
1e-4 -> 0.000298006036418662
1e-5 -> 0.000183765097401958
Quaternion z^2+c pointed end view in parallel projection
DE Threshold 1e-6
Worst cases for entire fractal
"True" -> calculated
1.0 -> 0.97783685049528
0.1 -> 0.0971841767897501
0.01 -> 0.0099424008139091
1e-3 -> 0.00291127344517454
1e-4 -> 0.0028424928302291
1e-5 -> 0.00283555485322532
Quaternion z^2+c pointed end view in parallel projection
DE Threshold 1e-6
Average cases for entire fractal
"True" -> calculated
1.0 -> 0.268576868120558
0.1 -> 0.0330877709877468
0.01 -> 0.00333153377206449
1e-3 -> 0.000601747860965648
1e-4 -> 0.000318767428809674
1e-5 -> 0.000195952986975526
Quaternion z^2+c pointed end view in parallel projection
DE Threshold 1e-6
Values for the centre ray (i.e. hitting the point on the real axis)
"True" -> calculated
1.0 -> 0.97783685049528
0.1 -> 0.0971841767897501
0.01 -> 0.0099424008139091
1e-3 -> 0.000999129722927703
1e-4 -> 0.00010003123154646
1e-5 -> 9.99071625909761E-006
Quaternion z^2+c side view in parallel projection
DE Threshold 1e-16
Worst cases for entire fractal
"True" -> calculated
1.0 -> 0.828694191861107
0.1 -> 0.0756118350632922
0.01 -> 0.00826812262793161
1e-3 -> 0.00623734563239439
1e-4 -> 0.00616447654586974
1e-5 -> 0.00593548110247801
1e-6 -> 0.002967740551239
1e-7 -> 0.0014838702756195
1e-8 -> 0.000741935137809751
1e-9 -> 0.000370967568904876
1e-10 -> 0.000185483784452438
1e-11 -> 9.27418922262189E-005
1e-12 -> 4.63709461131094E-005
Quaternion z^2+c side view in parallel projection
DE Threshold 1e-16
Average cases for entire fractal
"True" -> calculated
1.0 -> 0.470218381043924
0.1 -> 0.0277514611184807
0.01 -> 0.00273875075822565
1e-3 -> 0.000537604762798528
1e-4 -> 0.000298158908926989
1e-5 -> 0.000185850698115385
1e-6 -> 9.97458957492159E-005
1e-7 -> 5.0596384017043E-005
1e-8 -> 2.53716863807056E-005
1e-9 -> 1.26919229340975E-005
1e-10 -> 6.34662886913257E-006
1e-11 -> 3.17331443456628E-006
1e-12 -> 1.58665721728314E-006
Quaternion z^2+c pointed end view in parallel projection
DE Threshold 1e-16
Worst cases for entire fractal
"True" -> calculated
1.0 -> 0.977836860473067
0.1 -> 0.097184186106234
0.01 -> 0.00994241047465512
1e-3 -> 0.00291124435480221
1e-4 -> 0.00284246358773596
1e-5 -> 0.00283552550759178
1e-6 -> 0.0019832407359585
1e-7 -> 0.00182386184009324
1e-8 -> 0.000911930920046621
1e-9 -> 0.000786028563546067
1e-10 -> 0.000786028308654553
1e-11 -> 0.00078602828316538
1e-12 -> 0.000786028280616523
Quaternion z^2+c pointed end view in parallel projection
DE Threshold 1e-16
Average cases for entire fractal
"True" -> calculated
1.0 -> 0.268571283431845
0.1 -> 0.0330876101698883
0.01 -> 0.00333120301202227
1e-3 -> 0.000602036669078832
1e-4 -> 0.000319200775195032
1e-5 -> 0.000198471399420637
1e-6 -> 0.000106430696869362
1e-7 -> 5.41934392969572E-005
1e-8 -> 2.71886867735502E-005
1e-9 -> 1.36275997817489E-005
1e-10 -> 6.84249791092663E-006
1e-11 -> 3.44994698460904E-006
1e-12 -> 1.75367152223619E-006
Quaternion z^2+c pointed end view in parallel projection
DE Threshold 1e-16
Values for the centre ray (i.e. hitting the point of the Mandy on the real axis)
"True" -> calculated
1.0 -> 0.977836860473067
0.1 -> 0.097184186106234
0.01 -> 0.00994241047465512
1e-3 -> 0.000999139471789839
1e-4 -> 0.000100040977667748
1e-5 -> 1.00004784004224E-005
1e-6 -> 1.00006323931994E-006
1e-7 -> 1.001088304125E-007
1e-8 -> 1.00620844487879E-008
1e-9 -> 1.0638804422352E-009
1e-10 -> 1.61612459695359E-010
1e-11 -> 7.17222631161621E-011
1e-12 -> 3.5861131558081E-011
I think the above shows that the problem of areas with small gradient causing erroneously high DE values is more prevalent than I previously thought even in a Mandelbrot
As I've mentioned previously a potential cure for this is develop a DE algorithm that incorporates the second derivative in some way. For instance the way I derived the standard DE formula was based on using the Newton, a similar derivation could be made say using Householder's formula.
In the last set of figures I think the 1e-10, 1e-11 and 1e-12 results may be affected by the likelyhood that y and z in quaternionic (x,y,z,w) weren't exactly zero due to slight floating point errors in the 90 degree rotation - i.e. we didn't exactly hit the point.
I intend to redo these tests with say a degree 16 quaternion to see if the values confirm Jos Leys' suggestion that no scaling is required based on the power or to show if such scaling is necessary - and if necessary then to try and find what it should be.