Аффинное преобразование (АП) – вид геометрической трансформации, при которой сохраняется параллельность прямых и соотношение длин отрезков прямой. Углы и расстояния между точками не сохраняются.
АП евклидова пространства — взаимно однозначное точечное отображение плоскости или пространства на себя, при котором:
- прямые (плоскости) переходят в прямые (плоскости)
- пересекающиеся прямые(плоскости)в пересекающиеся
- параллельные — в параллельные.
Аффинное преобразование называется изометрическим, если оно сохраняет расстояния между точками.
Преобразование на плоскости точки (x, y) в точку (x′, y′) осуществляется по формулам:
Или то же самое в матричном виде:
Где: M11, M12, M21, M22, Dx, Dy – коэффициенты, определяющие специфику АП.
Для получения сложного преобразования необходимо последовательно перемножить матрицы всех преобразований, в него входящих. Результат зависит от порядка следования матриц.
Операции АП:
- Поворот
- Сдвиг
- Перенос
- Масштабирование
- Отражение
Поворот (Rotate)
Матрица | Функции |
---|---|
Сдвиг (Shear)
Матрица | Функции |
---|---|
Перенос (Translate)
Матрица | Функции |
---|---|
Масштабирование (Scaling)
Матрица | Функции |
---|---|
Круто! Отличный материал и стиль изложения. Так держать!
Единственное, были бы не лишними примеры в коде, и это, надеюсь, материал для следующей статьи?
Уже опубликовал могучую статью в «Теории и Практике») Там и исходники, и расшифровка матриц, надеюсь, понравится.