Klaus Kemp1 is de enige moderne beoefenaar van een verloren gewaande Victoriaanse kunstvorm — het schikken van diatomeeën in minuscule, oogverblindende patronen die wat weg hebben van microscopische mozaïeken of glas-in-loodramen.
Diatomeeën zijn eencellige wieren met een extern skelet van kiezel (siliciumdioxide, SiO2). De klasse van de diatomeeën telt ongeveer 100.000 verschillende soorten, waarvan de meeste variëren in grootte van 10 tot 100 micrometer. Op het einde van de 19e eeuw ontstond het ambacht om ze door professionele microscopisten in allerlei patronen te laten schikken voor vermogende klanten. Hoe ze er precies in slaagden om dat te doen is onbekend — ze namen hun geheimen immers mee in hun graf. Kemp deed ongeveer acht jaar over het perfectioneren van zijn eigen techniek, die erin bestaat om de vormen over een periode van enkele dagen op een heel nauwkeurige manier te schikken in een laagje lijm. In een artikel in Wired2 legt hij het als volgt uit:
Als jonge gast van 16 had ik een enorme passie voor de geschiedenis van de levenswetenschappen, en zo botste ik toevallig op een verzameling proefbuizen met diatomeeën uit de Victoriaanse tijd. Ik was meteen getroffen door de schoonheid en de symmetrie van diatomeeën. De symmetrie en sculpturen op een levend organisme die men niet met het blote oog kan waarnemen, deden me met verstomming slaan. Zelfs na 60 jaar met deze passie bezig te zijn, kan ik nog steeds opgewonden geraken bij het volgende staal dat ik neem of ontvang van een collega.
We vragen ons af hoeveel kleinere cirkels met straal $$r \in \mathbb{R}^+$$ kunnen geschikt worden in een grotere cirkel met straal $$R \in \mathbb{R}^+$$, zonder dat de kleinere cirkels elkaar overlappen. Zo passen er bijvoorbeeld maximaal 12 kleinere cirkels in de grotere cirkel uit onderstaande figuur.
Er werd voorlopig nog geen sluitend antwoord op deze vraag gevonden, maar het maximaal aantal kleinere cirkels $$n$$ kan op de volgende manier benaderd worden: \[n = \left\lfloor 0.83\frac{R^2}{r^2} - 1.9 \right\rfloor\] Hierbij is $$\lfloor x\rfloor$$ het grootste geheel getal dat niet groter is dan $$x \in \mathbb{R}$$.
Twee getallen $$r$$ en $$R \in \mathbb{R}^+$$ — elk op een afzonderlijke regel — die respectievelijk de straal van een kleinere en een grotere cirkel aangeven. Er geldt met andere woorden dat $$r \leq R$$ (dit hoef je zelf niet expliciet te testen in je eigen code).
Een regel die aangeeft hoeveel kleinere cirkels er maximaal in de grotere cirkel kunnen geschikt worden, en de bedekkingsgraad van de grotere cirkel die daarmee bekomen wordt. Voor het schatten van het maximaal aantal kleinere cirkels moet bovenstaande formule gebruikt worden. De bedekkingsgraad moet uitgeschreven worden als een reeël getal dat afgerond is tot op twee cijfers na de komma.
Invoer:
2.38
10.14
Uitvoer:
13 kleine cirkels bedekken 71.62% van de grote cirkel