It gives us a simple relation between the radii of disks touching on a sphere and spheres touching on a sphere,

it is given by R = 1 / (1/r - 1)

likewise we can see that the disks have to be at least a distance 2r apart, lest they overlap.

So let us now follow our winning strategy of the last two months

we randomly sample the 13 positions of the blue disks

on the surface of the unit sphere.

In a first naive approach, we uniformly sample these positions and check for overlaps.

Of course, we are only interested in legal configurations

that is configurations of non-overlapping disks,

and we reject in case of an overlap.

In Python, this direct-sampling approach can be implements as is shown here

Of course this program works and will eventually give us legal configurations of 13 disks on a sphere.

This works very well for small radii r

but it suffers from a huge rejection rate for larger disks.

Already for disk radius r=0.32

the program will generate 10000 illegal configurations before finding a legal one

for disks of radius r=0.34

the program will generate hundreds of thousands of illegal configurations

and for r=0.36

it will generate more than 10000000 illegal configurations.