Преобразования Java, выполняемые с помощью Graphics2D
и AffineTransforms
, имеют порядок, указанный последним и примененный первым. Например, чтобы повернуть компонент, а затем перевести его, вы сначала вызываете translate()
, а затем rotate()
. Это почему? Есть ли какое-то приложение или реализация, которая поддерживает это? Мне это просто кажется контринтуитивным.
Я понимаю, что AffineTransforms
представлены матрицей, и (хотя я не знаю подробностей) несколько преобразований могут быть объединены путем умножения матриц друг на друга. Чего я не понимаю, так это почему это кажется правым, а не левым.