Статья о том, что такое дробно-линейные преобразования в комплексной плоскости могут пригодиться в жизни и как при помощи них можно искажать объект для получения желаемого вида. В конце бонусом получим анимацию :).
 
В целом, дробно-линейные преобразования на комплексной плоскости -- это преобразования вида  , где a, b, c, d и z -- комплексные числа. Но об этом позже. Начнем с самого начала:
, где a, b, c, d и z -- комплексные числа. Но об этом позже. Начнем с самого начала:
 
Допустим, у нас есть кот  . Поставим этого кота на комплексную плоскость.
. Поставим этого кота на комплексную плоскость.
 

 
Что можно сделать с этим котом? Самое простое - сдвинуть кота по какой-либо из координат вправо/влево или вверх/вниз. Для этого надо прибавить к коту какое-либо комплексное число. Получим отображение вида:  , где a - комплексное число.
, где a - комплексное число.

 
 
Помимо этого, можно повернуть этого кота  на некоторый угол
 на некоторый угол   .
.   .
.
 

 
И увеличить/уменьшить кота в k раз:
 

 
 
На этом линейные преобразования закончились. Комбинируя эти 3 преобразования можно уже добиваться интересных результатов и располагать кота в любом положении и, например, закрутить кота в спираль.
 

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

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

Спираль сворачивается в точку 0, а начинает разворачиваться с 
 . Дробно-линейное преобразование переместит точку, с которой раскручивается спираль в -1, а точку, в которую спираль сходится -- в 1 (). Как-то так:
. Дробно-линейное преобразование переместит точку, с которой раскручивается спираль в -1, а точку, в которую спираль сходится -- в 1 (). Как-то так:
 

 
 
По каким еще траекториям можно перемещать кота ограничивает только фантазия.