bungi@milton.u.washington.edu (Timothy J. Wood) (05/04/91)
In 'Ray Tracing Deterministic 3-D Fractals' (John C. Hart, ACM
SIGGRAPH 89) a formula for estimating a lower bound on the distance from a
point in the space of quaternions to the surface of the 4-D fractal is
given as :
n
|f (z)| n
d(z) = --------- log(f^n(z)); where f (z) is f(f(...(f(z))..) with n "f's"
'n
2|f (z)|
I can handle the magnitudes, derivatives, and compositions, but what is
the log of a quaternion? I have Hamilton's 'Elemente der Quaternionen'
(1882, and _very_ German), which has something like:
lq = lTq + lUq
which really doesn't tell _me_ much :) What are T and U? And why is it
define recursively?
Am I to assume that the log of a quaternion is a real? If not, then is
d(z) going to be a quaternion rather than a real? How would that be a
'distance'?
Any help on logs of quaternions or the distance estimator function would
be excellent... i'll even give you a copy of the software (distributed
fractal raytracer) when i'm done. Oh drats. it's going to be public
domain :)
Well, send me help anyway.
thanks
--
-------------------------------------------------------------------------------
Timothy Wood : bungi@u.washington.edu, tjwood@cs.washington.edu
... alice everyday brings sunshine ...
hart@uicbert.eecs.uic.edu (John Hart) (05/10/91)
Oops! Looking at equation (7) of Ray Tracing Deterministic 3-D Fractals (Computer Graphics 23, 3 (1989) pp. 289-296) we have d(z) = log G(z) sinh(G(z))/(2 e^G(z) |G'(z)| (7) which is approximated using sinh(G(z)) = G(z) and e^G(z) = 1 for small G(z) (values of z close to the set). Furthermore we replace G(z) with |f^n(z)| giving us d(z) = log |f^n(z)| |f^n(z)|/(2 |f'^n(z)|) (8) which is the same as in the paper except that I forgot the absolute value symbols for the log. Essentially, this is the same formula as given in The Science of Fractal Images for complex values. I just tried it in the quaternions and expected it to work. It does but I still remain clueless as to why or how. Good luck on your ray tracer. I never published the source code because it was written and optimized for the Pixel Machine and is quite ugly. Its rather straight forward and shouldn't be too difficult to prototype. To check your results, try z^2 + 0.2809 + 0.53i (figure 1a) and z^2 - 1 (a surface of revolution). Alan Norton will be talking about these sets this year at SIGGRAPH at the Fractal Models in Computer Graphics advanced course. His notes have some pictures of quaternion Julia sets and a 3-D Mandelbrot set that have never before been published. -John C. Hart Electronic Visualization Laboratory EECS Dept. M/C 154 University of Illinois at Chicago Chicago, IL 60680-4348 office: (312)996-3002 lab: (312)996-5909 hart@uicbert.eecs.uic.edu