Пример 2-5 Масштабирование области
Треугольник ABC с координатными векторами [1 0], [0 1] и [-1 0] преобразуется матрицей , образуя новый треугольник A B C (рис. 2-12). Площадь треугольника ABC равна (основание) (высота) (2)(1) =1. Воспользуемся уравнением (2-41), тогда площадь преобразованноготреугольника А В С будет равна Векторы преобразованного треугольника А В С теперь равны Вычислим площадь, образованную результирующими вершинами: (основание) (высота) (4)(4) =8. Это совпадает с полученным ранее результатом. 2-14 ПРЕОБРАЗОВАНИЕ ЖЕСТКИХ КОНСТРУКЦИЙ Пришло время вернуться к поставленному в разд. 2-8 вопросу: когда перпендикулярные прямые преобразуются в перпендикулярные прямые? Рассмотрим сначала более общий вопрос: в каких случаях угол между пересекающимися прямымсохраняется? Напомним, что скалярное произведение двух векторов равно (2-42) а векторное произведение двух векторов, принадлежащих плоскости ху,определяется как (2-43) где индексы х и у относятся к компонентам х и у вектора, q - острый угол между векторами, а - единичный вектор, перпендикулярный к плоскости ху. Проведем преобразование и используя (2 х 2)-матрицу общего преобразования (2-44) Векторным произведением векторов и будет (2-45) Аналогично, скалярное произведение будет равно (2-46) Требуется, чтобы значения векторов, как и угол между ними, оставались постоянными. Сравнивая уравнения (2-42), (2-46) и (2-43), (2-45), а также приравняв коэффициенты подобных членов, получим a2+b2= 1,(2-47a) c2+d2= 1, (2-47b) ac+bd= 0, (2-47c) ad-bc =1. (2-48) Выражения (2-47а, b, с) соответствуют условиям ортогональности матрицы, т.е. [ T ][ T ]-1 = [ T ][ T ] T = [ I ] или Выражение (2-48) требует, чтобы определитель матрицы преобразования был равен +1. Таким образом, при полном повороте углы между пересекающимися прямыми сохраняются. Данный результат распространяется также и на операцию отражения, ортогональная матрица которого имеет определитель, равный -1. В этом случае величины векторов сохраняются, но угол между преобразованными векторами в действительности равен 2 p - q. (Следовательно, в общем случае угол не сохраняется. Однако перпендикулярные прямые преобразуются в перпендикулярные прямые. Поскольку sin(2 p - q) = - sin q, ad — bc = - 1, полные повороты и отражения называются преобразованиями жесткой конструкции. Кроме того, несколько минут анализа или экспериментирования приводят к выводу, что равномерное масштабирование также сохраняет неизменным угол между пересекающимися прямыми, но не величину преобразуемых векторов. Поскольку ортогональная матрица сохраняет угол между векторами и их величины, матрица однородного масштабирования не является ортогональной.) 2-15 ПЕРЕМЕЩЕНИЯ И ОДНОРОДНЫЕ КООРДИНАТЫ В предыдущих разделах был рассмотрен ряд преобразований, совершаемых с помощью (2 х 2)-матрицы общего преобразования. Среди них поворот, отражение, масштабирование, сдвиг и другие. Ранее отмечалось, что исходная система координат инвариантна по отношению ко всем перечисленным преобразованиям. Однако возникает необходимость изменять положение начала координат, т.е. преобразовывать каждую точку на плоскости. Этого можно достичь путем перемещения точки начала координат или любой другой точки на плоскости К сожалению, нельзя ввести константы перемещения т и п в (2 х 2)-матрицу преобразования, так как это не пространство! Данное затруднение можно преодолеть, используя однородные координаты. Однородные координаты неоднородного координатного вектора [ х у ]представляют собой тройку [ х' у' h ], где х = х'/h, у = у' / h, а h —некоторое вещественное число. Заметим, что случай h = 0 является особым. Всегда существует один набор однородных координат вида [ х у 1]. Мы выбрали эту форму, чтобы представить координатный вектор [ х у ]на физической плоскости ху. Все остальные однородные координаты представляются в виде [ hx hy h ]. Данные координаты не сохраняют однозначности, например, все следующие координаты [6 4 2], [12 8 4], [3 2 1] представляют физическую точку (3,2). Матрица преобразования для однородных координат имеет размер 3 х 3. В частности, (2-49) где действие элементов a, b, с и d верхней части (2 х 2)-матрицы точно соответствует действиям, рассмотренным ранее. Элементы m и n являются коэффициентами перемещения в направлениях х и у соответственно. Полная двумерная матрица преобразования имеет вид (2-50) Отметим, что каждая точка плоскости и даже начало координат x=y= 0 могут быть преобразованы. 2-16 ПОВОРОТ ВОКРУГ ПРОИЗВОЛЬНОЙ ТОЧКИ Ранее мы рассматривали вращение, совершаемое вокруг начала координат. Однородные координаты предусматривают механизм выполнения поворотов вокруг точек, отличных от начала координат. В общем случае поворот вокруг произвольной точки может быть реализован посредством ее перемещения в начало координат, выполнения требуемого поворота и последующего перемещения результата обратно в исходный центр вращения. Таким образом, поворот вектора [ х у 1] вокруг точки m, n на произвольный угол можно осуществить следующим образом: (2-51) Выполняя действия над двумя внутренними матрицами, можно записать (2-52) Рассмотрим пример, иллюстрирующий данный результат.
|