Преобразование прямоугольного изображения в четырехугольник с помощью CATransform3D
У меня есть изображение и набор из четырех точек (описывающих четырехугольник Q). Я хочу преобразовать это изображение так, чтобы оно соответствовало четырехугольнику Q. Фотошоп называет это преобразование «Искажением». Но в соответствии с источником этого четырехугольника (перспектива изображения, движущегося в пространстве), на самом деле это комбинация масштаба, поворота и матрицы перспективы.
Мне интересно, если это возможно с использованием матрицы CATransform3D 4x4. Есть ли у вас какие-либо советы о том, как это сделать? Я пытался взять четыре точки и построить 16 уравнений (из A '= A x u), но это не сработало: я не уверен, что мне следует использовать в качестве коэффициентов z, z', w и w '...
На следующем рисунке показано, что я хочу сделать:
Вот несколько примеров точек:
276.523, 236.438, 517.656, 208.945, 275.984, 331.285, 502.23, 292.344
261.441, 235.059, 515.09, 211.5, 263.555, 327.066, 500.734, 295
229.031, 161.277, 427.125, 192.562, 229.16, 226, 416.48, 256