Конспект 2-3 (Конспект лекций)

2017-06-07СтудИзба

Описание файла

Файл "Конспект 2-3" внутри архива находится в папке "Конспект лекций". Документ из архива "Конспект лекций", который расположен в категории "". Всё это находится в предмете "инженерная графика" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "компьютерная рафика" в общих файлах.

Онлайн просмотр документа "Конспект 2-3"

Текст из документа "Конспект 2-3"


ГЕОМЕТРИЯ И ДИНАМИКА ИЗОБРАЖЕНИЙ

Простейшие преобразования на плоскости

В компьютерной графике все, что относится к двумерному изображению, обозначается символами 2D (2-direction). Каждой точке на плоскости ставится в соответствие пара чисел – ее координаты M(x,y). Преобразование координат можно трактовать двояко:

а) либо перемещается точка в неизменной системе координат (см. рис.14),

M(x,y) M*(x*,y*)

б) либо сохраняется точка, а изменяется координатная система (см. рис.15)

(x,y) (x*,y*)

В
дальнейшем мы будем рассматривать вариант, представленный на рис.14.

Существуют 4 простейших преобразования координат на плоскости:

  1. параллельный перенос (см. рис.14)

новые координаты вычисляются по формулам

x* = x +a

y* = y + b

используется также матричная запись:

x* = x + a

y* y b

  1. вращение (см. рис.16)

поворот на заданный угол  >0 вокруг начальной точки О против часовой стрелки описывается формулами

x* = x  cos  - y  sin 

y* = x  sin  + y  cos 

или в матричной записи

x*  = cos  -sin  x

y*  sin  cos  y y

  1. Зеркальное отражение (см. рис.16)

в озможно относительно оси х (абсцисс) Mb y M


x*a = x x*  = 1 0 x

y *a = -y y*  0 -1 y -x x

и ли относительно оси y (ординат) -y

x*b = x x*  = -1 0 x

y*b = -y y*  0 1 y Рис. 16

  1. Растяжение (сжатие) вдоль координатных осей (см. рис.17)

x* = x x*  =  0 x

y* = y y*  0  y

При этом, если  и >1, то имеем растяжение вдоль осей (см. рис.17а), а если, например, <1, то – сжатие вдоль соответствующей оси (см. рис.17б).

Заметим, что обратные преобразования описываются матрицами того же вида. Например,

  • обратный поворот (на угол - ) описывается матрицей

cos (-) -sin (-) = cos  -sin 

sin (-) cos (-) sin  cos 

  • сжатие описывается матрицей

1/ 0 

0 1/

  • и т.д.

В общем виде преобразование координат на плоскости можно описать формулами, называемыми аффинным преобразованием на плоскости:

x* = x + y + a

y* = x + y + b

т.е. при    ;     - получим формулы параллельного переноса,

при     cos ; - =  = sin ; a = b = 0 – формулы поворота,

при   1,   -1;  =  = a = b = 0 – формулы отражения

относительно оси абсцисс,

а при  =  = a = b = 0 – формулы растяжения (сжатия).

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

Для удобства описания преобразований введено обозначение точки на плоскости упорядоченным набором трех чисел, т.е. координатами в псевдопространстве. Такая тройка чисел называется однородными координатами точки. Таким образом, точке M(x,y) ставится в соответствие вектор-столбец вида

x

y 

1

Тогда основные преобразования (например, поворот) описываются формулами вида

x* cos  -sin  0 x

y *= sin  cos  0  y 

1   0 0 1 1

В некоторых литературных источниках для описания однородных координат используется вектор-строка, тогда матричное описание преобразований несколько видоизменяется:

 cos  sin  0

( x*,y *,1) = ( x,y,1) -sin  cos  0 

 0 0 1

Матрицы основных преобразований имеют следующий вид:

  • матрица поворота Rotation

cos  -sin  0

 R   sin  cos  0 

 0 0 1

  • матрица растяжения (сжатия) Dilatation

  0 0

 D    0  0 

 0 0 1

  • матрица отражения относительно оси абсцисс (Reflection)

 1 0 0

 M    0 -1 0 

 0 0 1

  • матрица параллельного переноса (Translation)

 1 0 a

 T    0 1 b 

 0 0 1

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

Пример 1. Пусть требуется повернуть плоскость изображения против часовой стрелки на заданный угол  вокруг точки A(a,b), не совпадающей с началом координат, это значит – определить матрицу перехода для любой точки M (см. рис. 18).

Алгоритм нахождения матрицы перехода:

1 шаг. Перенос начала координат из точки А y

в точку О, т.е. на вектор A(-a,-b). M

М атрица преобразования имеет вид 


 1 0 -a

 T-A    0 1 -b  b A

 0 0 1

2 шаг. Поворот на угол  O a x

cos  -sin  0 Рис. 18

 R   sin  cos  0 

 0 0 1

3 шаг. Перенос обратно в точку А

 1 0 a

 TA    0 1 b 

 0 0 1

Перемножая матрицы, получим результирующую матрицу нужного преобразования

cos  -sin  -a cos  + b sin  + a

T-A  R  TA = sin  cos  -a sin  - b cos  + b 

 0 0 1 

Само преобразование координат для точки M имеет вид

x* cos  -sin  -a cos  + b sin  + a  x

y *= sin  cos  -a sin  - b cos  + b  y 

1   0 0 1  1

Пример 2. Пусть требуется построить матрицу растяжения с коэффициентами  вдоль оси абсцисс и  -вдоль оси ординат с центром в точке A(a,b).

Алгоритм нахождения матрицы перехода:

1 шаг. Перенос начала координат из точки A в точку О, т.е. на вектор

A(-a,-b). Матрица преобразования имеет вид

 1 0 -a

 T-A    0 1 -b 

 0 0 1

2 шаг. Растяжение

  0 0

 D    0  0 

 0 0 1

3 шаг. Перенос обратно на вектор A(a,b)

 1 0 a

 TA    0 1 b 

 0 0 1

Перемножив матрицы, получим

  0 (1-) a

T-A  D  TA =  0  (1-) b 

 0 0 1 

В общем случае однородными координатами точки M(x,y) называется любая тройка одновременно не равных нулю чисел x1,x2,x3, связанных с исходными x и y следующими соотношениями

x1 / x3 = x x2 / x3 = y

При h=1 произвольной точке М на плоскости ставят в соответствие точку М*, в пространстве координат на высоте 1, получим (x,y,1), а в общем случае (hx, hy,h), и можно трактовать однородные координаты как проекцию точки М на направляющий вектор ОМ* .

Это - определенный род масштабирования в пространстве координат.

Способы описания прямой на плоскости

Любая прямая на плоскости может быть описана уравнением вида:

т.е. числа А и В одновременно не равны 0.

Известна запись при В0 (см. рис.20)

Если же В=0, то А0 и уравнение х = а, где а = - С/А. (см. рис.21).

Известно описание прямой координатами двух точек, принадлежащих ей.

Пусть есть точки (Рис.22).

Будем искать уравнение прямой L в виде:

Ax + By + C = 0

Тогда для любой точки на прямой должно быть справедливо

и уравнения прямой L можно записать в виде:

откуда получаем:

.

Таким образом, можно получить уравнение прямой L в виде:

.

Это называется каноническое уравнение прямой.

Описываемая каноническим уравнением пропорцио-нальность координат вектора

М1 М = (x-x1 ,y-y1 ), где М – любая точка M L

и вектора М1 М2 = (x2 -x1 ,y2 -y1 )

означает, что эти векторы параллельны (коллинеарные), т.е. существует число t такое, что откуда получим систему уравнений:

,

где t принимает любые значения.

Эти уравнения называются параметрическими уравнениями прямой.

Если ограничить то уравнения имеют вид

и описывают отрезок, соединяющий заданные точки.

Существует описание прямой на плоскости путем задания точки и ненулевым вектором, перпендикулярным прямой L, n=(A,B).

Возьмем на прямой L произвольную точку M(x,y)L, тогда векторы n и M0M перпендикулярны, т.е. скалярное произведение этих векторов равно 0.

(M0M, n)=0.

Координатами вектора M0M является пара чисел (x-x0, y-y0), перемножая соответствующие координаты и складывая, получим

,

обозначив имеем

Ax+By+C=0.

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

Вектор n = (A,B) называется нормальным вектором прямой или вектором нормали.

Всякая прямая L разбивает плоскость на две полуплоскости так, что для произвольной точки M’(x’,y’) справедливо одно из трех описаний:

а) Ax’+By’+C=0 - точка лежит на прямой;

б) Ax’+By’+C0 – считается, что точка M’ лежит в положительной полуплоскости;

в) Ax’+By’+C0 - считается, что точка M’ лежит в отрицательной полуплоскости.

Нормальный вектор обладает еще одним важным свойством: если отложить нормальный вектор n=(A,B) от некоторой точки, рассматриваемой прямой L, то его конец всегда окажется лежащим в положительной полуплоскости.

При умножении обеих частей уравнения на (-1) можно записать: -Ax-By-C=0, тогда n = (-A,-B) – конец вектора будет указывать на положительную полуплоскость, но относительно другого уравнения – прямой L.

Описание выпуклого многоугольника на плоскости

Выпуклый многоугольник обладает следующим свойством: отрезок, соединяющий любые две точки, принадлежащие многоугольнику, также принадлежат этому многоугольнику (см. рис.24). Треугольник является самым простым из выпуклых многоугольников. Он может быть задан либо координатами вершин M1(x1,y1), M2(x2,y2), M3(x3,y3), либо уравнениями прямых, на которых лежат его стороны:

L1: A1 x + B1 y + C1 = 0

L2: A2 x + B2 y + C2 = 0

L3: A3 x + B3 y + C3 = 0

Переход от одного описания к другому очевиден.

Треугольник ограничивает часть плоскости, являющуюся его внутренностью.

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

Li: Ai x + Bi y + Ci = 0, i = 1,2,3

запишем нормальные векторы ni = (Ai ,Bi ) (см.рис. 25).

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

Тогда алгоритм проверки положения произвольной точки внутри треугольника или вне его имеет вид.

1 шаг. Добиться того, чтобы внутренность треугольника была отрицательной, т.е. преобразовать уравнения

Ai x + Bi y + Ci = 0, i = 1,2,3

так, чтобы вершина, не лежащая на прямой Li, находилась в отрицательной полуплоскости. Для чего должны быть вычислены и координаты нормального вектора ni = (Ai ,Bi ) и координаты вершины Mi(xi,yi).

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

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

ОСВЕЩЕНИЕ И ПОСТРОЕНИЕ ТЕНИ НА ПЛОСКОСТИ

Обратимся к проблеме освещенности на плоскости, т.к. это проще описать математически, а затем можно экстраполировать результаты на трехмерное изображение.

Существуют два варианта освещенности:

  • параллельным пучком лучей или

  • расходящимися лучами, имеющими точку исхода или центр пучка.

Рассмотрим сначала более простой вариант – параллельный пучок лучей, освещающих прямую (см. рис.26)

L: A x + B y + C = 0,

описанную таким образом, что источник расположен в положительной полуплоскости; тогда вектор l может указывать на источник (бесконечно удаленный). Угол падения луча  измеряет от нормали n. Ясно, что интенсивность освещенности прямой L зависит от величины этого угла

I = K(n,l) , где K –некоторый положительный коэффициент.

(n,l) = n l cos  скалярное произведение векторов n и l.

Так как источник находится в бесконечности, то прямая L будет освещена равномерно.

Рассмотрим освещение угла, образованного двумя прямыми L1 и L2. (см.рис.27).

Считаем, что векторы нормалей n1 и n2 имеют равную длину, причем

n1 = n2 = 1.

Для чего определяем n = (A,B) как


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

Алгоритм построения тени:

а) находим неосвещенные стороны по следующему признаку: углы  неосвещенных сторон тупые, а следовательно соответствующие скалярные произведения – отрицательные;

б) проецируем вершины, примыкающие к освещенным сторонам, на прямую;

в) проецируем вершины, примыкающие к неосвещенным сторонам, на заданную прямую;

г) находим две крайние проекции; соединяющий их отрезок прямой L и есть тень;

е) можно дополнительно пометить участки тени, соответствующие видимым граням, и закрасить их с учетом разной интенсивности освещенности;

д) определяем освещенность точек прямой, лежащих вне отрезка L.

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

38


Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5137
Авторов
на СтудИзбе
440
Средний доход
с одного платного файла
Обучение Подробнее