
- •4. 3. Архитектура видеоадаптеров ega и vga
- •Монитор
- •Видеопамять
- •Текстовый режим
- •Знакогенератор
- •Атрибуты символов
- •Атрибуты символов (монохромный режим)
- •Видеопамять в графических режимах
- •Режимы 4 и 5
- •Режим 6
- •Режимы 0Dh и 0Eh
- •Режим 0Fh
- •Режим 10h
- •Режим 11h
- •Режим 12h
- •Режим 13h
- •5. 7. Видеоадаптеры svga
- •Видеопамять svga
- •Слоеный пирог
- •Увидеть весь мир через замочную скважину
- •Больше цветов больше бит
- •Стандарт vesa
- •6. 11.1. Введение
- •11.2. Преобразование отрезков из векторной формы в растровую
- •Простейший пошаговый алгоритм
- •Алгоритм Брезенхэма для отрезков прямых
- •11.3. Растровая развертка литер
- •Пропорциональное размещение литер. Нижние выносные элементы
- •17,18 Введение в модели закрашивания
- •Геометрические составляющие для нахождения отраженного света.
- •Вычисление диффузионной составляющей
- •Зеркальное отражение
- •Фоновые источники и фоновые отражения
- •Комбинирование компонентов освещения
- •Добавление цвета
- •[Править] Описание алгоритма
- •0.6.1 Двумерный алгоритм Коэна-Сазерленда
- •[Править] Достоинства
- •[Править] Недостатки
- •О трассировке лучей
- •Матрицы и вектора
- •Обратная трассировка лучей Определение цвета точки. Текстурные карты и свойства материалов
- •16 15. Цвет в компьютерной графике
- •Перспективная проекция
- •10 Лекции по компьютерной графике
- •3.1. Координаты и преобразования
- •3.3. Преобразование в однородную систему координат
- •Поворот вокруг фиксированной точки
- •[Править] Отличия от ega
- •[Править] Текстовые режимы
- •[Править] Графические режимы
- •[Править] Стандартные графические режимы
- •[Править] Нестандартные графические режимы (X-режимы)
Перспективная проекция
Перспективную
проекцию (рис.2.17) сначала рассмотрим
при вертикальном расположении камеры,
когда
.
Такую проекцию можно себе представить
как изображение на стекле, через которое
смотрит наблюдатель, расположенный
сверху в точке
Здесь плоскость проецирования параллельна
плоскости (
).
Исходя из подобия треугольников, запишем такие пропорции:
Учитывая также координату Z:
В матричной форме преобразования координат можно записать так:
Обратите внимание
на то, что здесь коэффициенты матрицы
зависят от координаты
(в знаменателе дробей). Это означает,
что преобразование координат является
нелинейным (а точнее, дробно-линейным),
оно относится к классу проективных
преобразований.
Теперь рассмотрим общий случай – для произвольных углов наклона камеры ( и ) также как и для параллельной аксонометрической проекции.
Пусть (
)
– координаты для системы координат,
повернутой относительно начальной
системы (
)
на углы
и
.
Тогда:
Запишем преобразования координат перспективной проекции в виде:
Последовательность преобразования координат можно описать так:
Преобразование в целом нелинейное. Его нельзя описать одной матрицей коэффициентов-констант для всех объектов сцены (хотя для преобразования координат можно использовать и матричную форму).
Для такой перспективной проекции плоскость проецирования перпендикулярна лучу, исходящему из центра ( ) = (0,0,0) и наклоненному под углом и . Если камеру отдалять от центра координат, то центральная проекция видоизменяется. Когда камера в бесконечности, центральная проекция вырождается в параллельную проекцию.
Укажем основные свойства перспективного преобразования. В центральной проекции:
-- не сохраняется отношение длин и площадей;
--прямые линии изображаются прямыми линиями;
--параллельные прямые изображаются сходящимися в одной точке.
10 Лекции по компьютерной графике
3.1. Координаты и преобразования
Описание, конструирование, манипулирование и представление геометрических объектов являются центральными работами в графических системах. Их поддержка в требуемом объеме за счет соответствующих математических методов, алгоритмов и программ оказывают существенное влияние на возможности и эффективность графической системы. В данном разделе будут рассмотрены математические методы для описания геометрических преобразований координат в двух и трехмерном случае, будут обсуждены некоторые вопросы эффективности, рассмотрены геометрические преобразования растровых картин.
Далее большими буквами x, y, z будут обозначаться обычные декартовые координаты, а маленькие буквы X, Y, Z будут использоваться для обозначения т.н. однородных координат.
3.2. Двумерные геометрические преобразования
Параллельный перенос
Параллельный перенос в плоском случае имеет вид:
|
|
|
|
x` = x + Dx
y` = y + Dy
[x’, y’] = [x, y] + [Dx, Dy]
|
|
|
|
|
|
|
|
|
|
|
|
P’ P T
или в векторной форме:
P` = P + T, |
где P` = [x` y`] - вектор-строка преобразованных координат,
где x, y - исходные координаты точки, Tx, Ty - величина сдвига по осям, x`, y` - преобразованные координаты. P = [x y] -- вектор-строка исходных координат, P` = [x` y`] -- вектор-строка преобразованных координат, T = [Tx Ty] -- вектор-строка сдвига.
Масштабирование
Преобразование масштабирования относительно начала координат имеет вид:
x` = x ·Sx
y` = y ·Sy или
|
|
|
|
Sx 0
[x`, y`] = [x, y] ·
0 Sy
P` P
S
или в матричной форме:
P` = P ·S, |
где Sx, Sy -- коэффициенты масштабирования по осям, а
S - матрица масштабирования
Поворот
Преобразование поворота относительно начала координат имеет вид:
|
|
|
|
x`= x·cos(φ) – y·sin(φ)
y`= x·sin(φ) + y·cos(φ)
или
cos(φ) sin(φ)
[x`, y`] = [x, y] ·
–sin(φ) cos(φ)
P` P
R
Где R – матрица поворота
φ – положительный угол поворота
или в матричной форме:
P` = P ·R, |
|
Столбцы и строки матрицы поворота представляют собой взаимно ортогональные единичные векторы. В самом деле квадраты длин векторов-строк равны единице:
cos·cos+sin·sin = 1 |
(-sin) ·(-sin)+cos·cos = 1, |
а скалярное произведение векторов-строк есть
cos·(-sin) + sin·cos = 0. |
Так как скалярное произведение векторов A ·B = A ·B ·cos, где A - длина вектора A, B - длина вектора B, а - наименьший положительный угол между ними, то из равенства скалярного произведения двух векторов-строк длины 1 следует, что угол между ними равен 90.
Аналогичное можно показать и для векторов-столбцов. Кроме того вектора-столбцы представляют собой такие единичные векторы, которые после выполнения преобразования, заданного этой матрицей, совпадут с осями. В самом деле, произведение первого столбца на матрицу есть
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cos |
-sin |
|
|
· |
|
|
cos |
sin |
|
|
= |
|
|
1 0 |
|
|
|
, |
|
|
-sin |
cos |
|
т.е. это единичный вектор вдоль оси X.
Аналогично, произведение второго столбца на матрицу даст вектор [ 0 1 ]. Это позволяет сформировать матрицу, если известны результаты преобразования.