Math
Узлы
Торические узлы и зацепления: трилистник, пятилистник, зацепление Соломона и пересечения, от которых картинке не избавиться.

Что происходит
Намотай кривую p раз вокруг дыры тора и q раз вокруг его трубки - это T(p, q): узел, если у p и q нет общего делителя, и зацепление из gcd(p, q) частей, если есть. Картинка здесь сама считает свои пересечения при любом положении камеры, и число никогда не падает ниже min(p(q − 1), q(p − 1)) - вот что такое инвариант. Посмотри строго вдоль оси тора - оно ляжет на минимум. Поменяй p и q местами: картинка меняется, узел - нет, и инварианты это говорят. Бусина пробегает всю кривую, показывая, что она одна; у каждой компоненты зацепления свой цвет и своя бусина.
Уравнения модуля
Уравнения T(p, q): x = (R + r cos qt) cos pt, y = (R + r cos qt) sin pt, z = r sin qt число компонент = gcd(p, q); число пересечений c = min(p(q − 1), q(p − 1)) род = (p − 1)(q − 1)/2; Δ(t) = (t^pq − 1)(t − 1) / ((t^p − 1)(t^q − 1)) T(p, q) = T(q, p): тот же узел, другая картинка


