При аффинном преобразовании окружности эллипс

Аффинные преобразования

Видео:Математика без Ху!ни. Кривые второго порядка. Эллипс.Скачать

Математика без Ху!ни. Кривые второго порядка. Эллипс.

Образ прямой линии.

Изучим геометрические свойства аффинных преобразований. Ниже (f) обозначает аффинное преобразование, записываемое в декартовой системе координат (O, boldsymbol_, boldsymbol_) формулами
$$
x^=a_x+b_y+c_, y^=a_x+b_y+c_.label
$$
при условии
$$
begin
a_& b_\
a_& b_
end neq 0.label
$$

Более того, преобразование (f) определяет взаимно однозначное отображение одной прямой на другую, так как при сделанном здесь выборе начальных точек и направляющих векторов точка (M^) имеет на прямой eqref то же значение параметра (t), что и точка (M) на исходной прямой. Отсюда мы получаем первое утверждение.

При аффинном преобразовании:

  • прямая линия переходит в прямую линию;
  • отрезок переходит в отрезок;
  • параллельные прямые переходят в параллельные.

Для доказательства второго утверждения достаточно заметить, что отрезок прямой состоит из таких точек, у которых значения параметра удовлетворяют неравенству вида (t_ leq t leq t_) Третье утверждение следует из того, что при аффинном преобразовании коллинеар-ные векторы переходят в коллинеарные.

При аффинном преобразовании отношение длин параллельных отрезков не изменяется.

Пусть отрезки (AB) и (CD) параллельны. Это значит, что существует такое число (lambda), что (overrightarrow=lambda overrightarrow). Образы векторов (overrightarrow) и (overrightarrow) связаны той же зависимостью (overrightarrow<A^B^>=lambda overrightarrow<C^D^>). Отсюда вытекает, что
$$
frac<|overrightarrow|><|overrightarrow|>=frac<|overrightarrow<A^B^>|><|overrightarrow<C^D^>|>=|lambda|.nonumber
$$

Если точка (C) делит отрезок (AB) в некотором отношении (lambda), то ее образ (C^) делит образ (A^B^) отрезка (AB) в том же отношении (lambda).

Видео:Аффинные ПреобразованияСкачать

Аффинные Преобразования

Изменение площадей при аффинном преобразовании.

Для начала рассмотрим ориентированный параллелограмм. Выберем общую декартову систему координат (O, boldsymbol_, boldsymbol_) и обозначим через ((p_, p_)) и ((q_, q_)) компоненты векторов (boldsymbol

) и (boldsymbol), на которых он построен. Площадь параллелограмма мы можем вычислить, пользуясь формулой:
$$
S_=S_ (boldsymbol

, boldsymbol)=(p_q_-p_q_) S_ (boldsymbol_, boldsymbol_).nonumber
$$

Пусть аффинное преобразование (f) записывается в выбранной системе координат формулами eqref. Из ранее доказанного утверждения следует, что векторы (f(boldsymbol

)) и (f(boldsymbol)) имеют в базисе (f(boldsymbol_), f(boldsymbol_)) те же компоненты ((p_, p_)) и ((q_, q_)), что и векторы (boldsymbol

) и (boldsymbol) в базисе (boldsymbol_, boldsymbol_). Образ параллелограмма построен на векторах (f(boldsymbol

)) и (f(boldsymbol)), и площадь его равна
$$
S_^=S_ (f(boldsymbol

), f(boldsymbol))=(p_q_-p_q_) S_ (f(boldsymbol_), f(boldsymbol_)).nonumber
$$

Вычислим последний множитель. Как мы знаем из уже доказанного утверждения 7, координаты векторов (f(boldsymbol_), f(boldsymbol_)) равны соответственно ((a_, a_)) и ((b_, b_)). Поэтому (S_ (f(boldsymbol_), f(boldsymbol_))=(a_b_-a_b_) S_ (boldsymbol_, boldsymbol_)) и
$$
S_^=(p_q_-p_q_)(a_b_-a_b_) S_ (boldsymbol_, boldsymbol_).nonumber
$$
Отсюда мы видим, что
$$
frac<S_^><S_>=begin
a_& b_\
a_& b_
end.label
$$

Таким образом, отношение площади образа ориентированного параллелограмма к площади этого параллелограмма одинаково для всех параллелограммов и равно (a_b_-a_b_).

Отсюда следует, что данный детерминант не зависит от выбора системы координат, в которой записано преобразование, хотя он вычисляется по коэффициентам, зависящим от системы координат. Эта величина — инвариант, выражающий геометрическое свойство преобразования.

Из формулы eqref видно, что отношение площади образа неориентированного параллелограмма к его площади равно
$$
S^/S=|a_b_-a_b_|.label
$$

Если (a_b_-a_b_ > 0), то ориентации всех ориентированных параллелограммов сохраняются при преобразовании, а если (a_b_-a_b_ Утверждение 3.

Аффинное преобразование переводит алгебраическую линию в алгебраическую линию того же порядка.

В самом деле, пусть линия (L) в декартовой системе координат (O, boldsymbol_, boldsymbol_) имеет алгебраическое уравнение порядка (p). Мы уже доказали, что образы всех точек линии (L) при аффинном преобразовании (f) имеют в системе координат (f(O), f(boldsymbol_), f(boldsymbol_)) те же координаты, что и их прообразы в системе координат (O, boldsymbol_, boldsymbol_). Следовательно, координаты образов в системе (f(O), f(boldsymbol_), f(boldsymbol_)) связаны тем же алгебраическим уравнением порядка (p). Этого достаточно, чтобы сделать нужное нам заключение.

Из доказанного выше утверждения, в частности, следует, что линия второго порядка при аффинном преобразовании перейдет в линию второго порядка. Мы докажем более сильное утверждение. Как мы уже знаем, линии второго порядка можно разделить на семь классов. Мы увидим, что класс линии сохраняется при аффинном преобразовании. На этом основании классы линий, перечисленные в указанной теореме, называются аффинными классами. Итак, докажем новое утверждение.

Линия второго порядка, принадлежащая к одному из аффинных классов, при любом аффинном преобразовании может перейти только в линию того же класса. Каждую линию второго порядка подходящим аффинным преобразованием можно перевести в любую другую линию того же аффинного класса.

Линию мы назовем ограниченной, если она лежит внутри некоторого параллелограмма. Легко видеть, что при аффинном преобразовании ограниченная линия должна перейти в ограниченную, а неограниченная — в неограниченную.

  1. Эллипс — ограниченная линия второго порядка. Кроме эллипсов ограничены только линии, состоящие из одной точки, то есть пары мнимых пересекающихся прямых. Поскольку эллипс ограничен и состоит больше, чем из одной точки, он может перейти только в эллипс.
  2. Гипербола состоит из двух отдельных ветвей. Это свойство можно сформулировать так, что будет ясна его неизменность при аффинных преобразованиях. Именно, существует прямая линия, не пересекающая гиперболу, но пересекающая некоторые ее хорды.Из всех линий второго порядка только гиперболы и пары параллельных прямых обладают этим свойством. У гиперболы ветви не прямые линии, и потому при аффинном преобразовании она может перейти только в гиперболу.
  3. Парабола — неограниченная линия второго порядка, состоящая из одного непрямолинейного куска. Этим свойством не обладают никакие другие линии второго порядка, и потому парабола может перейти только в параболу.
  4. Если линия второго порядка представляет собой точку (пару мнимых пересекающихся прямых), прямую (пару совпавших прямых), пару пересекающихся или пару параллельных прямых, то из доказанных ранее свойств аффинных преобразований следует, что эта линия не может перейти в линию никакого другого класса.

Докажем вторую часть предложения. В уже доказанной нами теореме канонические уравнения линий второго порядка написаны в декартовой прямоугольной системе координат и содержат параметры (a, b, …) Если мы откажемся от ортонормированности базиса, то сможем произвести дальнейшие упрощения канонических уравнений и привести их к виду, не содержащему параметров. Например, замена координат (x’=x/a), (y’=y/b) переводит уравнение эллипса (x^a^+y^b^=1) в уравнение (x’^+y’^=1), каковы бы ни были (a) и (b). (Последнее уравнение не есть уравнение окружности, так как новая система координат не декартова прямоугольная.)

Читатель без труда покажет, что канонические уравнения линий второго порядка переходом к подходящей системе координат могут быть преобразованы в уравнения:

Такую систему координат мы назовем аффинной канонической системой координат.

Из ранее доказанного утверждения следует, что аффинное преобразование, которое совмещает аффинные канонические системы координат двух линий одного аффинного класса, совмещает и эти линии. Это заканчивает доказательство.

Видео:Координаты, аффинные преобразования.Скачать

Координаты, аффинные преобразования.

Разложение ортогонального преобразования.

Каждое ортогональное преобразование раскладывается в произведение параллельного переноса, поворота и, возможно, осевой симметрии.

Пусть (f) — ортогональное преобразование и (vartriangle ABC) — равнобедренный прямоугольный треугольник с прямым углом (A). При преобразовании (f) он перейдет в равный ему треугольник (vartriangle A^B^C^) с прямым углом при вершине (A^). Теорема будет доказана, если, производя последовательно параллельный перенос (p), поворот (q) и (в случае необходимости) осевую симметрию (r), мы сможем совместить треугольники (ABC) и (A^B^C^). Действительно, произведение (rqp) — аффинное преобразование так же, как и (f), а аффинное преобразование однозначно определяется образами трех точек, не лежащих на одной прямой. Поэтому (rqp) совпадает с (f).

Итак, переведем (A) и (A^) параллельным переносом (p) на вектор (overrightarrow<AA^>) (если (A=A^), то (p) — тождественное преобразование). Затем поворотом (q) вокруг точки (A^) совместим (p(B)) с (B^) (возможно, и это преобразование окажется тождественным). Точка (q(p(C))) либо совпадает с (C^), либо симметрична ей относительно прямой (A^B^). В первом случае цель уже достигнута, а во втором потребуется осевая симметрия относительно указанной прямой. Теорема доказана.

Следует иметь в виду, что полученное разложение ортогонального преобразования не однозначно. Более того, можно поворот или параллельный перенос разложить в произведение осевых симметрий, произведение параллельного переноса и поворота представить как один поворот и так далее. Мы не будем уточнять, как это сделать, а выясним следующее общее свойство всех таких разложений.

При любом разложении ортогонального преобразования в произведение любого числа параллельных переносов, поворотов и осевых симметрий четность числа осевых симметрий, входящих в разложение, одна и та же.

Для доказательства рассмотрим на плоскости произвольный базис и проследим за изменением его ориентации (направления кратчайшего поворота от (boldsymbol_) к (boldsymbol_)) при осуществляемых преобразованиях. Заметим, что поворот и параллельный перенос не меняют ориентацию ни одного базиса, а осевая симметрия меняет ориентацию любого базиса. Поэтому, если данное ортогональное преобразование меняет ориентацию базиса, то в любое его разложение должно входить нечетное число осевых симметрий. Если же ориентация базиса не меняется, то число осевых симметрий, входящих в разложение, может быть только четным.

Ортогональные преобразования, которые могут быть разложены в произведение параллельного переноса и поворота, называются ортогональными преобразованиями первого рода, а остальные — ортогональными преобразованиями второго рода.

Ортогональное преобразование в декартовой прямоугольной системе координат записывается формулами:
$$
begin
& x^=x cos varphi mp y sin varphi+c_,\
& y^=x sin varphi pm y cos varphi+c_.
end.nonumber
$$
При верхних знаках коэффициентов у (y) в этих формулах детерминант, составленный из коэффициентов, равен +1, а при нижних знаках он равен —1. Отсюда и из формулы eqref следует следующее утверждение.

Ортогональное преобразование первого рода записывается в декартовой прямоугольной системе координат формулами
$$
begin
& x^=x cos varphi mp y sin varphi+c_,\
& y^=x sin varphi pm y cos varphi+c_.
end.nonumber
$$
с верхними знаками у коэффициентов при (y), а ортогональное преобразование второго рода — с нижними знаками.

Видео:Поворот и параллельный перенос координатных осей. ЭллипсСкачать

Поворот и параллельный перенос координатных осей.  Эллипс

Разложение аффинного преобразования.

Мы видели, насколько аффинное преобразование может изменить плоскость: окружность может перейти в эллипс, правильный треугольник — в совершенно произвольный. Казалось бы, никакие углы при этом сохраниться не могут. Однако имеет место следующее утверждение

Для каждого аффинного преобразования существуют две взаимно перпендикулярные прямые, которые переходят во взаимно перпендикулярные прямые.

Для доказательства рассмотрим какую-либо окружность. При данном аффинном преобразовании она перейдет в эллипс. Каждая ось эллипса — множество середин хорд, параллельных другой оси. При аффинном преобразовании хорда перейдет в хорду, параллельность должна сохраниться, а середина отрезка переходит в середину его образа. Поэтому прообразы осей эллипса — отрезки, обладающие тем же свойством: каждый из них есть множество середин хорд окружности, параллельных другому отрезку. Такие отрезки непременно являются двумя взаимно перпендикулярными диаметрами окружности. Это то, что нам требовалось: существуют два взаимно перпендикулярных диаметра окружности, которые переходят во взаимно перпендикулярные отрезки — оси эллипса.

Стоит отметить один особый случай: окружность при аффинном преобразовании может перейти в окружность. В этом случае то же рассуждение проходит с любыми двумя взаимно перпендикулярными диаметрами окружности-образа. Очевидно, что при этом любые два взаимно перпендикулярных направления остаются перпендикулярными.

Два взаимно перпендикулярных направления называются главными или синугулярными направлениями аффинного преобразования (f), если они переходят во взаимно перпендикулярные направления.

Каждое аффинное преобразование раскладывается в произведение ортогонального преобразования и двух сжатий к двум взаимно перпендикулярным прямым.

Доказательство аналогично доказательству теоремы 1. Рассмотрим аффинное преобразование (f) и выберем равнобедренный прямоугольный треугольник (ABC) так, чтобы его катеты (AB) и (AC) были направлены вдоль главных направлений преобразования (f). Обозначим через (A^), (B^) и (C^) образы его вершин. Сделаем такое ортогональное преобразование (g), при котором (g(A)=A^), а точки (g(B)) и (g(C)) лежат соответственно на лучах (A^B^) и (A^C^). (Этого легко добиться, как и в теореме 1, параллельным переносом, поворотом и осевой симметрией.)

Пусть (lambda=|A^B^|/|A^g(B)|), a (mu=|A^C^|/|A^g(C)|). Тогда сжатие (p_) к прямой (A^C^) в отношении (lambda) переведет (g(B)) в (p_g(B)=B^) и не сдвинет точек (A^) и (g(C)). Аналогично, сжатие (p_) к прямой (A^B^) переведет (g(C)) в (p_g(C)=C^) и не сдвинет точек прямой (A^B^).

Это означает, что произведение (p_p_g) переводит точки (A), (B) и (C) в точки (A^), (B^) и (C^) так же, как и заданное нам преобразование (f). Согласно ранее доказанному утверждению имеем (p_p_g=f), как и требовалось.

Видео:Геометрия и группы. Алексей Савватеев. Лекция 10.3. Аффинное пространствоСкачать

Геометрия и группы. Алексей Савватеев. Лекция 10.3. Аффинное пространство

Решение задач с помощью аффинных преобразований

Разделы: Математика

Для начала: на чем основывается метод решения с помощью аффинных преобразований?

Необходим некий краткий теоретический материал для учащихся.

Сообщаем, что система координат не обязательно должна быть прямоугольной. Если выбрать на плоскости 3 точки При аффинном преобразовании окружности эллипс, не лежащие на одной прямой, то они и будут задавать аффинную систему координат, а точка При аффинном преобразовании окружности эллипси векторы При аффинном преобразовании окружности эллипси При аффинном преобразовании окружности эллипсобразуют аффинный репер (базис).

При аффинном преобразовании окружности эллипс

Сообщаем, что система координат не обязательно должна быть прямоугольной. Если выбрать на плоскости 3 точки При аффинном преобразовании окружности эллипс, не лежащие на одной прямой, то они и будут задавать аффинную систему координат, а точка При аффинном преобразовании окружности эллипси векторы При аффинном преобразовании окружности эллипси При аффинном преобразовании окружности эллипсобразуют аффинный репер (базис).

Определение 1. Пусть в плоскостях При аффинном преобразовании окружности эллипси При аффинном преобразовании окружности эллипсзаданы два аффинных репера При аффинном преобразовании окружности эллипси При аффинном преобразовании окружности эллипс, соответственно. Отображение При аффинном преобразовании окружности эллипсплоскости При аффинном преобразовании окружности эллипсна плоскость При аффинном преобразовании окружности эллипсназывается аффинным отображением плоскостей, если при этом отображении точка При аффинном преобразовании окружности эллипсс координатами При аффинном преобразовании окружности эллипсв системе координат При аффинном преобразовании окружности эллипс(репере При аффинном преобразовании окружности эллипс) переходит в точку При аффинном преобразовании окружности эллипсс теми же координатами в системе координат При аффинном преобразовании окружности эллипс(репере При аффинном преобразовании окружности эллипс).

Свойства аффинных преобразований:

1) По свойствам координат аффинное преобразование является взаимно однозначным отображением плоскости на плоскость:

— каждая точка имеет образ и притом только один;

— разные точки имеют разные образы;

— каждая точка области значений имеет прообраз.

2) Так как аффинное отображение сохраняет координаты точек, то оно сохраняет уравнения фигур. Отсюда следует, что прямая переходит в прямую.

3) Преобразование, обратное к аффинному, есть снова аффинное преобразование.

4) Точки, не лежащие на одной прямой, переходят в точки, не лежащие на одной прямой, а, значит, пересекающиеся прямые — в пересекающиеся прямые, а параллельные – в параллельные.

5) При аффинных преобразованиях сохраняются отношения длин отрезков, лежащих на одной или параллельных прямых.

6) Отношения площадей многоугольников также сохраняются.

7) Не обязательно сохраняются отношения длин отрезков непараллельных прямых, углы.

Замечание 1: Если А, В, С — три точки плоскости, не лежащие на одной прямой, а При аффинном преобразовании окружности эллипс— три другие точки, не лежащие на одной прямой, то существует и притом только одно аффинное преобразование, переводящее точки А, В, С в точки При аффинном преобразовании окружности эллипс.

Замечание 2: Параллельное проектирование есть аффинное преобразование плоскости на плоскость. Кстати эта тема “Параллельное проектирование” присутствует в школьном учебнике геометрии 10-11(2000) Л. С. Атанасяна в приложении 1. В основном этот материал используется тогда, когда мы учим изображать пространственные фигуры на плоскости.

Чтобы представить, что могут аффинные преобразования, посмотрим картинки. Учащимся лучше всего именно наглядно показать применение аффинных преобразований на отвлеченном предмете и только потом переходить на геометрические фигуры.

Частным случаем аффинных преобразований являются преобразование подобия, гомотетия и движения. Движения — это параллельные переносы, повороты, различные симметрии и их комбинации. Другой важный случай аффинных преобразований — это растяжения и сжатия относительно прямой. На рисунке 2 показаны различные движения плоскости с нарисованным на ней домиком. А на рисунке 3 и 4 показаны различные аффинные преобразования этой плоскости (параллельное проектирование).

При аффинном преобразовании окружности эллипс

При аффинном преобразовании окружности эллипс

При аффинном преобразовании окружности эллипс

А вот на следующей картинке можно объяснить суть метода.

При аффинном преобразовании окружности эллипс

Если перед вами стоит задача о вычислении каких-то соотношений или пропорций на искаженном рисунке, например: найти отношение длины ушей к длине хвоста, то можно найти это отношение на более удобном рисунке (неискаженном), что намного проще, и найденное решение будет соответствовать и искаженному рисунку в том числе. Но нельзя искать отношение, например, длины ушей к толщине зайца, т.к. это отрезки непараллельных прямых.

Теперь перейдем к геометрическим фигурам. Как на них может работать этот метод?

Обычно, задачу можно решить методом аффинных преобразований, если нужно найти отношение длин, отношение площадей, доказать параллельность или принадлежность точек одной прямой. Причем в условии задачи не должны содержаться данные, не сохраняющиеся при аффинных преобразованиях.

Свойства фигур называются аффинными, если они сохраняются при аффинных отображениях. Например, быть медианой треугольника- это аффинное свойство (середина стороны переходит в середину при аффинном отображении), а быть биссектрисой – нет.

Суть метода при решении геометрических задач.

Часто бывает удобно при решении задач на аффинные свойства перейти с помощью аффинных преобразований к более простым фигурам, например, к правильному треугольнику. А затем с помощью обратного аффинного преобразования перенести полученный результат на искомую фигуру.

Для начала можно решить всем известную задачу о точке пересечения медиан треугольника.

Задача 1. Доказать, что медианы произвольного треугольника пересекаются в одной точке и делятся в отношении 2:1, считая от вершины.

При аффинном преобразовании окружности эллипс

Решение (по алгоритму).

Пусть дан треугольник ABC. 1) Проверим аффинные свойства фигуры. Треугольник (по замечанию 1) является аффинной фигурой, быть медианой — это тоже аффинное свойство и отношения длин отрезков также сохраняется при аффинном отображении.

2) Значит, можно перейти к более удобной фигуре — равностороннему треугольнику.

3) Возьмем равносторонний треугольник При аффинном преобразовании окружности эллипс. У этого треугольника медианы При аффинном преобразовании окружности эллипс, пересекаются в одной точке (как высоты или биссектрисы равностороннего треугольника) и делятся этой точкой в отношении 2:1, считая от вершины. Действительно, При аффинном преобразовании окружности эллипси При аффинном преобразовании окружности эллипс. А отношение При аффинном преобразовании окружности эллипсиз прямоугольного треугольника При аффинном преобразовании окружности эллипс. Значит, При аффинном преобразовании окружности эллипс.

4) Зададим аффинное отображение, переводящее треугольник При аффинном преобразовании окружности эллипсв треугольник АВС. При этом отображении медианы треугольника При аффинном преобразовании окружности эллипспереходят в медианы треугольника АВС и их точка пересечения переходит в точку пересечения их образов и она делит медианы произвольного треугольника ABC в отношении 2:1, считая от вершины.

5) Утверждение для произвольного треугольника доказано.

Задача 2. Доказать, что в любой трапеции середины оснований, точка пересечения диагоналей и точка пересечения продолжений боковых сторон лежат на одной прямой.

Пусть дана трапеция ABCD, в которой M и N – середины оснований, Q – точка пересечения диагоналей, О – точка пересечения продолжений боковых сторон.

При аффинном преобразовании окружности эллипс

1) Проверим аффинные свойства фигуры. Трапеция — аффинная фигура (так как трапеция переходит в трапецию), принадлежность точек одной прямой является аффинным свойством. Таким образом, и условие, и вопрос задачи относятся к аффинному классу задач. Значит, можно применить метод аффинных преобразований.

2) Возьмем произвольный равнобедренный треугольник При аффинном преобразовании окружности эллипс. Существует аффинное отображение, переводящее точки А в При аффинном преобразовании окружности эллипс, В в При аффинном преобразовании окружности эллипс, О в При аффинном преобразовании окружности эллипс. При этом аффинном отображении на отрезке При аффинном преобразовании окружности эллипссуществует точка При аффинном преобразовании окружности эллипс— образ точки D, а на отрезке При аффинном преобразовании окружности эллипс— точка При аффинном преобразовании окружности эллипс(образ точки С). Трапеция При аффинном преобразовании окружности эллипсравнобокая.

3) Доказать сформулированную задачу для равнобокой трапеции труда не составит (при чем не одним способом).

4) Таким образом, доказав, что точки При аффинном преобразовании окружности эллипс, При аффинном преобразовании окружности эллипс, При аффинном преобразовании окружности эллипс, При аффинном преобразовании окружности эллипслежат на одной прямой, применим свойство аффинных отображений (отображение, обратное к аффинному, есть снова аффинное отображение) и поэтому точки O, M, Q, N также лежат на одной прямой трапеции ABCD.

5) Доказанный факт справедлив и для произвольной трапеции.

Примечание. Четырехугольники аффинно эквивалентны тогда и только тогда, когда точка пересечения диагоналей делит их в одном и том же отношении.

Задача 3 (из диагностической работы по подготовке к ЕГЭ-2010). Через точку О, лежащую в треугольнике АВС, проведены три прямые, параллельные всем сторонам треугольника. В результате треугольник разбился на 3 треугольника и 3 параллелограмма. Известно, что площади полученных треугольников равны соответственно 1; 2.25 и 4. Найдите сумму площадей полученных параллелограммов (задача из диагностической работы по подготовке к ЕГЭ — 2010)

Решение, предложенное авторами

При аффинном преобразовании окружности эллипс

Но эту задачу легко решить с помощью аффинных преобразований.

  1. Проверим аффинные свойства фигуры. Треугольник является аффинной фигурой, параллельность также относится к аффинным свойствам. Так как известны площади, можно найти их отношение, которое будет сохраняться при аффинных преобразованиях.
  2. Пусть даны два треугольника: произвольный и равносторонний. Решить задачу на равностороннем треугольнике намного проще. Возьмем аффинное отображение, переводящее произвольный треугольник в равносторонний.
  3. Решаем задачу на равностороннем.

Треугольники, получившиеся внутри нашего равностороннего, являются подобными (по 2 углам). Следовательно, их площади относятся как квадрат коэффициента подобия, обозначим При аффинном преобразовании окружности эллипс— их стороны. Тогда При аффинном преобразовании окружности эллипси b=1,5При аффинном преобразовании окружности эллипс, аналогично При аффинном преобразовании окружности эллипси При аффинном преобразовании окружности эллипс. Сторона нашего равностороннего треугольника будет равна При аффинном преобразовании окружности эллипс. Его площадь можно найти, например, по формуле При аффинном преобразовании окружности эллипс. Чтобы найти сумму площадей параллелограммов, надо из общей площади треугольника вычесть сумму площадей всех треугольников При аффинном преобразовании окружности эллипс.

По свойствам аффинных отображений решение справедливо и для произвольного треугольника.

Мы рассмотрели планиметрические задачи, но свойства аффинных преобразований работают и в пространстве. Например, образом тетраэдра может служить произвольный заранее выбранный тетраэдр. У любого параллелепипеда аффинным образом может быть куб.

При аффинном преобразовании окружности эллипс

Задача 4 (стереометрическая). Докажите, что диагональ При аффинном преобразовании окружности эллипспараллелепипеда При аффинном преобразовании окружности эллипспроходит через точки пересечения медиан треугольников При аффинном преобразовании окружности эллипси При аффинном преобразовании окружности эллипси делится этими точками на три равных отрезка.

Это №372 из учебника Атанасяна (11 класс). В учебнике дано ее решение векторным методом. Но можно применить метод аффинных преобразований, решив эту задачу на кубе уже в 10 классе.

В этой задаче с помощью аффинных преобразований докажем равенство трех отрезков.

1) Проверим аффинные свойства фигуры и условия задачи. Аффинным образом любого параллелепипеда может быть куб. Деление отрезка в заданном отношении – это аффинное свойство.

2) Рассмотрим одноименный куб При аффинном преобразовании окружности эллипс, в котором диагональ При аффинном преобразовании окружности эллипспроходит через точки пересечения медиан треугольников При аффинном преобразовании окружности эллипси При аффинном преобразовании окружности эллипс.

При аффинном преобразовании окружности эллипс

3) Докажем, что диагональ делится этими точками на три равных отрезка.

1. Рассмотрим пирамиду При аффинном преобразовании окружности эллипс. В ней При аффинном преобразовании окружности эллипс= При аффинном преобразовании окружности эллипс=При аффинном преобразовании окружности эллипс— ребра куба, а При аффинном преобразовании окружности эллипс= При аффинном преобразовании окружности эллипс= При аффинном преобразовании окружности эллипскак диагонали равных граней, При аффинном преобразовании окружности эллипс— точка пересечения медиан треугольникаПри аффинном преобразовании окружности эллипсПри аффинном преобразовании окружности эллипс, она же точка пересечения биссектрис, следовательно, является центром вписанной окружности, т.е. центром правильного треугольника. При аффинном преобразовании окружности эллипс— высота правильной пирамиды При аффинном преобразовании окружности эллипс. Вычислим длину При аффинном преобразовании окружности эллипс, предварительно взяв ребро куба за При аффинном преобразовании окружности эллипс. Тогда При аффинном преобразовании окружности эллипс= При аффинном преобразовании окружности эллипс= При аффинном преобразовании окружности эллипс=При аффинном преобразовании окружности эллипс, а При аффинном преобразовании окружности эллипс— радиус описанной окружности. Найдем При аффинном преобразовании окружности эллипсиз треугольника При аффинном преобразовании окружности эллипс. Тогда При аффинном преобразовании окружности эллипс= При аффинном преобразовании окружности эллипс.

2. Аналогично найдем При аффинном преобразовании окружности эллипс=При аффинном преобразовании окружности эллипсв пирамиде При аффинном преобразовании окружности эллипс.

3. Из треугольника При аффинном преобразовании окружности эллипснаходим диагональ куба При аффинном преобразовании окружности эллипс=При аффинном преобразовании окружности эллипс.

4. Вычислим При аффинном преобразовании окружности эллипс=При аффинном преобразовании окружности эллипс-(При аффинном преобразовании окружности эллипс+При аффинном преобразовании окружности эллипс)=При аффинном преобразовании окружности эллипс.

5. Получили При аффинном преобразовании окружности эллипс=При аффинном преобразовании окружности эллипс=При аффинном преобразовании окружности эллипс. Значит, точки При аффинном преобразовании окружности эллипси При аффинном преобразовании окружности эллипсделят диагональ При аффинном преобразовании окружности эллипскуба на три равных отрезка.

4) Существует аффинное отображение, переводящее куб в произвольный параллелепипед. Значит, эта задача будет верна и для произвольного параллелепипеда.

5) Обобщения. Какие свойства, доказанные на кубе, сохранятся для произвольного параллелепипеда, а какие нет (обсудить с учащимися).

Например: параллельность плоскостей и отношение сохранится, перпендикулярность диагонали плоскостям нет, правильные треугольники не сохранятся, так же как и центр правильного треугольника, он перейдет в точку пересечения медиан.

Таким образом, уже в 10 классе можно делать с учащимися обобщения для произвольных фигур, пользуясь свойствами аффинных отображений.

Мы рассмотрели задачи программного уровня, а теперь рассмотрим задачи продвинутого уровня.

Вот задача, предложенная учащимся 11-го класса на олимпиаде в этом году. Никто, к сожалению, с ней не справился. Посмотрим, как метод аффинных преобразований поможет нам ее решить.

Задача 5 (олимпиада 11 класс). Треугольная пирамида рассечена плоскостью так, что медианы боковых граней разбиты точками пересечения в отношении 2:1,3:1 и 4:1, считая от вершины пирамиды. В каком отношении, считая от вершины пирамиды, разбиты боковые рёбра? (Из материалов МГТУ им. Баумана). Ответ: 12:7 , 12:5, 12:1

Существует решение, предложенное авторами. В этом решении отсутствуют различные подробные вычисления, поэтому по объему решение недлинное, о сложности будете судить сами.

А решение с помощью аффинных преобразований мы рассмотрим.

1) В задаче фигурирует произвольная пирамида, в которой проведены медианы (а быть медианой — это аффинное свойство), на медианах взяты пропорциональные отрезки ( при аффинном преобразовании сохраняются отношения длин отрезков, лежащих на одной прямой). Значит, эту задачу можно решить для “удобной” пирамиды, а затем с помощью аффинного преобразования перенести результат на произвольную.

2) Решим задачу для пирамиды, у которой три плоских угла при вершине прямые. Поместим новую пирамиду в прямоугольную систему координат OXYZ.

При аффинном преобразовании окружности эллипс

3) Проведем медиану При аффинном преобразовании окружности эллипсна одной из граней. При аффинном преобразовании окружности эллипси При аффинном преобразовании окружности эллипс— средние линии треугольника АОВ. Точка При аффинном преобразовании окружности эллипс, такая что При аффинном преобразовании окружности эллипс. Тогда координаты точки К При аффинном преобразовании окружности эллипсили, учитывая, что При аффинном преобразовании окружности эллипси При аффинном преобразовании окружности эллипссередины соответственно ОА и ОВ, КПри аффинном преобразовании окружности эллипс.На другой грани проведем медиану При аффинном преобразовании окружности эллипс. На ней отметим точку М, такую что При аффинном преобразовании окружности эллипс. Аналогично находим координаты М При аффинном преобразовании окружности эллипсили М При аффинном преобразовании окружности эллипс.Наконец, точка N лежит на медиане При аффинном преобразовании окружности эллипси При аффинном преобразовании окружности эллипс, тогда N При аффинном преобразовании окружности эллипсили NПри аффинном преобразовании окружности эллипс.

Итак: КПри аффинном преобразовании окружности эллипсили К При аффинном преобразовании окружности эллипс, МПри аффинном преобразовании окружности эллипсили МПри аффинном преобразовании окружности эллипс

N При аффинном преобразовании окружности эллипсили NПри аффинном преобразовании окружности эллипс

Анализируя, выберем сами удобные числовые координаты для точек А(40;0;0), В(0;15;0), С(0;0;24).

Плоскость (MNK) пересекает ребра пирамиды в неких точках При аффинном преобразовании окружности эллипс. Найдем сначала координаты точки При аффинном преобразовании окружности эллипс(х; 0; 0). Точка При аффинном преобразовании окружности эллипсПри аффинном преобразовании окружности эллипс(KMN), если существуют При аффинном преобразовании окружности эллипстакие, что, допустим При аффинном преобразовании окружности эллипс(это векторы). Запишем координаты векторов При аффинном преобразовании окружности эллипс(15; -5; 1), При аффинном преобразовании окружности эллипс(16; 1; -8), При аффинном преобразовании окружности эллипс(х; -5; -8). Тогда имеет место следующая система уравнений При аффинном преобразовании окружности эллипс. Решаем ее: умножим второе уравнение на 8, получим При аффинном преобразовании окружности эллипс.Далее, сложив второе и третье, имеемПри аффинном преобразовании окружности эллипс. Откуда найдем При аффинном преобразовании окружности эллипси х При аффинном преобразовании окружности эллипс При аффинном преобразовании окружности эллипс При аффинном преобразовании окружности эллипс При аффинном преобразовании окружности эллипсПри аффинном преобразовании окружности эллипс При аффинном преобразовании окружности эллипсПри аффинном преобразовании окружности эллипсПри аффинном преобразовании окружности эллипс.

Нам надо найти отношение При аффинном преобразовании окружности эллипс. Значит, точка При аффинном преобразовании окружности эллипсделит ребро ОА в отношении 12:1. Вычисления тоже приличные, но понятные. Аналогично можно найти отношения и для двух других сторон.

Решив задачу на “удобной” пирамиде, учитывая, что существует аффинное преобразование, переводящее эту пирамиду в произвольную, переносим результат на произвольную пирамиду.

Если бы в условии данной задачи была предложена “удобная” пирамида, наверное, кто-то из учеников сделал хотя бы попытки решить задачу.Метод аффинных преобразований позволяет трудные факты свести к легкому доказательству.

Например, доказать следующую задачу 6: Пусть заданы два треугольника АВС и При аффинном преобразовании окружности эллипсв одной плоскости. Прямые, проходящие через соответсвующие вершины этих треугольников пересекаются в одной точке S. Если прямые, содержащие соответсвующие стороны этих треугольников попарно пересекаются, то точки пересечения лежат на одной прямой.

Любой четырехугольник может рассматриваться, как образ тетраэдра при параллельной проекции на плоскость. Рассмотрим четырехугольник SABС.

При аффинном преобразовании окружности эллипс

Существует аффинное преобразование f, переводящее его в четырехугольник При аффинном преобразовании окружности эллипс, который в свою очередь является изображением некой пирамиды При аффинном преобразовании окружности эллипс. При аффинном преобразовании окружности эллипсПри аффинном преобразовании окружности эллипс. При аффинном отображении При аффинном преобразовании окружности эллипс. А точки При аффинном преобразовании окружности эллипсявляются изображением точек При аффинном преобразовании окружности эллипспирамиды При аффинном преобразовании окружности эллипс, образующих некоторое сечение пирамиды. Решая задачу на аффинном образе, мы получим результат, который с помощью обратного аффинного преобразования перенесем на первоначальный рисунок. Чтобы избавиться от лишней символики, будем смотреть на конфигурацию Дезарга (первый рисунок) как на изображение пирамиды SABC с сечением плоскостью При аффинном преобразовании окружности эллипс. А чтобы доказать принадлежность трех точек одной прямой, построим пересечение плоскостей АВС и При аффинном преобразовании окружности эллипс(так как две плоскости пересекаются по прямой).

Построение.1) При аффинном преобразовании окружности эллипс, 2) При аффинном преобразовании окружности эллипсПри аффинном преобразовании окружности эллипс, 3) При аффинном преобразовании окружности эллипс

В пересечении плоскостей три точки, следовательно, они лежат на одной прямой. Эта задача (теорема Дезарга) доказана.

В продолжение такого применения аффинных преобразований (решение пространственной задачи как планиметрической) можно рассмотреть еще одну интересную задачу.

Задача (Соросовская олимпиада)

Даны три луча При аффинном преобразовании окружности эллипсв плоскости и три точки A, B, C. Построить треугольник с вершинами на этих лучах, стороны которого проходят через точки A, B, C соответственно (помощью одной линейки).

То есть картинка должна быть примерно такая.

При аффинном преобразовании окружности эллипс

Будем рассматривать эту картинку как аффинный образ (при некотором аффинном отображении) пирамиды XOYZ на плоскость. Вершины пирамиды лежат на осях координат, а точки А, В, С — точки в координатных плоскостях. Тогда задача сводится к тому, чтобы построить линии пересечения плоскости (АВС) с координатными плоскостями. Существует, конечно, способ построения с помощью циркуля и линейки, но нам он не нужен. Итак, без циркуля.

  1. Возьмем произвольную точку S на луче При аффинном преобразовании окружности эллипс.
  2. Проведем прямые При аффинном преобразовании окружности эллипси При аффинном преобразовании окружности эллипс.
  3. При аффинном преобразовании окружности эллипс, При аффинном преобразовании окружности эллипсПри аффинном преобразовании окружности эллипс.
  4. При аффинном преобразовании окружности эллипс, такая, что Р и С лежат в одной плоскости.
  5. При аффинном преобразовании окружности эллипс, При аффинном преобразовании окружности эллипс
  6. При аффинном преобразовании окружности эллипс
  7. ZY, При аффинном преобразовании окружности эллипс
  8. XYZ — искомый треугольник.

Выводы.

Итак, вам был представлен метод решения задач с помощью аффинных преобразований. Подведем итоги.

  • Метод позволяет перейти от более сложного к более простому для осуществления процесса решения.
  • Носит обобщающий характер.
  • Имеет широкую область применения, в том числе в смежных областях.
  • Позволяет интегрировать разные разделы математики.
  • Осмысление и применение данного метода формирует у учащихся конструктивный подход к решению задач и критичность мышления.
  • Геометрия: Учеб.для 10-11 кл.общеобразоват.учреждений/Л.С. Атанасян, В.Ф. Бутузов, С.Б. Кадомцев и др. -М.: Просвещение, 2007.
  • И. Кушнир “Математическая энциклопедия”. Астарта. Киев.1995.
  • Р. Хартсхорн “Основы проективной геометрии”. Издательство “Мир”. Москва.1970.
  • Видео:Лекция 31.1. Кривые второго порядка. ЭллипсСкачать

    Лекция 31.1. Кривые второго порядка. Эллипс

    Аффинные преобразования на плоскости

    IP76 > Аффинные преобразования на плоскости

    При аффинном преобразовании окружности эллипс

    Аффинные преобразования на плоскости используются в машинной графике повсеместно. Придумал их Эйлер в 18 веке, развил Мёбиус в 19-ом, в 20-м они переместились в графический адаптер и теперь являются неотъемлемой частью нашей с вами жизни…

    Аффинное преобразование — это изменение единичной матрицы с учетом матриц масштабирования, перемещения, сдвига и поворота (ниже, в разделе «Ссылки по теме» есть пункт об этих матрицах).

    Не смотря на простоту метода, с его применением возникают какие-то сложности, связанные, видимо, с непониманием, почему именно такие матрицы, почему важен порядок, почему это должно работать.

    Хотя, как мне кажется, больше отпугивает само понятие матрицы. Давайте рассмотрим, почему матрицы имеют такие коэффициенты и как это все работает.

    Видео:OpenGL - Урок 3 - Матрица преобразований. Перемещение, вращение, масштаб.Скачать

    OpenGL - Урок 3 - Матрица преобразований. Перемещение, вращение, масштаб.

    Ссылки по теме

    Видео:Семинар №12 "Аффинные преобразования плоскости"Скачать

    Семинар №12 "Аффинные преобразования плоскости"

    Поворот

    Предположим, стоит задача повернуть прямоугольник на некоторый угол относительно его центра. Очевидно, надо рассчитать 4 угловые точки и построить по ним полигон.

    При аффинном преобразовании окружности эллипс Рис.1. Поворот точки Р1 на угол β

    Имеем некий прямоугольник с вершинами в точках P1, P2, P3, P4. Рассмотрим точку P1(x,y). Она отстоит от оси абсцисс на угол α. Повернем ее на угол β. Очевидно, что вращение происходит по окружности с центром, находящимся в центре заданного прямоугольника O(x,y).

    Рассчитаем координаты новой точки P1′( x′, y′).

    Где R – радиус окружности на которой расположена точка P1, и равен (O, P1). Воспользуемся формулами сложения углов (1.1 и 2.1) из справочника:

    При аффинном преобразовании окружности эллипс Рис.2. Координаты точки P1 через угол α

    Замечаем, что R × cos(α) это не что иное, как координата X точки P1, а R × sin(α) – координата Y. Таким образом, формулы расчета координат новой точки P1′ приобретают вид:

    Чтобы выйти на правильную позицию на холсте, прибавим к полученным значениям координаты центра прямоугольника:

    И мы только что получили матрицу поворота аффинного преобразования.

    При аффинном преобразовании окружности эллипс Рис.3. Поворот прямоугольника на угол β относительно его центра

    В общем виде формулы можно записать как:

    В матричном виде:

    Где: M11, M12, M21, M22, Dx, Dy – коэффициенты, определяющие преобразование.

    Теперь представим себе, что прямоугольник – это на самом деле бесконечная плоскость. И к каждой точке этой плоскости применены одна и те же формула трансформации. Вот это и будет называться аффинным преобразованием на плоскости.

    Таким образом, матрицей поворота будет следующая:

    Видео:ВСЯ ПРАВДА ПРО АФФИННОЕ ПРЕОБРАЗОВАНИЕСкачать

    ВСЯ ПРАВДА ПРО АФФИННОЕ ПРЕОБРАЗОВАНИЕ

    Сдвиг

    Еще одно интересное преобразование. Состоит из вертикального сдвига, когда меняется только координата Y, и горизонтального, когда меняется только X.

    Для определения величин сдвигов будем использовать углы отклонения от горизонтали или вертикали, т.к. это наиболее часто встречающаяся ситуация.

    Снова рассматриваем прямоугольник, помня, что это на самом деле плоскость.

    При аффинном преобразовании окружности эллипс Рис.4. Плоскость с центром трансформации в левой нижней точке P3

    Для наглядности деформация будет происходить относительно левой нижней точки P3.

    Вначале деформируем следующим образом:

    При аффинном преобразовании окружности эллипс Рис.5. Вертикальный сдвиг

    При вертикальном сдвиге координаты X не меняются. Изменяются координаты Y. В данном случае координата Y точки P1 изменилась на расстояние (P2,P2′).

    Из чего получим формулу преобразования для Y:

    При аффинном преобразовании окружности эллипс Рис.6. Вертикальный + горизонтальный сдвиги

    Теперь добавим горизонтальный сдвиг. Координата X точки P1 изменилась на расстояние (P4,P4′), которое рассчитывается аналогичным образом.

    В итоге, формулы для трансформации сдвига выглядят следующим образом:

    В позиции M12 находится коэффициент, на который нужно умножить расстояние X, чтобы получить величину вертикального смещения по Y. Аналогично, в позиции М21 находится коэффициент, на который умножается расстояние Y для определения горизонтального сдвига. Это на тот случай, если не нужны углы и заранее знаем, на какие величины хотим деформировать.

    Видео:Аналитическая геометрия: Эллипс, Парабола, Гипербола. Высшая математикаСкачать

    Аналитическая геометрия: Эллипс, Парабола, Гипербола. Высшая математика

    Перемещение и масштабирование

    Это очень простые матрицы и в свете всего вышесказанного, думаю, понятные и останавливаться на них особого смысла нет. Поэтому, для полноты картины, просто приведу.

    ПермещениеМасштабирование

    Видео:Лекция №11. Геометрические свойства аффинных преобразованийСкачать

    Лекция №11. Геометрические свойства аффинных преобразований

    Композиция

    Давайте сейчас воспринимать композицию, как перемножение матриц в порядке слева направо. На самом деле порядок может быть и обратным — когда матрицы домножаются в начало матричного выражения. Об особенностях порядка перемножения рассказано тут.

    Предположим, у нас есть следующее преобразование:

    На которое следом идет такое преобразование:

    Раскроем скобки и преобразуем:

    Это ничто иное, как перемножение матриц коэффициентов:

    Соответственно, расчет новых координат выглядит как:

    Понятно, что можно умножить получившуюся матрицу на матрицу третьего преобразования, четвертого и т.д. Таким образом, чтобы получить коэффициенты сложного аффинного преобразования, нужно перемножить матрицы коэффициентов в порядке применения трансформаций.

    Утверждение, прямо скажем, смелое, но правильное.

    Проверим. Допустим, я хочу вначале применить деформацию, а потом повернуть на угол.

    При аффинном преобразовании окружности эллипс Рис.7. Деформация без поворота

    На рисунке 7 пока только деформация. Теперь к деформированному прямоугольнику (плоскости) применяю поворот на 80 градусов.

    При аффинном преобразовании окружности эллипс Рис.8. Деформация + поворот

    Расчет координат в точности воспроизводит приведенные выше выкладки:

    Видео:A.7.24 Так что же меняет аффинное преобразование?Скачать

    A.7.24 Так что же меняет аффинное преобразование?

    Применение

    Аффинные преобразования изменяют геометрию плоскости, при этом сохраняя параллельность линий и соотношение расстояний.

    Безусловно, это один из основных методов обработки изображений. Аффинные преобразования используются для исправления искажений и деформаций, возникающих при не самых идеальных ракурсах камеры. Широко используется в машинном обучении и компьютерном зрении.

    Лично мне чаще всего попадались проблемы, которые обобщенно можно выразить двумя вопросами:

    Эти два вопроса объединяет одно. Изображение – набор точек, эллипс — геометрическое место точек. Решая вопрос в лоб, надо к каждой точке применить функции поворота. И если для изображения – ну, может быть, то к эллипсу, как фигуре векторной графики, это выглядит топорней некуда.

    Аффинное преобразование – это преобразование плоскости. Применяя к плоскости некую трансформацию, мы понимаем, что эта трансформация применяется к каждой точке плоскости. Чтобы плоскость не содержала, это вытянется, сожмется, деформируется, повернется вместе с плоскостью.

    Видео:Аналитическая геометрия, 7 урок, Линии второго порядкаСкачать

    Аналитическая геометрия, 7 урок, Линии второго порядка

    Центр трансформации

    Все что мы делали ранее, происходило относительно либо центра прямоугольника, либо одной из его вершин. Это центр трансформации. По сути – это начало координат той координатной системы, в которой происходит трансформация. Поэтому, перед всеми преобразованиями необходимо установить центр системы координат.

    В Windows этим занимается функция:

    С этой функцией обычно идет еще набор функций, типа изменения окна вывода. Сейчас пока это все не нужно. После применения этой функции начало координат из верхнего левого угла переместиться в указанную точку. Все геометрические построения должны это учитывать. Поэтому лучше изначально писать код так, чтобы все рисовки были в относительных координатах.

    Видео:Эллипс, парабола и гипербола. Конические сечения | Ботай со мной #055 | Борис Трушин |Скачать

    Эллипс, парабола и гипербола. Конические сечения | Ботай со мной #055 | Борис Трушин |

    Аффинное преобразование Windows

    В основе работы с аффинным преобразованием лежит изменение матрицы с учетом масштабирования, перемещения, деформации или поворота. В Windows GDI за матрицу отвечает класс TXForm.

    Знакомые обозначения. Поля имеют смысл ровно тот, который описан и в справочнике, и выше в статье. Это коэффициенты матрицы преобразования.

    Необходимо проинициализировать поля записи и применить преобразование функцией Windows GDI:

    Однако, работать с мировыми координатами и аффинными преобразованиями в Windows GDI — удовольствие так себе. Поэтому рекомендуется это делать в GDI+.

    В GDI+ есть масса вариантов, сильно облегчающих жизнь при трансформации плоскости. Но сейчас в плане статьи стоит задача работать именно через матрицы преобразования, поэтому работаем следующим образом.

    Необходимо создать экземпляр класса TGPMatrix. Затем проинициализировать его методом:

    Снова знакомые имена аргументов. Аргументы имеют тот же смысл, что и поля записи TXForm.

    После инициализации применяем трансформацию методом TGPGraphics:

    После этих манипуляций рисуем все, что хотим нарисовать, не заботясь о расчетах, углах и синусах.

    Представим, что один человек рисует портрет, а второй стоит сбоку и смотрит на холст. Для него портрет выглядит деформированным, а для художника, который смотрит прямо, портрет вполне себе правильный, не трансформированный и пока нравится. Что-то похожее происходит при аффинных преобразованиях. Правда, в приведенном примере трансформация перспективная. Но сути дела это не меняет.

    Рекомендован следующий порядок при работе с аффинными преобразованиями:

    1. Назначение нового центра координат (спорное утверждение)
    2. Инициализация матрицы преобразования
    3. Применение матрицы
    4. Рисуем эллипс

    Видео:Аффинная геометрияСкачать

    Аффинная геометрия

    Композиция

    Как выше говорилось, при сложном преобразовании, состоящим из нескольких трансформаций, необходимо перемножить матрицы в порядке применения преобразований. За это отвечает функция Windows GDI:

    Здесь p2 и p3 — первая и вторая структуры TXForm, результат их комбинирования будет находиться в параметре p1. Т.е. надо понимать, что p3 – это преобразование, накладываемое на p2, т.е. идущее следом за ним. Порядок применения матриц очень важен.

    Видео:Определение проективного преобразованияСкачать

    Определение проективного преобразования

    Практика

    Весь исходный код можно скачать по ссылке ниже. Чтобы не загромождать буду фрагментировать. Если приводить весь код в статье, до конца можно никогда не добраться.

    Перед вызовом этой функции точка начала координат уже установлена в центр прямоугольника.

    Видео:Видеоурок "Преобразование координат"Скачать

    Видеоурок "Преобразование координат"

    Аффинный поворот

    Итак, у нас есть демонстрационной приложение, написанное для статьи. Внизу есть ряд кнопок 1..15. Это разные режимы демонстрации. Режимы 9..11 отвечают за демонстрацию аффинных преобразований с предварительным назначением нового центра координат . В режиме 9 видим такую картину:

    При аффинном преобразовании окружности эллипс Рис.9. «Спокойное» аффинное преобразование

    Ну, это мы уже видели. Однако, если повернуть прямоугольник, за вершину P1 или в поле «Rotate Angle» увидим интересное изменение:

    При аффинном преобразовании окружности эллипс Рис.10. Подписи к вершинам тоже под углом

    Помимо поворота непосредственно прямоугольника, повернулись и подписи вершин.

    Преобразование применятся к плоскости, к каждой точке плоскости. Грубо говоря, преобразование применяется ко всему, что на плоскости.

    Поэтому, можно предположить, что такой же фокус пройдет и с эллипсом:

    При аффинном преобразовании окружности эллипс Рис.11. Эллипс под углом

    То же самое касается и изображения:

    При аффинном преобразовании окружности эллипс Рис.12. Изображение под углом

    В чем, собственно, прелесть аффинных преобразований и состоит. Не надо считать каждую точку, писать километры кода. Мы просто рисуем, как будто и нет никаких преобразований, все также прямоугольно, параллельно и перпендикулярно. Все расчеты берет на себя плоскость, к которой применили преобразование.

    Фрагмент из вышеприведенного кода:

    В функции DrawEllipse нет ничего особенного, вынесена, чтобы не загромождать код:

    Т.е. не взирая на все требуемые повороты, деформации и прочие издевательства, спокойно рисуем все в том же прямоугольнике val, все теми же обычными методами.

    Видео:Кривые второго порядка. Эллипс. Приведение к каноническому виду и чертежСкачать

    Кривые второго порядка. Эллипс. Приведение к каноническому виду и чертеж

    Аффинный сдвиг

    Аналогичные чудеса в режиме деформации сдвига (кнопка 10):

    При аффинном преобразовании окружности эллипс Рис.13. Поперечная деформация (сдвиг) кота

    Перед рисованием инициализируем матрицы TXForm и в зависимости, от того что требуется, применяем ту или иную матрицу. Фрагмент из кода выше:

    Видео:Пенской А. В. - Аналитическая геометрия - Полярное соответствие. Аффинные преобразованияСкачать

    Пенской А. В. - Аналитическая геометрия - Полярное соответствие. Аффинные преобразования

    Аффинная композиция

    В коде выше присутствует композиция матриц — CombineTransform. Последовательность преобразований такая — вначале деформация, потом поворот. Проинспектируем кнопкой 11.

    При аффинном преобразовании окружности эллипс Рис.14. Деформированный, повернутый, замученный кот

    Сравним с деформацией на рис.8. Там мы делали композицию матриц руками (в интерфейсе – режим 8), теперь этим занимается Windows GDI.

    При аффинном преобразовании окружности эллипс Рис.15. Все правильно делаем

    Перед вызовом функции DrawAffine, необходимо перевести центр системы координат в центр прямоугольника. Напомню, начало системы координат – это центр трансформации. Именно вокруг него вертится вселенная.

    Это фрагмент обработчика OnPaint того PaintBox, на котором рисуем . Вначале идет вызов SetViewportOrgEx, что переводит начало координат в центр прямоугольника. Потом происходит коррекция прямоугольника области рисования OffsetRect(rct, -Trunc(pnt.X), -Trunc(pnt.y)), иначе все координаты «уплывут» вправо на величину (pnt.x, pnt.y), затем вызов DrawAffine.

    Видео:Эллипс - Инженерная графика.Скачать

    Эллипс - Инженерная графика.

    Если б мышь знала… Координаты вершин

    В приложении есть возможность таскать за некоторые вершины. Тут возникает проблема. Если применяем аффинное преобразование, координаты точек, за которые можно «ухватиться» сильно отличаются от координат в «нормальном» состоянии координатной системы. Поэтому, перед тем как плоскость начнет изменяться, необходимо рассчитать нужные точки, т.е. координаты, понятные мышке.

    И только после этого

    Функции расчета достались в наследство от предыдущих этапов, когда экспериментировали над прямоугольником без применения аффинных преобразования. Не зря ж в конечном счете экспериментировали.

    Конечно, можно сформировать и скомбинировать матрицы, взять коэффициенты и посчитать по формуле. Почти как в CalcComboPoints.

    В GDI+ в TGPMatrix для этих целей существуют методы:

    Здесь они не используются. Потом как-нибудь обязательно вернемся к ним.

    Смещать ли начало координат?

    Теоретически рекомендуется делать именно так, смещать и потом трансформировать. И, возможно, это правильно. Но можно обойтись и без этого. Просто привычней работать в «обычной» системе координат, когда точка (0,0) системы находится в левом верхнем углу.

    По сути, как это делается, мы уже рассмотрели в самом начале статьи, когда вращали прямоугольник, считали координаты вершин и смещали в нужное место. Давайте это сделаем с помощью аффинных преобразований.

    Порядок действий таков:

    1. Определяемся с прямоугольником, в котором что-то хотим нарисовать
    2. Определяемся с центром трансформации (pnt), т.е. точкой, вокруг которой будет происходить трансформация
    3. Смещаем прямоугольник на -pnt.x, -pnt.y, тем самым совмещая центр трансформации с началом координат
    4. Формируем матрицу трансформации
    5. Добавляем матрицу перемещения с параметрами (или просто инициализируем в текущей матрице) eDx=pnt.x, eDy=pnt.y
    6. Рисуем в получившемся смещенном прямоугольнике

    Сильно сократил код за счет того, что не использую TXForm, а инициализирую сразу TGPMatrix. Что тут изменилось. В матрицу поворота добавил еще смещение в точку (ACenter.x, ACenter.y) – центр прямоугольника, или центр трансформации. Перед рисованием сместил прямоугольник отрисовки так, чтобы он оказался центрирован по началу координат, т.е. точки (0,0). Аффинное преобразование отработает поворот и сместиться на указанные величины по x и y.

    Т.е. произойдет ровно тоже самое, что мы делали руками, когда прибавляли координаты центра к расчетным значениям вершин.

    В демонстрационном примере это режимы 12..14, которые визуально будут совпадать с 9..11, с той лишь разницей, что перевода центра координат не происходит.

    Чтобы продемонстрировать, работоспособность метода, существует последний режим – 15. Помимо основного прямоугольника, рисуется звезда и текст под углом, обратным текущему. Текст в дополнение к повороту также подвергается масштабированию.

    При аффинном преобразовании окружности эллипс Рис.16. Аффинные преобразования в любой требуемой точке плоскости

    Я грозился вернуться к теме поворота звезд. Говорил, что есть более правильные методы. Брутальная звезда имени Стетхама, помните? Так вот, наиболее правильным будет вращать звезды, и не только, через аффинное преобразование.

    Процедура, отвечающая за рисовку всего этого хозяйства:

    Поделиться или сохранить к себе: