КГ_5глава (1024112), страница 6

Файл №1024112 КГ_5глава (Компьютерная графика) 6 страницаКГ_5глава (1024112) страница 62017-07-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 6)

Рис. 5.49. Кольцо i Рис. 5.50. Спираль

Если изменять радиус R пропорционально долготе, т. е. R =R(ω), то полу­чим спираль (рис. 5.50). Здесь больший диапазон изменения долготы: от -360° до +360°, соответствует двум виткам спирали.

Для пружины (рис. 5.51) значения коорди­нат х и у такие же, как и для тора, а коор­дината z тора суммируется с приращением, пропорциональным долготе:

Рис. 5.51. Пружина

; где А: — некоторая константа, определяющая шаг витков спирали по высоте. Долгота здесь изменяется в троекратном круговом диапазоне (соответствую­щем числу витков).

Если объединить спираль и пружи­ну, то получим коническую спираль (рис. 5.52):

Рис. 5.52. Коническая спираль

где константа р определяет увеличение большого радиуса пропорционально долготе, а. к — задает шаг витков пружины по высоте.

5.4. Общие замечания

Мы рассмотрели шар, цилиндр и тор, а также их некоторые вариации. Оче­видно, что это лишь малая часть всего многообразия трехмерных форм. Тем не менее, можно сделать некоторые обобщения.

Модель описания и способ отображения

Для описания формы поверхности мы использовали аналитическую мо­дель — параметрические формулы

где s и t — параметры, непрерывно изменяющиеся в некотором диапазоне.

В качестве одного из возможных способов построения изображения поверх­ности мы рассматривали такой способ. В процессе рисования выполняется

цикл

Вычисление нормали к грани (Ро, P1, Р2,Рз) или же при интерполяции методом Гуро или Фонга вычисление нормали в вершинах грани (аналитически — вычислением частных производных в соответствующих точках поверхности либо усреднением нормалей к соседним граням).

Определение цветовых атрибутов закрашивания грани.

}

Вычисление экранных координат вершин Ро, P1, Р2 и Рз

Вывод полигона (Ро, Р1,Р2,Рз)

}

Таким образом, здесь вычисляются координаты узлов сетки с шагом ds и dt, Поверхность изображается в виде четырехугольных граней. Чем меньше шаг сетки, тем больше таких граней и тем лучше соответствие форме гладкой по­верхности.

Является ли данный способ отображения поверхности наилучшим? Вряд ли. Здесь каждая точка поверхности вычисляется четырежды, что существенно замедляет процесс, если поверхность описана сложными формулами. Явля­ется ли данный способ самым простым? Вероятно. Можно также подчерк­нуть его экономичность по затратам памяти, поскольку не нужны массивы для хранения координат граней — координаты вычисляются "на ходу". Но главное, что следует подчеркнуть, — этот способ универсален. Его можно применить для отображения широкого класса поверхностей. Он может ис­пользоваться для произвольных поверхностей, для которых известны пара­метрические формулы, например для сплайнов. На рис. 5.53 и 5.54 показаны несколько вариантов изображения кубического сплайна Безье рассматривае­мым способом.

Рис. 5.53. Аппроксимация гладкой поверхности сплайна

Рис. 5.54. Закраска Гуро и наложение текстуры

В компьютерной графике важную роль играет быстродействие вывода. По­высить скорость рисования для рассматриваемого базового алгоритма можно следующим образом. Чтобы избежать повторного вычисления координат вершин граней, вначале следует вычислить узловые координаты всех точек ! поверхности и записать в массив. Затем можно в отдельный массив записать координаты векторов нормалей в вершинах. Потом преобразовать координа­ты и рисовать полигоны граней. Введение дополнительных массивов для вершин и нормалей обычно заметно увеличивает скорость, например, при закрашивании Гуро, поскольку исключаются повторные расчеты не только координат вершин, но и векторов нормалей к соседним граням. Однако общий характер цикла отображения здесь сохраняется. Когда нужно отобразить требуемый объект, то заново вычисляются все узловые координа­ты. А теперь представим себе, что некоторая трехмерная сцена содержит несколько таких объектов. Предположим, что многие объекты остаются не­подвижными, а изменяется лишь ракурс показа. Зачем тогда всякий раз вы­числять мировые (а точнее, некоторые локальные) координаты по парамет­рическим формулам? Их можно вычислить только один раз при инициализа­ции сцены и записать координаты всех вершин (и нормалей, если необходимо) в массивы. А при расчете кадров производить только все необ­ходимые преобразования координат и закрашивание. Более того, можно па­раметрические формулы не вычислять вообще, если хранить описание коор­динат вершин (и нормалей) в файлах соответствующего формата, которые загружаются при инициализации сцены. Так мы постепенно перешли от ана­литической модели описания объектов к полигональной модели, которая также имеет свои плюсы и минусы.

Модель описания и способ отображения, вообще говоря, не обязательно со­ответствуют друг другу.

"Квадратирование" и триангуляция

В качестве небольшого околонаучного развлечения давайте попрактикуемся в терминологии. Рассматриваемый здесь способ отображения поверхностей четырехугольными гранями можно назвать "квадратированием". Способ этот] известен давно, а такое название мы с вами можем изобрести и сами. Оно' кажется достаточно звучным и вполне соответствующим сути, а главное —; может помочь застолбить "непоправимый вклад в науку" (последнее выра­жение в кавычках придумано не мною). А если говорить серьезно, то лучше! все-таки следовать общему правилу — не засорять язык без крайней необхо­димости. Поэтому используем кавычки.

Применение четырехугольных граней для поверхностей общего вида, вообще говоря, это вопрос спорный. Почему именно четырехугольные грани? Для сравнения на рис. 5.55 и 5.56 приведены два варианта граней — четырех­угольники и треугольники.

Рис. 5.55. "Квадратирование" и триангуляция

Рис. 5.56. При небольшом числе граней видны существенные отличия

Здесь необходимо упомянуть следующие понятия. Грань называется плоской, если все ее вершины располагаются в одной плоскости трехмерного про­странства. При отображении трехмерного объекта на плоскости пространственные грани (как плоские, так и неплоские) изображаются закрашенными многоугольниками — полигонами. Полигоны бывают выпуклыми и невы­пуклыми. Выпуклый полигон — это фигура на плоскости, контур которой пересекается любой прямой линией только дважды. Если находится такая прямая линия, которая пересекает контур большее число раз, то это невыпук­лый полигон. Это обуславливает особенности алгоритмов графического вы­вода. Алгоритмы вывода полигонов мы рассматривали в главе 3.

Очевидно, что любой треугольник всегда выпуклый. Таким образом, тре­угольная грань в пространстве всегда является плоской и отображается на плоскости выпуклым полигоном. Четырехугольная грань может быть как плоской, так и неплоской. И та и другая четырехугольная грань может ото­бражаться в проекции как выпуклым, так и невыпуклым полигоном. Любой четырехугольник можно изобразить в виде двух треугольников. Некоторые примеры таких полигонов приведены на рис. 5.57.

Рис. 5.57. Изображение четырехугольных граней: а — выпуклый полигон, б — триангуляция, виг — невыпуклые полигоны

Для поверхностей вращения все четырехугольные грани являются плоскими (разумеется, если поверхность аппроксимировать так, как это сделано в пре­дыдущих разделах — по меридианам и параллелям). Если форма — не по­верхность вращения, то такие грани могут быть плоскими, а могут таковыми и не быть. Это можно отметить и для некоторых вариаций формы шара, ци­линдра и тора, приведенных выше. Зачем нужны именно плоские грани? И когда необходимо применять триангуляцию? Для ответа на эти вопросы нужно учитывать многие аспекты.

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

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

угольная грань изображается невыпуклым полигоном. Это и приводит к проблемам. Например, в API библиотеки OpenGL в качестве графических примитивов предлагаются только выпуклые полигоны, а в API Windows nof гон-примитив может быть и невыпуклым. Очевидно, что любой невыпуклый полигон может быть разрезан на треугольники (или другие выпуклые фигуры), но это усложняет алгоритм отображения.

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

При аппроксимации поверхностей не обязательно использовать постоянщ шаг сетки. -Размеры и ориентация граней могут варьироваться в зависимое! от кривизны участков поверхностей. Это позволяет достичь лучшего coof ношения между точностью аппроксимации и количеством граней.

Характеристики

Тип файла
Документ
Размер
530 Kb
Тип материала
Высшее учебное заведение

Список файлов книги

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