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

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

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

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

Ди)ньш процесс можно прополжитгп переходя от сустава к суставу (плечо, ло- ють, запястье, пальцы): с!Тгппч)а(еч(1.8, 9.0, О.О), С!ао(4(е(((ОСЧ!оаС) е!Ьон, 0.9, 0,0, !.8); с!тгапчсасе((!.8. о.о, О.о), $1Рпчпнд(г1 х (); 5!544!еч(2.9, 0.4, 51ЬСМчгеСЬЬе(!.0); С!РЬРМа(гчх(); Ластинг 3.7. Рука робота: гоЬос.с ч(зС!с чос чпоисоег = О, е1ьон = 0; чо!4 !п)С(хоче) ( с!С1еагсо1ог(8.8, 8.8, 8.0, 8.0); 415ьаоеМоее!(ОС ЕСАТ). ) чо!О 4!чр1ау(чо)д) ( 41С!еаг(ОС СО!Оп ВОРРЕМ ВТТ)," 41Розьна(г)х(); 61тгап51агеч(-!.8, 8.8, О.О); Х!Ко(агеч((ОСГ!Ьат) зпоо!пег, О.О, О.О, !.О); Х1тгапз)асес(1.8, О.О, 0.0); с1РочпнаСгчх(); 415са1ес(2.9, 8.4, 1.0); продолхгенив .О Обратные, или имитационные, преобразования 141 5!и!1п11(аагзс, агвч); 5!и!1п1101зр!ауМибе(бьет воив(Е ~ Всит ВВВ)! В!и11п1(й1пбой5(ке(500, 50В): 5!ис!п11й!пбойРоз!!!оп(100, 100): В!и!Сгеасей1пбой(агач(В)); (пз(О; В!и(015Р!аугипс(б)зр!ау): 5!исаезлареГипс(гезьаре): В!и(кеуЬоагбгипс(хеуЬоагб); З!и!Ма1псооо О; ге!игп О, Упражнение ° Измените листинг 3.7, добавив дополнительные сегменты к руке.

° Дополните руку сегментами в соответствующих местах, например пальцами на запястье, как показано па рис. 3.26. Подсказка: используйтс функции 51Ризпнасг(х О и я1Рорнасг(х О для сохранения и восстановления положения и ориентации системы координат в кисти. Текущая матрица сохраняется перед позиционированием каждого пальца и восстанавливается после его рисования. Рис. 3.26.

Рука робота с пальцами Пособия по преобразованиям от Нзйта Робинса Если у вас есть набор программ от Нэйта Робинса, вернитесь к программе преобразований и запустите ее снова. Задействуйте раскрывающееся меню для изменения последовательности операций В!цитате'О и а!Тгапз!асео и посмотрите аа результат этих изменений. Обратные, или имитационные, преобразования Конвейер геометрической обработки очень удобен дтя работы с видовыми матрицами и матрицами проекций. В процессе преобразования мировые координаты вершин переводятся в оконные (экранные) координаты. Однако есть ситуации, в которых нужно повернуть этот процесс вспять.

Например, когда приложение ориентируется в трехмерном пространстве с помощью мыши. Мышь возвращает положение указателя на плоскости; соответственно, приложению нужно как-то узнать трехмерные координаты на основе двухмерных. 142 Глава 3 ° Визуализация Обратные преобразования выполнякст функции СШ я1ицпРго)ест() и х1ицпР го) ес с 4 () . 11а основе трехмерных оконных координат преобразованных вершин и всех преобразований, которые с ними происходили, функция е1и0прго)ест() возвращает начальные мировые координаты вершин. Функция к1ицпРго) есС4 () используется, если глубина не укладывается в диапазон по умолчанию [О; 1[.

(пс к(ицпрго1есс(СЫопЫе гелпх, С(х[оцЫе т(ну, С(х[оц[э1е гипг, сопзс С[х[онЫе тог[е(Ма(пх[16[, сопзс С(х1оцЫе рю)ЛХигпх[16[, сопя: С1.шс тте)югт[4], С(х(оцЫе "ОЬ)х, С[х[оцЫе "ОЬ)у, С1.с1оцЫе "о)уг); Переводит оконные координаты (т(лх, ндпу, квлг) в координаты объекта, опираясь на преобразования, определенные молельно-видовой матрицей (аргумент тоде(Магг(х), матрицей проекций (рго)Ма(пх) и окном просмотра (пекрогг). Координаты объекта возврап(аются через указатели ОЬ)х, ОЬ)у, оЬ)д Функция возвращает 6С ТЙОЕ в случае успешного завершения н 6С ЕАЕ5Е в случае ошибки (если матрица необратима). Эта операция нс пытается отсекать координаты окна просмотра и равнодушна к координатам глубины, если они выходят за значения, заданные функцией к1Оергпйапае ().

Существует ряд сложностей при попытке инвертирования процесса преобразования. Двухмерное положение на зкране может отсчитываться в трехмерном пространстве от лсобого места па некоторой линии. Для устранения неоднозначности результата функция я1ицпрго) есс() требует, чтобы оконная координата глубины (т(пг) была представлена в терминах функции д10ерспйапае() .

(Для получения более подробной информации о диапазоне глубины см. раздел «Измененная координата глубиныю) По умолчанию лля функции к10ерсппапке() значение влиг, равное 0.0, требует мировые координаты преобразованной точки на ближней плоскости отсечения, в то время как т(лг, равное 1.О, соответствует точкам, расположенным на дальней плоскости отсечения. Листинг 3 8 демонстрирует пример использования функции а1иппрго)есс() с целью чтения координат мыши и определения трехмерной точки на ближней и дальней плоскостях отсечения. Вычисленные мировые координаты выводятся в стандартный поток вывода, но окно остается черным. Листинг 3.8.

Обратное преобразование: нпрго)есС.с чо1О О)5Р1ду(чо(О) ( В161еаг(6С СОСОИ ВОЕЕЕР В1Т); В1Е1о«П(); «о(о гезпаре(1пс и, 1пс и) ( В1ИеирогС(В. О, (6(зъс«1) и, (6(з)се() П): В1нагг(хнопе(6С РИО)ЕСТ1ОИ): В(Созе(е оп С ( Су (): ВсорегзресС(ие(45,В, (6СС(оаС) иг(ОСГ(оаС) П, (.О, сво.о); В1нагг)хноее(6С ИООЕСЧ1ЕН); В\Соае1еепС(СУ(): Обратные, или имитационные, преобразования 143 ча(б вочве((пт ЬоССоп, (пС веете, (пт х, тпС у) 6[!пт Ыеырогт[4); 6[бонЫе вчватгтх(16], рго)ватгтх[16]; 6[!и! геа1у; /' Орепоь-координата у *Г 6[боиЫе ых, ну, нс; I* возвращенные мировые х-, у-, с-координаты 'г' вн(Сси (Ьигтоп) ( саве ОСОТ СЕЕТ 90ТТОН: т 1 (втате == ОСОТ ООИМ) ( 916е11пСеаегч(61 Ч1ЕИРОМТ, чзеырогС); 6!ОеСОоиЫеч(6С МООЕСЧ1ЕИ МАТМ!Х, вчватг!х); Й!ОеСОанЫеч(6С РМО)ЕСТ10М МА!а]Х, рго)ватгтх); /' ч!еирогс[3] — высота окна в пиксепах '7 геа1у = ч(еырогт[3] — (6С(пС) у — 1; ргтпт1 (" Координаты курсора равны (%4б, %4б)тп", х, геа1у); 9!ннпрго]есС((6СбонЫе) х, (6СбооЫе) геа!у, 0.0, вчватг!х, рго)ватг(х, ч!еырогт, Йнх.

Йну, Йнс); рг!пс1("Мировые координаты при х = 0,0 равны (%1, в1, "в1))п", ых, ну, нх); 9!оОпРго)ест((6Сбооые) х, (6(бооЫе) геа1у, 1.0, вчватг!х, рго]васгтх, чтенрогс, Йнх, Йну, Йнх); рг!птт("Мировые координаты при с = 1.0 равны (%1, %1, М1)сп", нх, ну, нс); ] Ьгеан; саве 6СОТ 916НТ 90ТТОМ: т 1 (втате == ОСОТ ООИМ) ехтт(0); Ьгеае; бе1ао11: Ьгеак; (пт ва(п((пС атас, сиаг*' агбч) ( 6!чс1птс(Йагас, агах); 6!ес]п(сотар!аумобе(6снт 5]нбсе [ 6601 а69); 6!иС1п(СИ!пбон5(се(590, 590); 6!иС1п!Сй(пбонРовтттоп(199, 100); 11нССгеатей!пбон(агах[9]); 5!чСО(вр!аууопс(бтвр!ау); Й!итаевпареропс(гевьаре); 6!отнооверипс(воиве); 6!етна(п[оор(); ге(огп О; ) В С].[) [.3 представлена измененная версия а]и(]яр го]есС().

Команда 1100пРго) есс4() может работать с нестандартным диапазоном а10ерсп)(алке() и со значением координаты то, отличным от 1. 144 Глава 3 к Визуализация (пг б1ицпрго)есс4(0)х»оиЫе плпх, 01х)оггЫе гегпу, 014)оиЫе пппг, 01.г1оиЫе сйрпь сопя( 0(х)оиЫе тот(е1Магпх»16», сопя( 014(оиЫе рго)Маптх»16», сопя( 01зп( огеврогг»4», 01.с1ашрг) гМеаг, 01.с!ашрс1 ггаг, 01.доиЫе 'оЬух, 01.с1оиЫе "оЬуу, 0(х)оиЫе "о(уг, 0(х)оиЫе "о(ув)' Выполняет действия, аналогичные функции д1ицпрго)'ест().

Переводит оконные координаты (вгпх, вгпу, алпг) в координаты объекта, опираясь на преобразования, определенные модельно-видовой матрицей (аргумент тог(е(Магпх), матрицей проекций (рго)Ма1пх), окном просмотра (иеврогт) и диапазоном глубины от г№аг до ггаг. Координаты объекта возвращаются через указатели о!ух, оЬ)у, оЬ)г. Функция в1ирго)ест 0 из библиотеки 0(.П связана с функцией 61иипРго) ест(). Функция в1ирго) ест() имитирует действия конвейера преобразований. Получая трехмерные мировые координаты и все преобразования над ними, функция д1ирго1ест() возвращает преобразованные оконные координаты.

(п( в1ирго) ест(0(х)оиЫе оЬ)х, 0)х»оиЫе оЬ)у, 01ЛоиЫе оЬ)г, сопя( 0(х)оиЫе то4е1Магпх( гб~, сопз( 0 ЫоиЫе рпуМагпх( 1б», сопя( 01зпт игперогг(4 Ь 0(х)оиЫе "в(пх, 01.йоиЫе "вту, 01.доиЫе "в(пг); Переводит объектные координаты (оЬ)х, облу, оЬ)г) в оконные координаты, используя преобразования, определенные модельно-видовой матрицей (тоаге!Магпх), матрицсй проекций (рго)Маглх) и окном просмотра (пгеврогг). Координаты объекта возвращаются через указатели втх, вту, плпг. Функция возвращает значение бб Тй()Е в случае успешного завершения и 6Е РАЕ5Š— в случае ошибки.

ВНИМАНИЕ матрицы, обрабатываемые функциями д!ицпРго)егх(), д!иипРго)есс4П и д!ирю)ест(), — стандартные развернутые по столбцам матрицы Орепбы Вы можете использовать команды д!бе(Оооо(етй и д(бе11пгедепг() для получения текущих матриц бс мООесу1еу(РмАтп(х, Я. РаО)ест)Он МАТа1Х и Я. Ч1ЕУ(РОПТ. Цвет После прочтения атой главы вы сможете: ° Выбирать и использовать в приложении Д6ВА-цвет или цветовой индекс е Указывать требуемые цвета для рисования объектов ° Рисовать многоугольник, закрашенный более чем одним цветом, с плавными переходами цвета 146 Глава й ° Цвет Цель большинства приложений Орепбй — нарисовать цветное изображение в окне на экране.

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

Также в нем обозреваются модель ВОВА и индексированные цвета. ° КСВА в сравнении с индексированным цветом. Рассказывает о том, как графическое оборудование поддерживает эти два режима и как выбрать нужный вам режим. е Задание цветовой и полутоновой модели. Описывает команды ОрепСЕ, используемыс для определения требуемой цветовой или полутоновой модели. Цветовосприятие С точки зрения физики свет состоит из фотонов — мельчайших частиц света, кажлая из которых перемешается по своему собственному пути и имеет индивидуальную частоту колебаний (или длину волны, или энергию — частота, длина волны энергия зависят друг от друга).

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

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

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

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