Введение в трехмерную компьютерную графику с использованием библиотеки OpenGL
Покупка
Основная коллекция
Тематика:
Графика и анимация на компьютере
Издательство:
Новосибирский государственный технический университет
Год издания: 2018
Кол-во страниц: 100
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-7782-3744-5
Артикул: 778138.01.99
В данном учебном пособии рассмотрены элементы теории из раздела вычислительной геометрии для работы с трехмерной компьютерной графикой и соответствующие функции графической библиотеки OpenGL. Пособие может быть рекомендовано как для самостоятельного изучения курсов «Компьютерная графика» и «Вычислительная геометрия», так и для подготовки к лабораторным, практическим и расчетно-графическим заданиям.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 00.03.32: Инженерная и компьютерная графика
- 01.03.02: Прикладная математика и информатика
- 02.03.02: Фундаментальная информатика и информационные технологии
- 09.03.01: Информатика и вычислительная техника
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Министерство науки и высшего образования Российской Федерации НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ А.Г. ЗАДОРОЖНЫЙ, М.Г. ПЕРСОВА, Ю.И. КОШКИНА ВВЕДЕНИЕ В ТРЕХМЕРНУЮ КОМПЬЮТЕРНУЮ ГРАФИКУ С ИСПОЛЬЗОВАНИЕМ БИБЛИОТЕКИ OPENGL Утверждено Редакционно-издательским советом университета в качестве учебного пособия НОВОСИБИРСК 2018
УДК 004.92(075.8) З-156 Рецензенты: канд. техн. наук, доцент В.С. Карманов д-р техн. наук, профессор М.Э. Рояк Работа подготовлена на кафедре прикладной математики НГТУ Задорожный А.Г. З-156 Введение в трехмерную компьютерную графику с использо ванием библиотеки OpenGL: учебное пособие / А.Г. Задорожный, М.Г. Персова, Ю.И. Кошкина. – Новосибирск: Изд-во НГТУ, 2018. – 100 с. ISBN 978-5-7782-3744-5 В данном учебном пособии рассмотрены элементы теории из раздела вы числительной геометрии для работы с трехмерной компьютерной графикой и соответствующие функции графической библиотеки OpenGL. Пособие может быть рекомендовано как для самостоятельного изучения курсов «Компьютерная графика» и «Вычислительная геометрия», так и для подготовки к лабораторным, практическим и расчетно-графическим заданиям. УДК 004.92(075.8) ISBN 978-5-7782-3744-5 Задорожный А.Г., Персова М.Г., Кошкина Ю.И., 2018 Новосибирский государственный технический университет, 2018
ВВЕДЕНИЕ Суть координатного метода заключается в том, что для описания объектов используются пространственные координаты в различных системах координат с соответствующими преобразованиями из одной системы в другую. А поскольку объекты задаются множеством своих вершин, то эти преобразования применяются к вершинам объектов. На основании такого подхода было разработано множество алгоритмов вычислительной геометрии, которые и легли в основу компьютерной графики. В данном учебном пособии кратко рассматриваются следующие элементы вычислительной геометрии: Системы координат и преобразования между ними; Аффинные геометрические преобразования (перемещение, поворот и растяжение); Геометрические проекции и проективные преобразования; Модельно-видовые преобразования; Кватернионы; Некоторые методы удаления невидимых линий и поверхностей. Помимо этого рассматриваются и команды библиотеки OpenGL, которые позволяют создавать трехмерную графику без наложения текстур, но с использованием освещения по модели Фонга.
СИСТЕМЫ КООРДИНАТ Система координат (СК) – это способ определения местоположе ния точки с помощью чисел, называемых координатами, что представляет собою реализацию метода координат. Обобщением системы координат являются системы отсчета и системы референции. Для двух- и трехмерных систем приняты следующие названия осей: первая ось называется осью абсцисс, вторая – осью ординат, а третья – осью аппликат. Вообще говоря, координаты можно вводить различными способа ми, но при решении конкретных математических или физических задач методом координат имеет смысл выбрать такую систему координат, которая упростила бы процесс решения. Системы координат можно классифицировать по множеству кри териев, в частности, по форме и направлению осей, по назначению, по точке отсчета, по размерности пространства и т.д. По форме осей системы координат можно разделить на прямоли нейные и криволинейные. В частности, декартова СК является прямолинейной системой, а вот биполярная СК – уже криволинейной, поскольку в качестве осей использует окружности. По мерности пространства системы координат можно разделить на следующие классы: o Двумерные (биангулярные, эллиптические, ...); o Трехмерные (тороидальные, конические, ...); o Многомерные (проективные, барицентрические, ...). Также можно отдельно выделить и физические координаты, на пример: Координаты Риндлера; Координаты Борна; Небесные координаты; Географические и геодезические координаты; Ортодромические координаты.
БАЗОВЫЕ СИСТЕМЫ КООРДИНАТ Самая простая и часто используемая система координат – это прямоугольная система координат, т.е. прямолинейная СК с взаимно перпендикулярными осями. Данная СК легко вводится для пространств любой размерности. Прямоугольная система может быть описана набором ортов (единичных ортогональных векторов, сонаправленных с осями координат). В трехмерном случае орты обычно обозначаются векторами 𝑖, 𝑗, 𝑘 или 𝑒𝑥, 𝑒𝑦, 𝑒𝑧 . Прямоугольная система представляет собой частный случай косо угольной системы, которая, в свою очередь, является прямолинейной системой в аффинном пространстве. На рис.1 приведены двумерные примеры прямоугольной и косоугольной систем координат. В основном из прямоугольных координат используются двумер ные и трехмерные декартовы координаты. Из криволинейных же систем координат чаще всего используются полярные, цилиндрические и сферические координаты. Рис.1. Прямоугольная и косоугольная двумерные системы координат.
ДЕКАРТОВЫ КООРДИНАТЫ Если масштабы по осям одинаковы, тогда прямоугольная система называется декартовой системой координат (ДСК). ДСК является правосторонней (правой, положительной, стандарт ной), если при повороте вокруг положительного направления оси 𝑂𝑍 против часовой стрелки на 90° положительное направление оси 𝑂𝑋 совпадет с положительным направлением оси 𝑂𝑌 (правило буравчика, правой руки). В двумерном же случае у правосторонней системы ось 𝑂𝑋 направлена вправо, а 𝑂𝑌 – вверх. На рис.2 представлены различные варианты ДСК. В частности, экранная система координат является правосторон ней, поэтому ось 𝑂𝑍 направлена от экрана, а не вглубь. Рис.2. Варианты декартовой системы координат.
ПОЛЯРНАЫЕ КООРДИНАТЫ В полярной системе координат (ПСК) положение любой точки оп ределяется ее расстоянием до начала координат 𝑟 и углом 𝜑 ее радиусвектора к оси 𝑂𝑋 (рис.3). Радиус 𝑟 называется полярным радиусом (радиальной координатой, угловым расстоянием). Угол 𝜑 называется полярным углом (угловой координатой, азимутом, позиционным углом). Полярные координаты оказываются удобнее декартовых при зада нии кривых на плоскости и применяются, например, в астрономии и медицине. Переход из ДСК в ПСК и обратно осуществляется по следующим формулам: 2 2 cos sin arctg r x y x r y y r x . Рис.3. Полярная система координат.
ЦИЛИНДРИЧЕСКЫЕ КООРДИНАТЫ Цилиндрической системой координат (ЦСК) называют трехмер ную систему координат, являющуюся расширением ПСК путем добавления третьей координаты – 𝑧, которая задает высоту точки над плоскостью (рис.4). Цилиндрические координаты удобны при анализе поверхностей и объектов, симметричных относительно какой-либо оси (например, конусов и цилиндров). Переход из ДСК в ЦСК и обратно осуществляется по следующим формулам: 2 2 cos arctg sin r x y x r y y r x z z z z . Рис.4. Цилиндрическая система координат.
СФЕРИЧЕСКЫЕ КООРДИНАТЫ Сферической системой координат (ССК) называют трехмерную систему координат, являющуюся расширением ПСК путем добавления третьей координаты – угла 𝜃 (рис.5), который называется зенитным углом (полярным, нормальным углом). Фундаментальная (основная) плоскость – это плоскость 𝑋𝑌, в ко торой находится начало координат и отсчитывается полярный угол. Соответственно, зенитный угол отсчитывается от оси 𝑂𝑍, перпендикулярной к фундаментальной плоскости. Переход из ДСК в ССК и обратно осуществляется по следующим формулам: 2 2 2 2 2 arctg cos sin sin sin cos arctg y x x r r x y z y r z r x y z . Рис.5. Сферическая система координат.
Особое распространение сферические координаты получили в ас трономии и географии. В этом случае форма объектов рассматривается как сфероид (эллипсоид вращения) – поверхность вращения в трехмерном пространстве, образованная при вращении эллипса вокруг одной из трех его главных осей. Эллипсоид вращения является частным случаем эллипсоида, две из трех полуосей которого имеют одинаковую длину: 2 2 2 2 2 2 1 x y z a a b . В частном случае, когда все три полуоси равны, эллипсоид выро ждается в сферу: 2 2 2 2 x y z r . Для удобства работы с поверхностью сфероидов (𝑟 = 1) вводятся дополнительные определения. Полюса – это точки, в которой ось вращения сфероида пересекает ся с его поверхностью. В зависимости от направления оси 𝑂𝑍 выделяют северный (𝜃 = 0°) и южный (𝜃 = 180°) полюса. Экватор – это окружность, являющаяся линией сечения поверх ности сфероида плоскостью, которая проходит через центр сфероида перпендикулярно оси его вращения (z = 0). Параллель – это окружность, являющаяся линией сечения поверхности сфероида плоскостью, параллельной плоскости экватора (𝜃 = 𝑐𝑜𝑛𝑠𝑡). Длины параллелей различны: они увеличиваются при приближении к экватору (самой длинной параллели) и уменьшаются до нуля к полюсам. Меридиан – это окружность, являющаяся линией сечения поверх ности сфероида плоскостью, проходящей через ось вращения сферы (𝜑 = 𝑐𝑜𝑛𝑠𝑡) перпендикулярно плоскости экватора. Часто используется понятие точки наблюдения на поверхности сфероида, соответственно, для этой точки наблюдателя вводятся понятия «надир» и «зенит». Надир – это направление вовнутрь сфероида, которое в рассматриваемой точке ортогонально касательной плоскости, проведенной через эту точку. Зенит – это направление, обратное к надиру. Фактически, для наблюдателя надир – это направление вниз (внутренняя нормаль), а зенит – направление вверх (внешняя нормаль).