Включение строки в кольцо - простая задача в графических программах, таких как GIMP:
Фильтр ⇒ Искажения ⇒ Полярные координаты http://adamhaskell.net/img/transform.png
Я пытаюсь разобраться, если можно создать тот же эффект в CSS.
Итак, я разработал следующее:
- Вышеуказанный алгоритм отображает от
x
доr
иy
доθ
- Для этого
x
масштабируется до диапазона[0,w/2]
, при этомw
является шириной изображения - Кроме того,
y
масштабируется до диапазона[0,2π]
- Чтобы преобразовать полярные координаты в декартовы:
xc = rp*cos(θp)
иyc = rp*sin(θp)
- Затем результат преобразуется, поэтому начало координат находится в центре изображения.
- Итак, у нас есть:
x' = (x/2)*cos(y/h*2π) + w/2;
y' = (x/2)*sin(y/h*2π) + h/2;
Это все прекрасно и денди, но как я могу произвести такое преобразование в CSS? Предположительно ни одно из ключевых слов не является полезным, поэтому оно должно быть преобразованием матрицы. Ну, я не знаю, как построить матрицу из двух уравнений выше, а тем более как представить ее в преобразовании CSS.
Может ли кто-нибудь помочь мне на этом последнем этапе?