При обработке информации, связанной с изображением на мониторе, принято выделять три основных направления: распознавание образов, обработку изображений и машинную графику
Вид материала | Задача |
Задается курсовой угол ку 3.4.5 Движение над рельефом Обработка h при непосредственном синтезе изображения. |
- Конспект Лекций Лекция 1 Введение в компьютерную геометрию и графику Основные направления, 1002.69kb.
- Задачи обработки изображения : Устранение дефектов изображения (напр., устранение снега, 98.28kb.
- Белорусский государственный университет применение информационных технологий при анализе, 187.23kb.
- Лабораторная работа № Нейросетевое распознавание печатных символов. Дисциплина: «Распознавание, 74.04kb.
- Распознавание и преобразование образов указатель документов описания первоисточников., 52.79kb.
- 7. западноевропейский тип культуры, 587.09kb.
- Нелинейная цифровая фильтрация лазерных изображений при регистрации и обработке, 242.95kb.
- Алгоритмы восстановления изображений при томографической обработке проекций, 48.43kb.
- Доклад посвящен методам сопоставления образов с шаблоном в системе автоматической обработки, 31.12kb.
- Программа по дисциплине "Распознавание образов/(по выбору)" для подготовки студентов, 89.53kb.
З
адается курсовой угол ку
{VXVY} – компоненты вектора

Воспользуемся формулой:


Находим значение V2



Поверхность рельефа описывается регулярной сеткой высот.



=

Просмотр начинаем с точки А.
3.4.5 Движение над рельефом
Надо учитывать, что при движении над рельефом наблюдатель приподнят на высоту h.

P(XP,YP,ZP) – положение наблюдателя
Тогда в плане получим:

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

Реальность картинке придаёт линия горизонта. В случае отсутствия тангажа (наклон отрезка PL(наблюдателя)) и крена линия горизонта является горизонтальной. Расположить ее можно либо строго по середине, либо искусственно приподнять или опустить.

В случае наличия крена линия горизонта будет повернута на некоторый угол (в зависимости от угла крена). При наличии тангажа линия будет смещаться либо вниз, либо вверх. Таким образом, линия горизонта, нарисованная с учетом крена при наличии тангажа, смещается параллельно самой себе. Необходимо рассчитать точки у1 и у2 (их координаты).

Можно также интерполировать яркость закраски «неба» и «земли», прорисовывать отдельные элементы рельефа.
4. Рисование 3D сцен и рельефа
4.1. Алгоритм художника
1

2

4.3. Алгоритм с использованием буфера глубины.
Синтез изображения в общем случае: алгоритм с использованием буфера глубины.
| |
| ![]() |
Суть метода: кроме плоскости изображения резервируем память, точно соответствующую объему изображения, а в буфер глубины записываем величину (g) равную удаленности точки объекта от наблюдателя. При обработки любой точки сравниваем удаленность точки с величиной, хранимой в буфере. В буфер глубины можно записывать Евклидово расстояние.


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


Для величины h вводим буфер глубины H. H-буфер – это некоторая область памяти. Она имеет разрядность. Размер этой области равен размеру изображения.



| |
| ![]() |


Все что находится за Smax и перед Smin отсекается. Пирамида видимости – это пространственная пирамида (все что находится в ней попадает в поле видимости). Если объект находится за пределами пирамиды видимости, то он не изображается.
h обладает рядом достоинств:
1) соответствие, т. е. Smin соответствует hmax, Smax соответствует hmin
удаленные элементы имеют меньшее значение h, приближенные элементы – большее значение h.
2) яркость можно связать с h. Что ближе более яркое, что дальше, то более темное.
Обработка h при непосредственном синтезе изображения.
1

2

3. Используем алгоритм построчного сканирования.
h

| |
| ![]() |
Обработка текущей точки:
а) точка вдали





б) точка в близи




Пример:
Пусть,



а) точка в дали

б) точка вблизи

При малоразрядном буфере отношение Smin и Smax уменьшается.
Значение h – нелинейно зависимое разрешение по глубине от дальности.
Если записывать в G значение S, то нельзя линейно интерполировать.




Формула нелинейной интерполяции величины S:

Недостатки:
- Большие вычислительные затраты на каждую текущую точку;
- S имеет равномерную (т. е. постоянную) разрешающую способность по глубине;
- Вместо линейной - нелинейная интерполяция.


4.3. Синтез изображения с помощью Y-буфера.
Рассмотрим частный случай:
Синтез каркасных изображений с удалением невидимых элементов этого

изображения.

Изображать элементы надо начиная с ближнего плана.

Запоминаются y координаты изображения и записываются в используемый Y-буфер (одномерный массив = ширине изображения).
В Y-буфере будет отслеживаться y максимальное.
При записи второго сечения Y-буфер обнуляется и информация в нём обновляется.
Существует проблема видимости ненужных частей рельефа.
| |
| ![]() |
Для решения этой проблемы используется анализ текущей точки:
Используемый принцип:
От ближнего плана к дальнему.
Примечание:
Для полутоновых изображений так же можно использовать этот алгоритм, но
с закраской вертикальными линиями с учётом линейной интерполяции области
между двумя соседними сечениями.

4.4. Алгоритм отсечения по пирамиде видимости.
Необходимость в этой процедуре возникает, когда, в конце концов, оказывается, что надо нарисовать грань, у которой часть вершин лежит перед камерой, а часть – за камерой. То есть грань, пересекающуюся с экраном. Сама по себе она правильно не нарисуется.
Поскольку камера видит только то, что перед ней находится, все те точки, для которых Smin > z > Smax, рисовать не надо. То есть, каждую грань надо обрезать плоскостями z = Smin и z = Smax.

В плоскость изображения попадают только те точки, которые находятся внутри ПВ.
Алгоритм:
Пусть имеется пространственный многоугольник с вершинами i = 1…n. Для каждой вершины вычисляем значения Si, X¢i и Y¢i, которые будут исходными данными

| |
| ![]() |
Нанесение текстур
Различают два вида текстур:
Процедурные
Проективные (наносятся на грань объекта)
5.1. Процедурные текстуры
Рассмотрим простой пример: есть домик с кирпичными стенами. Решить задачу описания грани домика достаточно сложно. Можно было бы описать стенку, но это тоже сложно, поэтому эту стенку рисуют отдельно, а потом накладывают в качестве текстуры на нужную грань.
| |
| ![]() |
xt1, y t1 x t2, y t2
Рис. 4.1.1
| | | | |
|
| | | |
| | ![]() | ||
| | |
В ряде случаев могут получаться искажения
Рис. 4.1.2
Чем больше перспективное искажение, тем больше эти искажающие эффекты.
Решается следующая задача: в плоскости изображения имеется некоторый прямоугольник и bmp-картинка, которую нам надо вписать в этот прямоугольник. Эту задачу можно сформулировать иначе: имеется некоторый многоугольник и картинка, ему соответствующая. Многоугольник задан текстурными координатами, по которым из текстурного поля вырезается определённый кусок и наносится на объект.