Здравствуйте, GarikTot, Вы писали:
GT>Масштабирование — это афинное преобразование, любое из ктр. может быть выполнено след. образом:
GT>Строится матрица преобразования и, затем, каждая точка картинки (её координаты) домножается на эту матрицу...
GT>Любое преобразование может быть выполнено с помощью комбинации простейших преобразований: поворота R, сдвига T, васштабирования S и отражения M. Например, нужно повернуть вектор V на 5 градусов вокруг точки (x, y, z): V*(T(-x, -y)*R(5)*T(x, y))
GT>Матрица преобразования — это квадратная матрица размерности на 1 больше размерности пространства. Для 2D преобраззований это матрица 3x3, для 3D 4x4 и т. д.
GT>Вектор координат дополняется 1: (x, y, 1) — 2D, (x, y, z, 1) — 3D ...
GT>Матрицы простейших преобразований (2D):
GT>1) вращение R(fi):
GT>cos(fi) sin(fi) 0
GT>-sin(fi) cos(fi) 0 fi — угол поворота
GT>0 0 1
GT>2) масштабирование S(sx, sy):
GT>sx 0 0
GT>0 sy 0 sx>0, sy>0
GT>0 0 1
GT>3) отражение M:
GT>1 0 0
GT>0 -1 0
GT>0 0 1
GT>4) сдвиг T(dx, dy):
GT>1 0 0
GT>0 1 0
GT>dx dy 1
GT>Подробности можно найти в любой книге по компьютерной графике или поиском по rsdn-у — тема неоднократно обсуждалась
Спасибо за отклик от Анонима, он же Scherhan
Программировать графику недавно начала...Вот и пытаюсь, сие гранит грызть. Пишу на Билдере. У меня снимки представлены в плоскости, т.е. в координатах X,Y. Первое, мне надо понять, как перевести координаты выделенного квадрата в матрицу???
Спасибо за внимание. Пока