Линия Вивиани

В этом примере линия целиком лежит на одной сфере, которая поэтому является соприкасающейся сферой во всех точках линии. Радиус по умолчанию равен 2, чтобы уменьшить размер стрелок.

Общие процедуры в начале кода пригодны для любых линий, но там нет защиты от деления на нуль в точке распрямления или уплощения.

1. Пересечение поверхностей

Стандартный способ задания линии Вивиани использует сферу и круговой цилиндр. Тут добавлены нестандартные, причём появление зонтика Уитни оказалось для меня приятной неожиданностью.

2. Соприкасающаяся окружность и ось кривизны

Ползунок меняет значение параметра, можно пробежать вдоль всей линии. Траектория оси кривизны принесла второй сюрприз: одна из проекций похожа на нефроиду.