
- •Аппаратные средства мг: устройство pастpового гpафического дисплея
- •Аппаратные средства машинной графики: устройство стpуйного пpинтеpа.
- •Аппаратные средства машинной графики: устройство лазерного пpинтеpа.
- •Аппаратные средства машинной графики: графопостроители.
- •Аппаратные средства машинной графики: манипуляторы типа “мышь”.
- •Двумерные геометрические (аффинные) преобразования
- •Композиция и коммутативность геометрических преобразований. Однородные координаты.
- •Видовой конвейер 2d. Преобразование координат
- •Плоские геометрические проекции. Ортографические проекции.
- •Плоские геометрические проекции. Косоугольные проекции.
- •Компоненты Delphi для представления графической информации
- •Создание реалистических изображений: алгоритм плавающего горизонта.
- •Создание реалистических изображений: алгоритм Вейлера-Азертона для удаления невидимых линий и поверхностей.
- •Создание реалистических изображений: алгоритм использующий z-буфер для удаления невидимых линий и поверхностей.
- •Создание реалистических изображений: алгоритм Ньюэла- Ньюэла-Санча для удаления невидимых линий и поверхностей.
- •Создание реалистических изображений: удаление невидимых линий методом трассировки лучей.
- •Цвет в машинной графике. Модели rgb cmyk
- •Цвет в машинной графике. Модель художника, модель hsv
- •Простая модель освещения
- •OpenGl Основные матрицы и работа с ними
- •Свойства материала в OpenGl Грани
- •Реализация проекций в OpenGl
- •Определение нормалей и закрашивание методом Гуро
- •Определение нормалей и закрашивание методом Фонга
- •Позиционные источники света в OpenGl
- •Направленные источники света в OpenGl
- •Модель освещения в OpenGl
- •Текстуры
- •Текстуры. Mip отображение
- •Разложение отрезка в растр по методу простого дифференциального анализатора.
- •Метод Брезенхема для разложение отрезка в растр
- •Заполнения многоугольников: простой алгоритм заполнения с затравкой.
- •Заполнения многоугольников: построчный алгоритм заполнения с затравкой.
- •Основные понятие и определения компьютерной графики
- •Алгоритмы удаления невидимых линий
- •Алгоритм плавающего горизонта
- •Алгоритм Ньюэла-Ньюэла-Санча
- •Алгоритм Вейлера-Азертона
- •Алгоритм трассировки лучей
-
Аппаратные средства машинной графики: манипуляторы типа “мышь”.
небольшая видеокамера производит фотографирование поверхности, подсвеченной светодиодом, и сравнивая покадрово изображения, определяет направление перемещения мыши. Поверхность, по которой перемещается мышь (ткань, дерево, пластик или специальный коврик), обычно имеет микронеровности. Эти микронеровности освещаются ярким светодиодом, установленным под небольшим углом к поверхности, из-за чего микронеровности отбрасывают отчётливые тени, которые уверенно фиксируются камерой мыши и обрабатываются специализированной микросхемой.В оптических мышах обычно применяются красные светодиоды, так как они дешевле и кремниевые фотоприёмники более чувствительны именно к красному свету, реже встречаются светодиоды других цветов.В лазерных мышах для подсветки поверхности используется не светодиод, а инфракрасный лазерный диод, подсвечивающий поверхность. Из-за когерентности лазерного излучения фокусировка на рабочей поверхности осуществляется гораздо точнее и для работы этой мыши требуются микронеровности поверхности с гораздо меньшим размером, чем это необходимо для оптической мыши.В отличие от оптической мыши лазерная мышь способна работать на прозрачных поверхностях, таких как стекло, и на зеркальных поверхностях.
-
Двумерные геометрические (аффинные) преобразования
К геометрическим преобразованиям плоских объектов относятся сдвиг, поворот, масштабирование и отражение в плоскости экрана.
Точку на плоскости можно перенести в новые позиции путем добавления к координатам этих точек констант переноса.
х' = х + 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 у] |
|
или Р' = Р . R
Положительным считаются углы, измеряемые против движения часовой стрелки от X к Y.
В случае отрицательных углов можно воспользоваться тождествами
cos(-θ)= cos(θ) sin(-θ)=-sin(θ)
-
\Геометрические (аффинные) преобразования в пространстве
Повороты в пространстве производятся вокруг осей. Рассмотрим повороты вокруг главных координатных осей. Положительными считаются повороты против часовой стрелки, если смотреть с конца положительной полуоси. Изученный нами ранее поворот относительно начала координат на плоскости XOY можно рассматривать как поворот в пространстве относительно оси Z. Для получения матриц поворота относительно других координатных осей можно использовать ту же схему рассуждений, что приводилась нами для определения поворота на плоскости XOY.
Повороты вокруг произвольных осей строятся за счет композиции поворотов вокруг главных координатных осей. Схема такого подхода нами уже разбиралась. Применим ее на практике еще раз.
Сначала уточним исходные данные. Для задания произвольного поворота в пространстве недостаточно определить только ось. При этом невозможно определить направление поворота. Необходимо задать направляющий вектор и точку его привязки. Так же необходимо задать величину угла поворота .
Для выполнения заданного преобразования необходимо:
Совместить точку привязки с началом координат за счет преобразования переноса Т, задаваемого вектором, соединяющим начало координат с этой точкой.
Выполнить поворот вокруг оси X на угол , переводящий направляющий вектор в плоскость XOZ .
Выполнить поворот вокруг оси Y на угол , совмещающий направляющий вектор с положительной полуосью Z.
Выполнить поворот вокруг оси Z на требуемый угол .
Выполнить обратные преобразования, приводящие сцену в исходное состояние.
Трехмертные операции являются простым расширением двумерных.
T(Dx,Dy,Dz) |
= |
|
|
||||||||||||||||||||||||||
S(Sx,Sy,Sz) |
= |
|
Далее при рассмотрении трехмерных преобразований, в основном, используется общепринятая в векторной алгебре правая система координатВ трехмерной машинной графике более удобной является левая система координат. Тогда если, например, поверхность экрана совмещена с плоскостью XY, то большим удалениям от наблюдателя соответствую точки с большим значением Z.В правой системе координат, если смотреть со стороны положительного направления оси вокруг которой происходит поворот, то поворот против часовой стрелки переводит одну положительную ось в другую. Поэтому поворот против часовой стрелки в таких системах считается положительным. В левосторонней системе координат положительными будут повороты по часовой стрелке, если смотреть с положительного конца полуоси.
В трехмерном пространстве возможен поворот вокруг каждой оси.