Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
voprosy_k_MGiG_2013 123456.doc
Скачиваний:
61
Добавлен:
28.03.2015
Размер:
328.19 Кб
Скачать
  1. Аппаратные средства машинной графики: манипуляторы типа “мышь”.

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

  1. Двумерные геометрические (аффинные) преобразования

К геометрическим преобразованиям плоских объектов относятся сдвиг, поворот, масштабирование и отражение в плоскости экрана.

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

х' = х + Dx        у' = у + Dy

Определяем векторы строки Р=[х,у] Р'=[х',у'] T=[Dx,Dy]

Сдвиг точки в векторной форме[x',y']=[x,y]+[Dx,Dy] Или более краткоР' =Р+Т

Объект можно перенести, применяя это выражение к каждой точке объекта. Однако для отрезка достаточно применить этот процесс только к его концевым точкам. Это справедливо и для масштабирования и для поворота.

Для масштабирования объекта каждую точку необходимо растянуть в Sx раз по оси х и в Sy раз по оси у.х' = х . Sx        у' = у . Sy или P'=P . SОтметим, что маштабирование производится относительно начала координат.

Объект может быть повернут, ели координаты каждой его точки будут подвергнуты преобразованиюx' = х.cosθ-y.sinθ  у' = х.sinθ-y.cosθ

В матричной форме

[x' у']=[x у]

|

cosθ

sinθ

|

|

-sinθ

cosθ

|

или Р' = Р . R

Положительным считаются углы, измеряемые против движения часовой стрелки от X к Y.

В случае отрицательных углов можно воспользоваться тождествами

cos(-θ)= cos(θ) sin(-θ)=-sin(θ)

  1. \Геометрические (аффинные) преобразования в пространстве

Повороты в пространстве производятся вокруг осей. Рассмотрим повороты вокруг главных координатных осей. Положительными считаются повороты против часовой стрелки, если смотреть с конца положительной полуоси. Изученный нами ранее поворот относительно начала координат на плоскости XOY можно рассматривать как поворот в пространстве относительно оси Z. Для получения матриц поворота относительно других координатных осей можно использовать ту же схему рассуждений, что приводилась нами для определения поворота на плоскости XOY.

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

Сначала уточним исходные данные. Для задания произвольного поворота в пространстве недостаточно определить только ось. При этом невозможно определить направление поворота. Необходимо задать направляющий вектор и точку его привязки. Так же необходимо задать величину угла поворота .

Для выполнения заданного преобразования необходимо:

Совместить точку привязки с началом координат за счет преобразования переноса Т, задаваемого вектором, соединяющим начало координат с этой точкой.

Выполнить поворот вокруг оси X на угол , переводящий направляющий вектор в плоскость XOZ .

Выполнить поворот вокруг оси Y на угол , совмещающий направляющий вектор с положительной полуосью Z.

Выполнить поворот вокруг оси Z на требуемый угол .

Выполнить обратные преобразования, приводящие сцену в исходное состояние.

Трехмертные операции являются простым расширением двумерных.

T(Dx,Dy,Dz)

=

|

1

0

0

0

|

|

0

1

0

0

|

|

0

0

1

0

|

|

Dx

Dy

Dz

1

|

S(Sx,Sy,Sz)

=

|

Sx

0

0

0

|

|

0

Sy

0

0

|

|

0

0

Sz

0

|

|

0

0

0

1

|

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

В трехмерном пространстве возможен поворот вокруг каждой оси.