Преобразование прямоугольного изображения в четырехугольник с помощью CATransform3D

У меня есть изображение и набор из четырех точек (описывающих четырехугольник Q). Я хочу преобразовать это изображение так, чтобы оно соответствовало четырехугольнику Q. Photoshop называет это преобразование «Искажение». Но согласно источнику этого четырехугольника (перспектива изображения, движущегося в пространстве), на самом деле это комбинация масштаба, поворота и матрицы перспективы.

Мне интересно, возможно ли это с использованием матрицы CATransform3D 4x4. У вас есть какие-нибудь подсказки, как это сделать? Я попытался взять четыре точки и построить 16 уравнений (из A '= A xu), но это не сработало: я не уверен, что мне следует использовать в качестве коэффициентов z, z', w и w '...

На следующем рисунке показано, что я хочу сделать:

Transforming a rectangle image into a quadrilateral using a CATransform3D

Вот несколько примеров точек:

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
38
задан MonsieurDart 5 March 2012 в 10:57
поделиться