Как работает Matrix.postScale (sx, sy, px, py)?

Первое чтениеВопрос тайга

Тайг сказал:

При вызове Matrix.postScale (sx, sy, px, py); матрица масштабируется и также переводится (в зависимости от заданной точки x, y). Это предопределяет использование этого метода для увеличения изображений, потому что я могу легко сфокусировать одну конкретную точку. Документ для Android описывает метод следующим образом:

Postconcats the matrix with the specified scale. M' = S(sx, sy, px, py) * M

На первый взгляд это кажется смешным, потому что М должна быть матрицей 3х3. Покопавшись, я обнаружил, что android использует 4x4-Matrix для своих вычислений (при этом предоставляя только 3x3 в своем API). Поскольку этот код написан на C, мне трудно понять, что на самом деле происходит.

Я видел визуальное преобразование ввольфрам

Мой вопрос такой же, как и у Тайга

Что я на самом деле хочу знать: как я могу применить этот вид масштабирования (со сфокусированной точкой) к Матрице 3x3, к которой я могу получить доступ в своем Java-коде?

Кто может дать мне пример и 2-мерную формулу с 4 параметрами (sx, sy, px, py), которые 10-летний ребенок понял бы?

Ответы на вопрос(1)

Ваш ответ на вопрос