Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_po_KG_rulez.doc
Скачиваний:
7
Добавлен:
25.08.2019
Размер:
726.02 Кб
Скачать

Удаление скрытых линий у поверхности.

Следует выводить те поверхности или рёбра, которые относительно центра проекции или точки взгляда (с формальной точки зрения). Основано на анализе расстояния от точки взгляда до поверхности или ребра. Объект, расположенный дальше, перекрывается близлежащим и отображать его не нужно. Даже для простого по форме объекта, анализ без применения специальных меток получается громоздким. Для формализации таких действий разработано около 20 алгоритмов. Независимо от того, какой алгоритм мы будем применять, определение видимости или невидимости объекта выполняется в трёхмерном пространстве до получения проекции на плоскость. В общем случае нужно провести проекционный луч и на нём сортировать по глубине, то есть по координате Z каждую пару точек. Условия принадлежности к одному лучу (проектору) описывается по-разному.

для центральной проекции: для параллельной проекции:

У центральной проекции неудобно проверять такие условия. Делают формальное преобразование, центр проекции относим в бесконечность. Тогда мы получаем параллельную проекцию, у которой видимый объём не куб, а параллелепипед. Он определяется уравнением:

Формально, нужно умножить изображение каждой точки на матрицу M:

Если возможно, то «дальше-ближе» определяется так же как и при параллельной проекции. А именно: при равных координатах x,y сравниваются z1 и z2. Применять такой метод можно только при самых простых объектах. Самый простой алгоритм – это алгоритм Ньюэлла. Этот алгоритм выполняет сортировку по глубине на основании особенностей вывода изображений на экран. На экране выводится содержимое видеобуфера по ячейкам. В видеобуфер элементы заносятся в порядке от наиболее удалённых к наименее удалённым. Естественно увеличивается время записи в видеобуфер. На первом этапе у каждого элемента изображения определяются Zmax. Затем сортируются в порядке возрастания по Zmax. Перевод изображения в растровую форму. Первым записывается самый дальний объект. Затем поверх в этот буфер заносятся следующие элементы по вычисленному ряду. Более ближний элемент перекроет более дальний. В результате в буфере остаются только видимые части. Последний окажется элемент, расположенный ближе всего к нам. В ряде случаев нужно разрешать конфликтные ситуации, это неперекрывающиеся элементы и параллельные линии плоскости. Этот алгоритм можно применять для удаления скрытых рёбер, считая их элементами, которые будут подвергаться анализу. Часть алгоритмов работают для тех объектов, которые заданы плоскостями, а часть – отрезками. Фактически для объектов заданных кривыми третьего порядка, алгоритмов не существует. Если мы такой алгоритм увидим, то это значит, что кривая была заменена отрезками.

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

Повышение реалистичности изображения.

Особенно когда используются сложные сцены нужно искусственно оттенить объёмность. Самый большой эффект – это построение теней. Метод построения теней основывается на элементарных операциях. Кроме центра проекции вводится понятие источника освещения. Как он используется?

  1. Строим проекцию из точки взгляда.

  2. Переносим центр проекции с источника света.

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

Пусть есть ещё один источник света. Тогда

  1. Проекция самого объекта из точки взгляда.

  2. Проекция из первого источника освещения.

  3. Получение проекции из точки расположения второго источника света. Удаление области перекрытия с самим объектом.

  4. Определение областей перекрытия теней.

  5. Закраска с учётом положения теней.

Аналогично можно использовать получение теней, когда в первой сцене более одного объекта. Математический аппарат такой же. При этом, плоскость, на которую проецируется тень является грань.

Вторым по важности способом является раскраска. Матовая поверхность – равномерное рассеивание света по всем направлениям. Если такой объект не обработать специальным методом, то яркость будет одинакова независимо от угла обзора. Из-за свойств зрения – предмет будет казаться плоским.

Ip – интенсивность источника света.

Id – интенсивность закраски поверхности.

изменяются от 0 до 1 (учитывает свойства поверхности)

рассеивание

Чтобы иметь представление о поверхности, необходимо ввести элемент рассеивания.

K<1 – коэффициент характеризующий состояние отражения от поверхности. Чем поверхность ближе, тем она ярче.

Чем плоха эта модель? Слишком ярко и темно.

Все точки расположены на уровне будут закрашены с одинаковой интенсивностью.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]