-
Notifications
You must be signed in to change notification settings - Fork 9
2. Преобразования на плоскости. Вывод расчетных соотношений. Матрицы преобразований.
Преобразования на плоскости : (X, Y) → (X1, Y1)
Линейные преобразования – поверхность не вырождается в прямую, а прямая не вырождается в точку, сохраняется параллельность плоскостей и существуют обратные преобразования (detM≠0).
Если определитель матрицы преобразования отличен от нуля, то такое преобразование будет являться аффинным. При аффинном преобразовании плоскость не может вырождаться в линию или точку, параллельные прямые переводятся в параллельные и всегда имеется обратное преобразование.
Для описания преобразований часто используется матричная форма. Однако в ней нельзя описать, например, перенос: приходится использовать однородные координаты [X,Y,W], где w – масштабный коэффициент. В двумерной графике W=1. Декартовы координаты x = X/W y = Y/W
Аффинное преобразование может быть представлено суперпозицией трех преобразований: переноса, масштабирования, поворота.
Масштабирование Однородное масштабирование – коэффициенты одинаковые, неоднородные – с разными коэффициентами. Если коэффициент меньше 1 – изображение уменьшается, точки перемещаются ближе к центру масштабирования. Если больше – увеличиваются, точки перемещаются дальше. Если коэффициент меньше 0 – изображение заодно отзеркаливается.
Поворот В матричной форме: поворот относительно начала координат
Коммутативность – независимость результата преобразований от порядка, в котором они происходят.
(X1 Y1 1) = (X Y 1) * M1 * M2 – если М1 можно умножить на М2, то в ОБЩЕМ случае, М2 умножить на М1 нельзя – в общем случае, преобразование коммутативностью не обладает.Доказательство коммутативности производится через перемножение матриц.
Коммутативные преобразования:
Операция1 | Операция2 |
---|---|
Перенос | Перенос |
Масштаб | Масштаб |
Поворот | Поворот |
Однородное масштабирование | Поворот |
Аддитивные и мультипликативные операции – типа сложение и умножение. Аддитивные: перенос-перенос и поворот-поворот. Чтобы найти итоговую матрицу такого поворота, достаточно сложить аргументы. Мультипликативные: перемножить аргументы
Перенос и поворот аддитивны, масштабирование мультиплекативно.