Главная » Просмотр файлов » OpenGL. Руководство по программированию (Библиотека программиста) (2006). Ву М., Девис Т., Нейдер Дж., Шрайнер Д

OpenGL. Руководство по программированию (Библиотека программиста) (2006). Ву М., Девис Т., Нейдер Дж., Шрайнер Д (1124475), страница 96

Файл №1124475 OpenGL. Руководство по программированию (Библиотека программиста) (2006). Ву М., Девис Т., Нейдер Дж., Шрайнер Д (Раздаточные материалы) 96 страницаOpenGL. Руководство по программированию (Библиотека программиста) (2006). Ву М., Девис Т., Нейдер Дж., Шрайнер Д (1124475) страница 962019-05-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Если значение горЯайиз равно О, генерируется конус. Если координаты текстуры генерируются средствами квадратичного объекта, г-координата изменяется линейно от 0.0 при г - 0 до 1.0 при г = Ье(яЬг. Координата з текстуры генерируется так же, как для сферы. ПРИМЕЧАНИЕ Цилиндр не «закрывается» нн сверху, нн снизу, то есть диски в основаннн н в верхней точке не рисуются. чек) я1о01 зК(01Л)опас1ПсОЪ1 'с)о1у', 01х)онЫе 1ппегЯайиз, СЫопЫе оисетЯадла 01апс зЬсеж 015пт ппдз); Рисует диск в плоскости г = 0 с радиусом оигегЯайиз и концентрическим круговым отверстием радиусом (ппегЯайих Если 1ппегЯайиз равен О, отверстие не создается.

Диск разбивается вокруг оси г на количество «ломтиков» йоши (подобно ломтикам пиццы), а вдоль оси г — на концентрические кольца (ппяг). С учетом стандартной ориентации сторона +г диска считается наружной, то есть любые генерируемые нормали указывают в направлении +г. Иначе нормали направлены в направлении -г. Если координаты текстуры генерируются средствами квадратичного объекта, они изменяются линейно таким образом, что В - оитегЯайид значения координатз и гпри (К, О, 0) равны (1, 0.5), при (О, К, 0) — (0.5, 1), при ( — К,О, 0)— (О, 0.5) и при (О, -Е, 0) — (0.5, 0).

Поверхности второго порядка: сферы, цилиндры и диски 435 чоЫ 81цраг11а10! ьК(С1Л3с[паг[г]сОЬ] "гуо]]], С(.допЫе [плешах[[из, С(х]опЫе оигегяааг[ць, С].[пг ь!]сеь, С(зп( плдь, С[к[оп Ые ьгакАп8(е, С)х[опЫе ьзвеерАпя]е)] Рисует неполный диск в плоскости з = О. К неполному диску применимы те же термины, что и для полного диска: оисегйаг([из, тпегйаг((иь, ь[(сеь и ппяь. Разница только в том, что неполный диск рисуется от начального угла ьгаггАпд]е до ь(агГАпя]е + ьгееерАп8]е (ь(аг(Апре и ывеерАпфе измеряются в градусах, где 0' это осъ +у, 90' соответствует оси +х, 180' — ось -у и 270' — ось -х).

Ориентация и координаты текстуры для неполного диска определяются аналогично полному диску. ПРИМЕЧАНИЕ Дпя всех квадратичных обьектов лучше использовать *Наб!иь, Ье!ОП( и подобные параметры дпя масштабирования, чем команду д]бса)е*(], чтобы сгенерированные единичные нормали не приходилось нормализовать снова. Задавайте значения аргументов ппйь и ьтасхь отличными от 1 с целью лучшей гранупярности при расчете освещения, особенно если материал обладает высоким альбедо. Листинг 1[А показывает рисование каждого из квадратичных примитивов, а так- же влияние различных стилей.

Листинг 1$.4. Квадратичные объекты: (]пзбг[с.с Ф11пбет САЕСВАСК а)е11пе САССВАСК Еепб]т 6[юпс ьсагсс(ьт; чо(б САССВАСК еггогса11Ьаск(6(епив еггогСобе) ( СОПЬ1 6СОЬУ1Е 'ЕЬСГ(ПВ; еьтг]пх = 91цЕггогьтг1пх(еггогсобе); 1Рг1п11(ьсбегг, "Ошибка хь)п", еь1г!пх); ех11(8): ) чозб 1п!1(чозб) ( 6(ечцабг1сОЬ3 'Ооо]; 6111оат ват авЫепт[] = ( 0.5, 0.5, 0,5, 1.9 ); 6((1оас ва1 ьреси1аг[] = ( 1.9, 1.9, 1.0, 1.9 ]; 6(11оат ват ьизп(пеьь[] = ( 58.0 6С11оат 11ВЬ1 роь]1(оп[) = ( 1.9, 1.8, 1.8, 0.9 ); 6СР]оаС вобе1 авЫепт[] = ( 0.5, 8,5, 8.5, 1.0 ); В161еагсо1ог(9.8, 8.0, 9.0, 9.0): 61иатег1а11ч(6( ЕЙОМТ, 6С АМВ1ЕМТ, ваг авЬзеп(); 91иа1ег!а1(ч(6С РНОМТ, 61 5РЕСОСАК, ва1 ьреси1аг); 91натег!а1(ч(6с гноит, 6( 5н1М1ме55, ват ьп1п! пеьь): 91(1ВЫтч(6С 116НТВ, 6С Р05]Т10М, 1!ВП1 РОЬз11оп); В]с)хи!небе]гч(6( 116нт нооес АНВ]ейт, вобе1 авыепт); продолжение Р Листинг 11.4 !продолжение) 91Е»аЫе(6С !16НТ1й6); 91Е»аЫе(6( !16НТВ); 91ЕпаЫе(6! ОЕРТН ТЕ5Т); / к Создает 4 списка отображения по числу квадратичных объектов.

Демонстрируются различные стили рисования и описания нормалей к поверхности '/ зтаг!С!зС = 916епН з!з(4); Оо»1 = 91ийендоабгтс(); 91идиабгтсса!1Ьасх(цо»1, 610 ЕРМОМ, еггогСаПЬаск); 91иОиабг!сОган5(у1е(цо»), 6!О Р?СС); /' плавное затенение */ В?иОиабгтсйогва1з(цоЬ), 6(0 5йООТН); 91йен!тзт(зтагс(тзт, 61 СОНР?СЕ); 91и5р»еге(поо), 0.75, 15, 19); 91Епб!тзт(): 91иОиабгтсрган5171е(цо»), 6(0 Р?СС); /' плоское затенение '/ В?иднабгтсйогва?з(йо»1, 610 РСАТ); 9!йенс!зт(з!агсстз!ъ?, 6( СОМР?се); 81ису1тпбег(цо»1, 0.5. 0.3, 1.0, 15, 5); 91Е»ос!5!(); 91оОиабгтсОган5су1е(роь?. 610 с?ме); /' каркас */ 91иОыабгтсМогва1з(поЬ?, 6(0 йОМЕ); 91йен(тз!(зтаг!Стзсе2, 6! СОНР?СЕ); 91оОтзх(йо»1.

0.25, 1.0, 20, 4); 91Е»б(ты(); 91иОиабг!срган5171е(цоь). 6СО 51(НООЕТТЕ); 91ибоабг!сйогва1з(цо»1, 6(0 МОНЕ); 9!Меч(тзт(з!агт!!з1+3, 6( СОНР?!Е); 91иРагтта10тзх(поЬ), 9,8, 1,0, 20, 4, 0.0. 225.8); 91Епб!.!зС(); уо!б о!яр!ау(хо!о) ( 91С1еаг(61 СОСОК ВОРРЕР 81Т ) 6С ОЕРТН ВОРРЕМ 81Т); В!Роз»натгтх(); 91Е»аЫе(6! С?6НТ?М6); В!5»абейобе?(6( 5НООти); 91тгапз1атег(-1 8, -1.9, 8.9); 91са11!!зс(зсаг!стас); 915»абеиобе1(6С РСАТ); В?Тгапз1атег(9.0, 2.0, 0.0); 91Риз»натгтх(); 91йоса!ет(390.0, 1.0, 0.9, 0.9); 91са11С! зт (з!аг1(! зт+1); 91Рорнатгтх(); 436 Глава 11 ° Мозаичное представление и поверхности второго порядка Поверхности второго порядка: сферы, цилиндры и диски 437 910! ааЬ?е(6С С?6НТ?Н6); 91Со1ог3((9.9, 1,0.

1.9): 91тгапа1а(ег(2.9, -2.0, 9.0); 9?са? «(аС(а(агСС(а!+2); 9?со?огзг(1.9, ?.О, О,в); 9?тгапа?эта!(0.0, 2.9, 0.0); 91Са11?(аС(а(агСС(а!+3); 91Рориа(г(х(); 91Р105Ь(); ) чо(б ге!ларе(!пС и, чпС П) ( 91ч'!пирог((9, О, (6С5(се!) и, (669!се!) П); 91Ма(г(хнобе(6С РЯО!ЕСТ?ОМ); 91Соаб?бепС!Су(); (г (и <= и) 910гтпо(-2.5, 2.5, -2,5*(6С(1оаС)п/(6?(1оаС)и. 2. 5' (6С(1оэС) П/ (6С(1оаС)и, - 19. О, 10. 0); е1ье 910гСПЬ(-2.5*(6С(1оаС)и/(6?(1оаС)П, 2,5'(6с(1оас)и/(6с(1оас)п, -2.5, 2.5, -19.0, 10.9)! 91Ма(г!кнабе(6С МООЕСЧ?ЕИ); 9?Соаб?бепС!Су()! чочб кеуьоагб(оп!!Епеб спаг кеу, чпс х, (пс у) ( 5и(ССЬ (Кеу) ( саае 22: ех!С(0); Ьгеах; (пС еа(п(чпС агвс, слаг" агвч) ( 91ЬС?п!С(йагвс, агвч); 91ЬС?п!СО!ар1ауМобе(ОСОТ 5?ИССЕ [ 6СОТ 969 [ 6СОТ ОЕРТН); 91ЬС?пчСИ(пбои5!се(599, 500); 91оС ?и! СИ! пбоиРоа! С! оп( 100 .

100): 9?оссгеасей(обои(агах[9)); !п(с(); 91ЬСОчар1ауропс(б!ьр1ау)! 91ЬСяеапарегопс(геьларе); 91ЬСКеуооагбгопс(хеуооагб). 91исМа(псоор(); гесогп О; Вычислители и й0кВ5 439 На самом низком уровне аппаратные средства рисуют точки, отрезки линий и многоугольники — обычно треугольники н четырехугольники. Гладкие кривые и поверхности рисуются аппроксимированными большим числом маленьких отрезков или многоугольников. Тем не менее многие полезные кривые и поверхности могут быть описаны математически небольшим числом параметров, таких как контрольные точки.

Сохранение 16 контрольных точек для поверхности требует значительно меньше памяти, чем сохранение 1000 треугольников вместе с информацией о векторах нормали для каждой вершины. Кроме того, 1000 треугольников лишь аппроксимируют истинную поверхность, а контролъные точки точно описывают. Вычислители обеспечивают способ указания точек кривой или поверхности (или ге части) с помощью только контрольных точек. Кривая или поверхность может быть воспроизведена с любой точностью. Дополнительно автоматически вычисляются векторы нормалей к поверхностям. Вы можете использовать данные, сгенерированные вычислителем, различными способами: нарисовать точки в месте нахождения поверхности, построить проволочный каркас поверхности или отобразить ее полную версию — с освещением, затенением и текстурами. Вычислители позволяют описать любые полиномиальные или рациональные йайопа1) полиномиальные сплайпы или поверхности любого порядка.

Это практически все сплайны и сплайновые поверхности, применяемые сегодня, в том числе В-сплайны, Ы(1ВВ5- (Хоп-()пЫогш Кайопа! В-Зр11пе — неоднородный рациональный В-сплайн) поверхности, кривые и поверхности Безье и сплайны Эрявта (Негппге). Поскольку вычислители предоставляют только низкоуровневое описание точек кривой или поверхности, они обычно используются ввышестояшими» библиотеками инструментов, обеспечивающими интерфейс программирования более высокого уровня. Средства Х() КВЗ библиотеки С1Л) — как раз такой интерфейс. Процедуры Х()КВ5 инкапсулируют в себе большой объем сложного хода. Конечное отображение обычно выполняется вычислителями, но в некоторых ситуациях, например при вырезании (Гг1шпппя) кривых, Х()КВЯ-процедуры используются для воспроизведения плоских многоугольников.

Зта глава содержит следующие основные разделы: ° Необходимые знания. Здесь говорится, какие знания вы уже должны иметь для чтения этой главы. Здесь также приводятся несколько ссылок на дополнительные источники информации. ° Вычислители. Рассказывает, как работают вычислители и как ими управлять с помощью команд ОрепС1..

° Интерфейс Х1)КВЯ библиотеки СШ. Описывает процедуры СШ для создания Х()КВЯ-кривых и поверхностей, их воспроизведения и возврата информации для вершин, полученных при мозаичном разбиении. 440 Глава 12 ° Вычислители и йый95 Необходимые знания Вычислители рассчитывают сплайны и поверхности, основанные на кривых Бе- зье (или на полиномах Бернштейна). В этой главе приводятся определяющие уравнения, но обсуждение не отклоняет- ся от основной линии и даже не включает в себя перечисление всех интересных свойств этих объектов. Если вы хотите использовать вычислители для рисования кривых и поверхностей с помощью других базисов, вы должны уметь выполнять их преобразование к базису Безье. Кроме этого, когда вы воспроизводите поверх- ность Безье или ее часть с помощью этих вычислителей, вам нужно определиться с детализацией разбиения.

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

Тип файла
PDF-файл
Размер
56,35 Mb
Тип материала
Высшее учебное заведение

Список файлов учебной работы

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