Помощь в учёбе, очень быстро...
Работаем вместе до победы

Преобразование нормали. 
Компьютерная графика

РефератПомощь в написанииУзнать стоимостьмоей работы

Пусть имеется некоторое аффинное преобразование Я, которое используется для преобразования геометрических объектов. Простейшим таким объектом является треугольник — обозначим его РРтРъ ~ с единичной нормалью п. Проще всего получить эту нормаль через нормирование векторного произведения. В первую очередь выделим из Я линейную часть. Она определяется как верхняя левая ЗхЗ-нодматрица матрицы Я: М… Читать ещё >

Преобразование нормали. Компьютерная графика (реферат, курсовая, диплом, контрольная)

Пусть имеется некоторое аффинное преобразование Я, которое используется для преобразования геометрических объектов. Простейшим таким объектом является треугольник — обозначим его РРтРъ ~ с единичной нормалью п. Проще всего получить эту нормаль через нормирование векторного произведения [ р2 — р[, р3 -/?,].

В результате применения преобразования Я получим новый треугольник, у которого будет новый вектор нормали — п'. Посмотрим, как найти преобразование для вектора нормали (рис. 5.3).

Преобразование нормали.

Рис. 5.3. Преобразование нормали.

В первую очередь выделим из Я линейную часть. Она определяется как верхняя левая ЗхЗ-нодматрица матрицы Я: М = Я3х3. Поскольку перенос вершин никак не влияет на вектор нормали, то далее будем его игнорировать и рассматривать только линейное преобразование М.

Вектор п — это вектор нормали, следовательно, он перпендикулярен каждому из ребер исходного треугольника:

Преобразование нормали. Компьютерная графика.

Если п' — новый вектор нормали, то он также перпендикулярен ребрам, но уже нового треугольника:

Преобразование нормали. Компьютерная графика.

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

Преобразование нормали. Компьютерная графика.

Из этих равенств следует, что вектор Мтп' также является нормалью к исходному треугольнику, т. е. он может отличаться от нормали п только длиной. Поскольку обычное масштабирование нас не интересует, мы можем считать, что эти векторы просто совпадают, т. е. Мтп' = п, следовательно, п' =т)_1и. Данная формула описывает, как именно преобразуется нормаль к грани для произвольного аффинного преобразования: мы выделяем верхнюю левую ЗхЗ-подматрицу матрицы исходного преобразования, после чего транспонируем и обращаем ее. Отметим, что если исходное преобразование состоит только из преобразований поворота и переноса (так называемое жесткое преобразование (rigid transform)), то обратная матрица совпадает с транспонированной, поэтому для преобразования нормали используют верхнюю левую подматрицу исходной матрицы.

Показать весь текст
Заполнить форму текущей работой