Julia Set (Quaternion)
The Julia Set is the collection of points that satisfies the following
feedback process:
qn+1=q2+c
where z and c are quaternions: q=w+xi+yj+zk, c=d+ai+bj+ck+dj. Images can be generating by iterating
this recurrence and associating three of the components of q (e.g. x, y and z) as a point in 3D space, and
generating an image by a raycasting procedure.
One method to test if a particular point P is in the set is as follows:
Set three of the components of q0 (e.g. x, y and z) to P, and the fourth component to a constant
(e.g. 0), c to a constant for the particular style of Julia set to generate, and iterate the recurrence for M,
a specified maximum number of iterations. If the magnitude of q remains finite even after M
iterations are performed, consider P to be in the set. If
the magnitude of q "escapes to infinity" (practically,
|q|>2) before M iterations are reached, consider P not to be
in the set, and call the iteration where q escaped E.
 |
c=0.45+0.45i+0j+0k
This image shows a full quaternion Julia. The coloration is white if P is in the set, black otherwise. The
image appears gray instead of white as a lighting calculation is performed where the surface normal at each
point of the object is related to the direction to the light source (the more the direction differs, the
darker the point is drawn.)
|
 |
c=-0.74543+0.11301i+0j+0k
This image shows a quaternion Julia sliced in half. The coloration of the surface of the object is the
same as in the previous image, but the inside is colored differently. For the points on the interior of
the object, q is projected on the X-Y plane (to "flatten" it to a complex number) and the projection treated
as a vector on a circle. The angle this vector makes with the x axis is used to index into a rainbow palette.
|
 |
c=-0.15652+1.03225i+0j+0k
This image shows a full quaternion Julia, but with a very low M - many points which aren't truly in the set
are identified as being in the set, giving the very angular appearance. Coloration is strictly based on
lighting.
|
 |
c=-0.15652+1.03225i+0j+0k
This image is of the same set as previous, but the coloration is as with (c=-0.74543+0.11301i+0j+0k).
|
 |
c=-0.15652+1.03225i+0j+0k
This image is of the same set as previous, but is a binary decomposition (similar coloring as with
(c=-0.74543+0.11301i+0j+0k), but only two colors are used).
|