Gerald K. Dobiasovsky wrote:
Quite a career, I'd say, to be considered an expert on 3d-rendering in Fractint after posting a single par on that matter :-)
Sadly D3_Man/Jul sets turn out to be cylinders with quadratic Mandelbrots/Julias as their cross-section. The 2d images look skewed because the cylinder's axis is not parallel to any coordinate axis.
I was half-and-half expecting this (no, I don't do medical ultrasounds, either); the skewness is visible in the 2d-slices, and since the quaternion mandelbrot is a hypersurface of rotation I kind of hypothesised. I'm just impressed how you can get from t1=z1*z1+2*z2*z3+c1 t2=z3*z3+2*z1*z2+c2 t3=z2*z2+2*z3*z1+c3 z1=t1 z2=t2 z3=t3 to
w1 = real(xy), w2 = imag(xy), w3 = zz xy = sqr(w1) + 2*w2*w3 xy = xy + flip(sqr(w3)+2*w1*w2) + p3 zz = sqr(w2) + 2*w1*w3 + real(p4)
without appearing to break into a sweat. I'm trying to reverse-engineer the process now. Lessee ... reals t1 and t2 are folded into the complex xy, with t3 going in zz; they're broken back out into w1..3 for the triternion quadratic map, and then it's back into xy and zz... and a 30W lightbulb goes on. Russ Walsmith's interpretation seems the more fecund (though I still say TMan and TJul need a little prophylactic code to stop them from spilling out into six dimensions - unless that's desirable); mainly from the line z=z1+z2+z3. Lessee, to convert Rot3d_D3_Man to Rot_TMan would entail adding (after the above section) the line zt = real(xy)+imag(xy)+zz ; transformed z and changing the bailout condition to check the magnitude of zt instead of xy/zz. Maybe fiddle the initialiser, too. Um ... ooh. Add the value of TMan's p3 parameter to cz and cz0? Morgan L. Owens "Dim, and with no discernable function."