КГ_4глава (Компьютерная графика), страница 4

2017-07-12СтудИзба

Описание файла

Файл "КГ_4глава" внутри архива находится в папке "Компьютерная графика". Документ из архива "Компьютерная графика", который расположен в категории "". Всё это находится в предмете "инженерная графика" из 4 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "компьютерная графика" в общих файлах.

Онлайн просмотр документа "КГ_4глава"

Текст 4 страницы из документа "КГ_4глава"

Алгоритм для ППК может быть, например, таким:

Рассмотрим пример работы приведенного алгоритма преобразования нерав­номерной сетки в равномерную. На рис. 4.16 изображена модель некоторой поверхности в виде изообластей высоты.

Рис. 4.16. Пример задания поверхности неравномерной сеткой. После первого заполнения растр имеет следующий вид (рис. 4.17).

Рис. 4.17. Вид растра после первого заполнения

Это уже равномерная сетка высоты. Однако поверхность будет негладкой, иметь большие ступени. Необходимо продолжать интерполяцию дальше.

Потом выполняется оконтуривание (рис. 4.18).

И так далее — выполняются циклы заполнения-оконтуривания. Всего было выполнено 7 циклов. После выполнения каждого цикла равномерная сетка все более точно соответствует гладкой поверхности. Это изображено на рис. 4.19.

Рис. 4.18. Вид растра после оконтуривания

Рис. 4.19. Результаты выполнения циклов заполнения-оконтуривания

4.2. Визуализация объемных изображений

Любой объект, в том числе и объемный, может быть изображен различными способами. В одном случае необходимо показать внутреннюю структуру объектов, в другом — внешнюю форму объекта, в третьем — имитировать реальную действительность, в четвертом — поразить воображение зрителя чем-то неизвестным. Условно разделим способы визуализации по характеру изображений и по степени сложности соответствующих алгоритмов на такие уровни:

1. Каркасная ("проволочная") модель.

2. Показ поверхностей в виде многогранников с плоскими гранями или сплайнов с удалением невидимых точек.

3. То же, что и для второго уровня, плюс сложное закрашивание объектов для имитации отражения света, затенения, прозрачности, использование текстур.

На рис. 4.20—4.26 изображены различные способы показа трехмерных объ­ектов в порядке усложнения используемых алгоритмов.

Рис. 4.20. Каркасная модель Рис. 4.21. Удаление невидимых точек

Рис. 4.22. Закрашивание граней Рис. 4.23. Имитация гладких

с учетом освещения поверхностей закрашиванием

Рис. 4.24. Наложение текстуры Рис. 4.25. Тени

Рис. 4.26. Добавлены фон, матовые и зеркальные поверхности

Простейшая каркасная модель часто применяется в процессе редактирования объемных объектов. Визуализация второго уровня используется для упро­щенного показа объемных объектов. Например, для графиков функций z =f(х,у) (в виде рельефа поверхности) часто достаточно показать все грани сетки одним цветом, но зато необходимо обязательно удалить невидимые точки. Это более сложная процедура по сравнению с выводом каркасного изображения.

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

инженеров во всем мире направлены на разработку методов и средств дости­жения этой цели. В этом плане наиболее полно ощущается связь компьютер­ной графики с естественными науками, с дисциплинами, посвященными изу­чению окружающего нас мира. Например, для создания реалистичных изо­бражений необходимо учитывать законы оптики, описывающие свет и тень, отражение и преломление. Компьютерная графика находится на стыке мно­гих дисциплин и разделов науки.

Каркасная визуализация

Каркас обычно состоит из отрезков прямых линий (соответствует многогран­нику), хотя можно строить каркас и на основе кривых, в частности сплайновых кривых Безье. Все ребра, показанные в окне вывода, видны — как ближ­ние, так и дальние.

Для построения каркасного изображения надо знать координаты всех вершин в мировой системе координат. Потом преобразовать координаты каждой вершины в экранные координаты в соответствии с выбранной проекцией. Затем выполнить цикл вывода в плоскости экрана всех ребер как отрезков прямых (или кривых), соединяющих вершины.

Показ с удалением невидимых точек

Здесь мы будем рассматривать поверхности в виде многогранников или по­лигональных сеток. Известны такие методы показа с удалением невидимых точек: сортировка граней по глубине, метод плавающего горизонта, метод Z-буфера [28, 32].

Сортировка граней по глубине. Это означает рисование полигонов граней в порядке от самых дальних к самым близким. Этот метод не является универ­сальным, ибо иногда нельзя четко различить, какая грань ближе (рис. 4.27). Известны модификации этого метода, которые позволяют корректно рисо­вать такие грани, они описаны в [28]. Метод сортировки по глубине эффек­тивен для показа поверхностей, заданных функциями z =f(x,y) (рис. 4.28).

Рис. 4.27. В каком порядке рисовать эти грани?

Рис. 4.28. Эта поверхность нарисована четырехугольными гранями

Метод плавающего горизонта. В отличие от предыдущего метода при ме­тоде плавающего горизонта грани выводятся в последовательности от бли­жайших к самым дальним. На каждом шаге границы граней образовывают две ломаные линии — верхний горизонт и нижний горизонт. Во время выво­да каждой новой грани рисуется только то, что выше верхнего горизонта, и то, что ниже нижнего горизонта. Соответственно, каждая новая грань подни­мает верхний и опускает нижний горизонты. Этот метод часто используют для показа поверхностей, которые описываются функциями z =f(x,y).

Метод Z-буфера. Метод основывается на использовании дополнительного массива, буфера в памяти, в котором сохраняются координаты Z для каждого пиксела растра. Координата Z отвечает расстоянию точек пространственных объектов до плоскости проецирования. Например, она может быть экранной координатой Z в системе экранных координат (X, Y,Z), если Z перпендикуляр­на плоскости экрана.

Рассмотрим алгоритм рисования объектов согласно этому методу. Пусть, чем ближе точка в пространстве к плоскости проецирования, тем больше значе­ние Z. Тогда сначала Z-буфер заполняется минимальными значениями. По­том начинается вывод всех объектов. Причем не имеет значение порядок вы­вода объектов. Для каждого объекта выводятся все его пикселы в любом по­рядке. Во время вывода каждого пиксела по его координатам (X, Y) находится текущее значение Z в Z-буфере. Если рисуемый пиксел имеет большее значе­ние Z, чем значение в Z-буфере, то это означает, что эта точка ближе к объек­ту. В этом случае пиксел действительно рисуется, а его Z-координата запи­сывается в Z-буфер. Таким образом, после рисования всех пикселов всех объектов растровое изображение будет состоять из пикселов, которые соответствуют точкам объектов с самыми большими значениями координат Z, то есть видимые точки — ближе всех к нам.

Этот метод прост и эффективен благодаря тому, что не нужно ни сортировать объекты, ни сортировать их точки. При рисовании объектов, которые описы­ваются многогранниками или полигональными сетками, манипуляции со значениями Z-буфера легко совместить с выводом пикселов заполнения по­лигонов плоских граней.

В настоящее время метод Z-буфера используется во многих графических 3 d-акселераторах, которые аппаратно реализуют этот метод. Наиболее целесо­образно, когда акселератор имеет собственную память для Z-буфера, доступ к которой осуществляется быстрее, чем к оперативной памяти компьютера. Возможности аппаратной реализации используются разработчиками и поль­зователями компьютерной анимации, позволяя достичь большой скорости прорисовки кадров.

4.3. Закрашивание поверхностей

В этом разделе мы рассмотрим методы, которые позволяют получить более-менее реалистичные изображения для объектов, моделируемых многогран­никами и полигональными сетками. Эти методы достаточно подробно описа­ны в [9, 28, 32], а также в [58, 60].

Модели отражения света

Рассмотрим, как можно определить цвет пикселов изображения поверхности согласно интенсивности отраженного света при учете взаимного расположе­ния поверхности, источника света и наблюдателя.

Зеркальное отражение света. Угол между нормалью и падающим лучом (0) равен углу между нормалью и отраженным лучом. Падающий луч, отражен­ный, и нормаль располагаются в одной плоскости (рис. 4.29).

Рис. 4.29. Зеркальное отражение света

Поверхность считается идеально зеркальной, если на ней отсутствуют какие-либо неровности, шероховатости. Собственный цвет у такой поверхности не наблюдается. Световая энергия падающего луча отражается только по линии отраженного луча. Какое-либо рассеяние в стороны от этой линии отсутству­ет. В природе, вероятно, нет идеально гладких поверхностей, поэтому пола­гают, что если глубина шероховатостей существенно меньше длины волны излучения, то рассеивания не наблюдается. Для видимого спектра можно принять, что глубина шероховатостей поверхности зеркала должна быть су­щественно меньше 0.5 мкм [30].

Если поверхность зеркала отполирована неидеально, то наблюдается зависи­мость интенсивности отраженного света от длины волны — чем больше дли­на волны, тем лучше отражение. Например, красные лучи отражаются силь­нее, чем синие.

При наличии шероховатостей имеется зависимость интенсивности отражен­ного света от угла падения. Отражение света максимально для углов 0, близ­ких к 90 градусам [13, 30].

Падающий луч, попадая на слегка шероховатую поверхность реального зер­кала, порождает не один отраженный луч, а несколько лучей, рассеиваемых по различным направлениям. Зона рассеивания зависит от качества полиров­ки и может быть описана некоторым законом распределения. Как правило, форма зоны рассеивания симметрична относительно линии идеального зер­кально отраженного луча. К числу простейших, но достаточно часто исполь­зуемых, относится эмпирическая модель распределения Фонга, согласно ко­торой интенсивность зеркально отраженного излучения пропорциональна (cos α)p, где а— угол отклонения от линии идеально отраженного луча. Пока­затель р находится в диапазоне от 1 до 200 и зависит от качества полировки [28]. Запишем это таким образом:

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
428
Средний доход
с одного платного файла
Обучение Подробнее