Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Геом. преобразов.Часть2.doc
Скачиваний:
20
Добавлен:
16.09.2019
Размер:
1.62 Mб
Скачать
  1. Что может подвергаться преобразованиям в геометрических моделях?

Выделим три опорных момента. Подвергать преобразованиям можно

  1. Точки. Они задают геометрическую модель как таковую.

  1. Направление. Например, надо задать (определить) направление быстро движущегося объекта к точке, находящейся вне поля зрения наблюдателя (за пределом экрана, в большой удалённости от места действия, в ∞-и). На направление влияют только коэффициенты a, b, c и d. Коэффициенты l и m в преобразовании не участвуют, нет точки, которую надо переносить (Слайд 12).

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

  • точка (радиус-вектор) (p):

  • вектор (v) и нормаль (n)

(только направление, w=0)

Преобразования точек, векторов и нормалей можно записать так

С нормалями всё не так. Это видно из изображения (рис. выше), слайд 12. Базовый объект промасштабирован по оси x в 2 раза и все точки переместились по оси x также в 2 раза. Если это распространить на нормаль, то она станет почти параллельна оси x. А это совсем неверно (на слайде выше показана зелёной стрелкой). В этом частном случае надо нормаль оттянуть назад к оси y. И надо понять – какую матрицу преобразования следует применить к нормали, чтобы выполнить прямое преобразование объекта, сохранив! требуемое направление нормали. На слайде 13 (ниже приведено его содержание) дан вывод соответствующего преобразования..

Первые три уравнения – есть постановка задачи: а) что известно из теории - скалярное произведение перпендикулярных друг другу векторов равно 0; б) требуется найти матрицу Q преобразования нормали n, если матрица преобразования вектора vMtransform известна

Решение задачи:

Поясним.

Скалярное произведение двух перпендикулярных векторов равно нулю. И оно должно оставаться таким и после преобразования,т.е.:

nv = 0 и

n' ∙ v' = 0,

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

Так как

n' = n ∙ Q transform, а v' = v ∙ M transform,

то (n ∙ Q transform) ∙ (v ∙ MТ transform) = 0

Зададим значения координат для нормали n и вектора v: пусть n = (A, B), а v = (x, y), здесь А и В – координаты вектора нормали; тогда из последней формулы можно составить уравнение, в котором в силу ассоциативности переставлены скобки

(A B 0) ∙ (Q transform ∙ MТ tranмsform) ∙ (x y 0)Т = 0.

Это уравнение справедливо, а так как Qtransform ∙ MТtransform = E = 1, то из него найдём

Q transform = (M־¹transform)Т.

Таким образом, для преобразования нормали n одновременно с преобразованием вектора v надо применить не прямую матрицу M преобразования, а ей обратную транспонированную.

Замечание. Варианты нотации записи. Слайд 14. Матрица – это способ хранения информации и в КГ, в программных продуктах уравнения преобразования записывают как вектор-строка умноженная скалярно на матрицу преобразования.

Математики традиционно используют запись через вектор-столбец. Это надо иметь ввиду. С точки зрения логики КГ удобнее писать формулы преобразования как для вектора-строки. Машине же безразлично как эти матрицы составлены.

Если выполняется одно преобразование, то для вектор-строки соответствует первая запись из приведенных ниже, а для вектора-столбца – вторая.

Если выполняется композиция преобразований, то соответственно этому записи имеют вид:

Во второй записи последовательность преобразования обратная действительной последовательности.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]