Exploring Schottky fractals

In the previous program, the four seed disks are known as kissing Schottky disks since each seed disk touches the two disks comprising the other pair, forming a chain of tangencies. But it’s not necessary for the seed disks to kiss, and in the following program they kiss only for the value \theta = 45\textdegree.

As explained on the previous page, every disk D_T represents a composite transformation T. Applying T to D_T‘s three noncancelling seed disks produces three new disks nested inside D_T, a process we refer to as expanding disk D_T. You can see this in action by clicking a disk in the program. Set model to ‘spheres’ and click any sphere to expand it. Whereas only highest-level spheres are rendered, disks at every level are rendered when model is ‘disks’. Since only highest-level disks are not yet expanded, only these can be expanded by clicking.

To program the click-to-expand behavior, every disk D_T has several properties including its composite transformation T and the index of its outermost seed disk D. To expand disk D_T, apply T to each of D‘s noncancelling seed disks. For example, the disk D_{abA} stores the transformation abA and the index to seed disk D_A. To expand D_{abA}, we apply abA to the seed disks D_b, D_B, and D_A.