Матрицы аффинных преобразований. Аффинные преобразования. Разложение ортогонального преобразования

Жаропонижающие средства для детей назначаются педиатром. Но бывают ситуации неотложной помощи при лихорадке, когда ребенку нужно дать лекарство немедленно. Тогда родители берут на себя ответственность и применяют жаропонижающие препараты. Что разрешено давать детям грудного возраста? Чем можно сбить температуру у детей постарше? Какие лекарства самые безопасные?

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

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

  • оно взаимно однозначно;
  • образом любой прямой является прямая.

Преобразование называется взаимно однозначным , если

  • разные точки переходят в разные;
  • в каждую точку переходит какая-то точка.

Однородные координаты

Если рассмотреть параллельный перенос, то оказывается, что для его задания матрицы 2x2 уже недостаточно. Но его можно задать с помощью матрицы размера 3x3. Появляется вопрос, откуда взять третью координату у двумерной точки?

Определение. Однородные координаты - координаты, обладающие тем свойством, что определяемый ими объект не меняется при умножении всех координат на одно и то же число.

Однородными координатами вектора (х, у) является тройка чисел (x", y", h) , где х = х" / h, у = y"/h, а h - некоторое вещественное число (случай, когда h = 0 является особым).

Прим. Данные координаты не позволяют однозначно задать точку плоскости. Например, (1 , 1, 1) и (2, 2, 2) задают одну и ту же точку (1, 1) . Предлагается взять набор (x, y, 1) , который будет описывать все точки плоскости.

Матрица преобразования для однородных координат имеет размер 3х3. Рассмотрим некоторые преобразования в однородных координатах.

Сжатие/растяжение

Это преобразование умножает соответствующие координаты точек на коэффициенты масштабирования по осям: (x, y ) -> (a x * x , a y * y ) . Матрица преобразования запишется следующим образом:

[ a x 0 0 ]

Где a x – растяжение по оси x ,

a y – растяжение по оси y .

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

Поворот


Матрица поворота 2x2 была подробно разобрана ранее. Теперь она дополняется строкой и столбцом:

[ -sin(phi)cos(phi) 0]

Прим. При угле phi = п эта матрица задает центральную симметрию относительно начала координат, которая является частным случаем поворота. Можно заметить, что такую симметрию можно задать с помощью преобразования сжатия/растяжения (допуская отрицательные коэффициенты масштабирования).

Параллельный перенос


Исходный вектор (x, y ) переходит в (x + t x, y + t y ) . Матрица преобразования запишется следующим образом:

[ 1 0 0]

[ t x t y 1]

Отражение


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

[-10 0]


отражение относительно оси x


отражение относительно оси y

Общий вид аффинного преобразования

Матрица 3x3, последний столбец которой равен (0 0 1) T , задает аффинное преобразование плоскости:

[ * * 0]

[ * * 0]

[ * * 1]

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

f (x ) = x * R + t ,

где R – обратимая матрица 2 x2, а t – произвольный вектор. В однородных координатах это запишется следующим образом:

[ R 1,1 R 1,2 0 ]

[ R 2,1 R 2,2 0 ]

[ t x t y 1 ]

Если умножить вектор-строку на эту матрицу получаем результат преобразования:

[ xy1 ] *[ R 1,1 R 1,2 0 ]

[ R 2,1 R 2,2 0 ]

[ t x t y 1 ]

[ x’y’1 ]+[ t x t y 1 ]

При этом [ x ’ y ’ ]= R *[ x y ]

Прим. Любопытный читатель уже задал себе вопрос: в чем смысл определителя матрицы R? При аффинном преобразовании площади всех фигур изменяются в | R|. (Можно строго доказать это с точки зрения математики, но здесь этот факт приводится без доказательства.)

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

Матрица R определяет новый базис плоскости. Т.е. вектор (1, 0) переходит в (R 1,1, R 1,2 ), вектор (0, 1) переходит в (R 2,1, R 2,2 ). Новый базис это строки матрицы R .

Пример.


При отражении относительно оси y , базисный вектор по оси ординат сохраняется, а по оси абсцисс переходит в (-1, 0) . Т.о. матрица R будет выглядеть следующим образом:


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


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

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

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

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

  • блок, в котором происходит создание окна и обрабатываются сообщения операционной системы, реализован в файл emain . cpp
  • графический движок, выполняющий отрисовку изображения, класс Engine
  • прослойка, необходимая для преобразования логических координат в оконные и обратно, класс Viewport
  • объект, отвечающий за реакцию на действия пользователя, класс Action

В приведенном примере реализованы эти функциональные блоки, с подробными комментариями.

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

Аффинное преобразование обычно задается матрицей и вектором трансляции и действует на вектор‑аргумент по формуле

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


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


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

Выделенный синим цветом вектор - это аргумент, вектор на который действует аффинное преобразование . Здесь и далее нижние индексы обозначают компоненту вектора. В верхней матрице компоненты занимают почти весь первый столбец, кроме них в этом столбце только ноль (сверху) и единица (снизу). Все остальные элементы в матрице - это векторы‑параметры (нумеруются верхним индексом, взятым в скобки, чтобы не перепутать со степенью) и единицы в последней строке. Параметры выделяют среди множества всех аффинных преобразований то, которое нам нужно. Удобство и красота формулы в том, что смысл этих параметров очень прост: они задают аффинное преобразование, которое переводит векторы в . Поэтому векторы , мы будем называть «входными» (в матрице они обведены прямоугольниками) - каждый из них покомпонентно записан в своём столбце, снизу дописывается единица. Сверху же записываются «выходные» параметры (выделены красным цветом) , но теперь уже не покомпонентно, а как цельная сущность.

Если кого‑то удивляет такая запись, то вспомните о векторном произведении

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

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

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

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


а результатом действия преобразования стали точки

Найдем аффинное преобразование .

На самом деле, решать эту задачу можно по‑разному: с помощью системы линейных уравнений, барицентрических координат… но мы пойдем своим путем. Думаю, по использованным обозначениям Вы догадываетесь к чему я клоню: берём уравнение для размерности и подставляем в качестве входных параметров, а - в качестве выходных


а дальше остается лишь посчитать детерминанты
Намётанный глаз легко обнаружит здесь поворот на и трансляцию на .
Когда формула применима?
Входные и выходные векторы могут иметь разную размерность - формула применима для аффинных преобразований, действующих на пространствах любой размерности. Впрочем, входных точек должно быть достаточно и они не должны «слипаться»: если аффинное преобразование действует из -мерного пространства - точки должны образовывать невырожденный симплекс из точки. Если это условие не выполнено, то однозначно восстановить преобразование невозможно (никаким методом вообще, не только этим) - формула предупредит об этом нулём в знаменателе.
Зачем восстанавливать аффинные преобразования программисту?
Часто нужно найти преобразование между двумя картинками (для расчёта положения камеры, например). Если у нас найдётся несколько надёжных особых точек (фич) на этих изображениях, ну или просто не хочется начинать сразу с ранзаков и борьбы с аутлаерами, то вполне можно использовать эту формулу.


Таким образом, формула прячет в себе обратную матрицу и умножение на еще одну матрицу в придачу. Это выражение и есть стандартное решение задачи нахождения линейного преобразования по точкам. Заметьте, что делая вторую матрицу в произведении единичной, мы получим просто обратную матрицу. С ее помощью решается система линейных уравнений и задачи, которые к ней сводятся: нахождение барицентрических координат, интерполяция полиномами Лагранжа, и т.д. Однако, представление в виде произведения двух матриц, не даёт нам получить те самые «два взгляда», связанные с разложением по первой строке и по первому столбцу.

Интерполяция Лагранжа и ее свойства

Напомню, что интерполяция Лагранжа - это нахождение полинома наименьшей степени проходящего через точки , , , . Не то чтобы это была распространённая в программистской практике задача, но всё равно давайте ее рассмотрим.
Как связаны полиномы и линейные преобразования?
Дело в том, что полином
можно рассматривать как линейное преобразование, которое отображает вектор в . Значит задача интерполяции точек , , , сводится к нахождению такого линейного преобразования, что


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


Доказательство, что это будет именно полином Лагранжа (а не чей‑то другой), можно посмотреть в . Кстати, выражение в знаменателе - это определитель Вандермонда. Зная это и разложив детерминант в числителе по первой строке, придем к более привычной формуле для полинома Лагранжа.
Задача на полином Лагранжа
Сложно ли этим пользоваться? Давайте попробуем силы на задаче: найти полином Лагранжа, проходящий через точки , и .

Подставим эти точки в формулу


На графике всё будет выглядеть так.

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


А ещё мы теперь можем сравнительно просто доказывать довольно замысловатые утверждения. Например, в в одну строчку доказывается, что сумма базисных полиномов Лагранжа равна единице и что полином Лагранжа, интерполирующий , , , имеет в нуле значение . Ну и не Лагранжем единым - подобный подход можно применить к интерполяции синусами‑косинусами или какими‑то другими функциями.

Заключение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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. Если прямые, содержащие соответсвующие стороны этих треугольников попарно пересекаются, то точки пересечения лежат на одной прямой. . Ачтобы доказать принадлежность трех точек одной прямой, построим пересечение плоскостей АВС и (так как две плоскости пересекаются по прямой).

Построение.1) , 2) , 3)

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

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

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

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

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

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

Выводы.

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

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

Литература

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

УДК 004.932

Кудрина М.А., Мурзин А.В.

ФГБОУ ВПО "Самарский государственный аэрокосмический университет им. ак. С.П. Королева (национальный исследовательский университет)", Самара, Россия

АФФИННЫЕ ПРЕОБРАЗОВАНИЯ ОБЪЕКТОВ В КОМПЬЮТЕРНОЙ ГРАФИКЕ

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

Данная задача решается использованием аффинных преобразований (affine transformations) .

Аффинные преобразования могут быть очень полезны в следующих ситуациях:

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

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

3. Для проецирования трехмерных объектов на плоскость и отображения сцены в окне. Так, например, для аксонометрического проецирования используется последовательность двух поворотов плоскости проецирования, а для отображения в окне - совокупность масштабирования и перемещения.

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

J X = Ax + By + C, . Программа позволяет автоматизировать процесс составления тестовых задач.

ЛИТЕРАТУРА

1. Порев В. Н. Компьютерная графика. - СПб.: БХВ-Петербург, 2002. - 432 с. : ил.

2. Хилл Ф. Open GL. Программирование компьютерной графики. Для профессионалов. - СПб.:Питер,

2002. - 1088с.:ил. ISBN 5-318-00219-6

3. Кудрина М.А., Кудрин К.А., Вытягов А.А., Ионов Д.О. Разработка системы дистанционного обучения для курса "Компьютерная графика" с помощью Moodle: Труды международного симпозиума Надежность и качество. 2010. Т. I. С. 165.

4. Кудрина М.А., Кудрин К.А., Дегтярева О.А. Аттестационный педагогический измерительный материал по курсу "Компьютерная графика"// Надежность и качество 2008. Труды межд. симпозиума. Пенза, 2008, С. 162-163.

5. Кудрина М.А. Использование аттестационно-педагогических измерительных материалов по курсу

"Компьютерная графика" в учебном процессе"//Образование - инвестиции в успех: Материалы науч.-



Поддержите проект — поделитесь ссылкой, спасибо!
Читайте также
Адвокат Соколовского о Тинькове и «Немагии»: «Все это напоминает ситуацию с моим подзащитным Адвокат Соколовского о Тинькове и «Немагии»: «Все это напоминает ситуацию с моим подзащитным Яблочный пудинг с манкой для детей Молочный пудинг для ребенка 1 5 Яблочный пудинг с манкой для детей Молочный пудинг для ребенка 1 5 вышивка – все толкования вышивка – все толкования