Алгоритм косой матрицы

Я ищу алгоритм перекоса, как и на фотошопе, edit- > transform- > skew есть ли простая матрица, которая могла бы это сделать?

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

Мне нужно реализовать его, чтобы преобразовать плоскость.

Ответ 1

Глядя на http://www.w3.org/TR/SVG11/coords.html, в котором говорится о SVG, он говорит:

  • Косое преобразование вдоль оси x эквивалентно матрице

alt text

или [1 0 tan (a) 1 0 0], что приводит к искажению координат X по углу a.

  • Косое преобразование вдоль оси y эквивалентно матрице

alt text

или [1 tan (a) 0 1 0 0], что приводит к искажению координат Y по углу a.

Надеюсь, что это поможет!:)