Алгоритм перехода к новому координатному базису в многомерном пространстве.
Для аппроксимации информационных множеств прямоугольными параллелепипедами используются алгоритмы перехода от одного базиса к другому [Изв. АН СССР. Техн. кибернет., 1983, №2, с. 94-102]. Поскольку аппроксимация прямоугольными параллелепипедами является основой алгоритма последовательного визуального решения задач математического программирования рассмотрим этот вопрос подробнее.
Пусть в пространстве имеются два базиса: старый и новый . Каждый из векторов нового базиса можно выразить в виде линейной комбинации векторов старого базиса [Высшая математика для экономистов: Учебник для вузов / Н.Ш. Кремер и др. М.: ЮНИТИ, 2001. – 471с.]:
(1)
Полученная система означает, что переход от старого базиса к новому задается матрицей перехода и т.д.
,
причем коэффициенты разложения новых базисных векторов по старому базису образуют столбцы этой матрицы.
Матрица – неособенная, так как в противном случае ее столбцы (а следовательно, и базисные векторы) оказались бы линейно зависимыми. Обратный переход от нового базиса к старому базису осуществляется с помощью обратной матрицы .
Найдем зависимость между координатами вектора в разных базисах. Пусть рассматриваемый вектор имеет координаты относительно старого базиса и координаты относительно нового базиса, т.е.
. (2)
Подставив значения из системы (1) в левую часть равенства (2), получим после преобразований:
т.е. в матричной форме
или . (3)
Пример. В базисе заданы вектора , и . Вектор , заданный в базисе , выразить в базисе .
Решение. Выразим связь между базисами:
Матрица перехода от базиса к базису имеет вид
.
Вычисляем . Рассмотрим получение обратной матрицы для матрицы :
,
где – определитель исходной матрицы , - определитель матрицы, полученной из матрицы , вычеркиванием – строки и – столбца.
Теперь по (3)
,
т.е. новые координаты вектора в базисе есть 0,5; 2 и –0,5 и вектор может быть представлен в виде:
.
Для некоторых функций остановка (или большое количество итераций) по методу Гаусса-Зайделя может произойти при наличии «оврагов». Тогда применяютовражный метод минимизации с помощью метода Гаусса-Зайделя (метод минимизации при наличии оврагов)
В овражном методе производится минимизация функции при различных начальных условиях. Оптимальные точки и определяют новое направление минимизации. Движение осуществляется к точке c наименьшим значением функции.
Формирование движения по прямой в многомерном пространстве:
Рис. 2.
Точка 1: . Точка 2: .
Алгоритм преобразования фигуры в плоскостных координатах
Пусть M - произвольная точка на плоскости с координатами и , вычисленными относительно заданной прямолинейной координатной системы. Однородными координатами этой точки называется любая тройка одновременно не равных нулю чисел связанных с заданными числами и следующими соотношениями:
Рис. 6. Преобразование координат точки на плоскости в однородные координаты
При решении задач компьютерной графики однородные координаты обычно вводятся так: произвольной точке на плоскости ставится в соответствие точка в пространстве (рис. 6).
Заметим, что производная точка на прямой, соединяющей начало координат, точку , с точкой , может быть задана тройкой чисел вида . Будем считать, что неравно 0.
Вектор с координатами является направляющим вектором прямой, соединяющей точки и . Эта прямая пересекает плоскость в точке , которая однозначно определяет точку координатной плоскости .
Тем самым между произвольной точкой с координатами и множеством троек чисел вида , при неравной 0, устанавливается (взаимно однозначное) соответствие, позволяющее считать числа новыми координатами этой точки.
В проективной геометрии для однородных координат принято следующее обозначение: или, более обще, (напомним, что здесь непременно требуется, чтобы числа одновременно в нуль не обращались).
Применение однородных координат оказывается удобным уже при решении простейших задач.
Рассмотрим, например, вопросы, связанные с изменением масштаба. Если устройство отображения работает только с целыми числами (или если необходимо работать только с целыми числами), то для произвольного значения (например, ) точку с однородными координатами представить нельзя. Однако при разумном выборе можно добиться того, чтобы координаты этой точки были целыми числами. В частности, при для рассматриваемого примера имеем .
Рассмотрим другой случай. Чтобы результаты преобразования не приводили к арифметическому переполнению, для точки с координатами можно взять, например, . В результате получим .
Приведенные примеры показывают полезность использования однородных координат при проведении расчетов. Однако основной целью введения однородных координат в компьютерной графике является их несомненное удобство в применении к геометрическим преобразованиям.
При помощи троек однородных координат и матриц третьего порядка можно описать любое аффинное преобразование плоскости.
В самом деле, считая , сравним две записи: помеченную символом * и нижеследующую, матричную:
.
Нетрудно заметить, что после перемножения выражений, стоящих в правой части последнего соотношения, мы получим обе формулы (*) и верное числовое равенство .
Тем самым сравниваемые записи можно считать равносильными.
Элементы произвольной матрицы аффинного преобразования не несут в себе явно выраженного геометрического смысла. Поэтому чтобы реализовать то или иное отображение, т.е. найти элементы соответствующей матрицы по заданному геометрическому описанию, необходимы специальные приемы. Обычно построение этой матрицы в соответствии со сложностью рассматриваемой задачи и с описанными выше частными случаями разбивают на несколько этапов.
На каждом этапе ищется матрица, соответствующая тому или иному из выделенных выше случаев А, Б, В и Г, обладающих хорошо выраженными геометрическими свойствами.
Выпишем соответствующие матрицы третьего порядка.