2.4. Разложение двухмерного аффинного преобразования
Один из способов разложения может быть таким
,
где
Следовательно, любое аффинное преобразование можно понимать как вращение на угол φ, за которым следует масштабирование на Sx и Sy, затем сдвиг на h и завершает перемещение на l1 и l2. Следует заметить, что это разложение не единственно.
Еще одно полезное разложение:
.
Такое разложение удобнее использовать при аппроксимации окружности. При этом задача будет решаться быстрее.
2.5. Анимация формы. Твининг
Твининг – широко распространенный метод анимации. Изложение этого приема требует предварительных сведений из теории.
П усть – система точек; – линейная комбинация точек, , если при этом , то образуют аффинную комбинацию точек. Только аффинная комбинация точек является точкой. Это означает, что в общем случае операция сложения точек не определена. Суммировать точки и ожидать, что результат будет точкой, можно, только если сумма точек образует аффинную комбинацию.
На рис. 2.13 точка P находится как Здесь a1 = (1–t), a2 = t; t – параметр; t = 0 1. При этом a1 + a2 = 1. Следовательно, P есть аффинная комбинация точек, т.е. P – точка при любом t, в заданном интервале.
Результат сложения: при t = 0 P = A при t = 1 P = B. При t = 0,5 P – середина отрезка AB и т.д., т.е. при t = 0→1 точка P будет перемещаться от A до B по прямой, их соединяющей.
Пусть ABC – фигура в начальном положении, A`B`C` – фигура в конечном положении. Тогда промежуточные положения узловых точек при анимации будут:
A`` = (1– t)A + tA`; B`` = (1 – t) B + tB`; C`` = (1 – t)C + tC`.
На рис. 2.14 показаны промежуточные формы, которые принимает фигура при плавном преобразовании в A`B`C`. Этот прием широко используется в анимации «преобразование формы», в частности, в Macromedia Flash MX.
2.6. Преобразования модели в 3d
В 3D точка и матрица преобразований в однородной форме имеют вид:
; ; ; .
Все формулы для получения результирующего преобразования из последовательности составляющих те же, что и в 2D. Все формулы для получения обратных преобразований те же, что и в 2D.
Элементарные матрицы преобразований в 3D:
1) ; . Это – матрица смещения.
2) – матрица вращения вокруг оси, исходящей из начала координат, направление которой задается единичным вектором , , как на рис. 2.15.
Положительное направление φ – против часовой стрелки, если смотреть из той точки, куда указывает вектор U.
Частные случаи этой матрицы:
– вращение вокруг оси z;
– вращение вокруг оси y;
– вращение вокруг оси x.
Здесь приняты такие условные обозначения: , .
В общем случае, когда ось вращения не совпадает с координатными осями:
Задача, обратная только что рассмотренной:
– задано. Найти φ и .
Готовое решение:
; ; ; .
В заключение после ознакомления с аффинными преобразованиями в 3D и с понятием аффинной комбинации точек свойства аффинных преобразований можно дополнить еще такими:
- плоскость преобразуется в плоскость;
- параллельные плоскости преобразуются в параллельные;
- аффинные комбинации точек преобразуются в аффинные.