Содержание
Лекция: Представление геометрической информации
- Геометрические примитивы
- Полигональные модели
- Воксельные модели
- Поверхности свободных форм (функциональные модели)
Под геометрическими примитивами понимают тот базовый набор геометрических фигур, который лежит в основе всех графических построений, причем эти фигуры должны образовывать "базис" в том смысле, что ни один из этих объектов нельзя построить через другие. Однако вопрос о том, что включать в набор геометрических примитивов, нельзя считать окончательно решенным в компьютерной графике. Например, количество примитивов можно свести к некоему минимуму, без которого нельзя обойтись, и этот минимум сводится к аппаратно реализованным графическим объектам. В этом случае базисный набор ограничивается отрезком, многоугольником и набором литер (символов).
Другая точка зрения состоит в том, что в набор примитивов необходимо включить гладкие кривые различного рода (окружности, эллипсы, кривые Безье), некоторые классы поверхностей и даже сплошные геометрические тела. В качестве трехмерных геометрических примитивов в таком случае предлагаются пространственные кривые, параллелепипеды, пирамиды, эллипсоиды. Но если такой расширенный набор примитивов связан с аппаратной реализацией, то возникает проблема перенесения программных приложений с одного компьютера на другой, поскольку такая аппаратная поддержка существует далеко не на всех графических станциях. Кроме того, при создании трехмерных геометрических примитивов программисты сталкиваются с проблемой их математического описания, а также разработки методов манипулирования такими объектами, поскольку те типы объектов, которые не попали в список базовых, надо уметь приближать с помощью этих примитивов.
Во многих случаях для аппроксимации сложных поверхностей используются многогранники, но форма граней может быть различной. Пространственный многоугольник с числом вершин больше трех не всегда бывает плоским, а в этом случае алгоритмы изображения многогранников могут привести к некорректному результату. Поэтому программист должен сам позаботиться о том, чтобы многогранник был описан правильно. В этом случае оптимальным выходом из положения является использование треугольников, поскольку треугольник всегда является плоским. В современной графике это, пожалуй, самый распространенный подход.
Но существует и альтернативное направление, которое называется конструктивной геометрией тел. В системах, использующих этот подход, объекты строятся из объемных примитивов с использованием теоретико- множественных операций (объединение, пересечение).
Любая графическая библиотека определяет свой набор примитивов. Так, например, широко распространенная интерактивная система трехмерной графики OpenGL включает в список своих примитивов точки (вершины), отрезки, ломаные, многоугольники (среди которых особо выделяются треугольники и четырехугольники), полосы (группы треугольников или четырехугольников с общими вершинами) и шрифты. Кроме того, в нее входят и некоторые геометрические тела: сфера, цилиндр, конус и др.
Понятно, что для изображения таких примитивов должны быть разработаны эффективные и надежные алгоритмы, поскольку они являются конструктивными элементами. Исторически сложилось так, что первые дисплеи были векторными, поэтому базовым примитивом был отрезок. Но, как уже было отмечено в первой главе нашего курса, самая первая интерактивная программа Sketchpad А.Сазерленда в качестве одного из примитивов имела прямоугольник, после чего этот объект уже традиционно входил в различные графические библиотеки.
Здесь мы рассмотрим такие примитивы, как вершина, отрезок, воксель и модели, строящиеся на их основе, а также функциональные модели.
Не нашли то, что искали? Воспользуйтесь поиском:
Описание: На основе геометрических примитивов в 3ds Max можно создавать составные объекты. Геометрические примитивы в 3ds Max условно разделяются на простые и сложные
Дата добавления: 2014-08-04
Размер файла: 291.74 KB
Работу скачали: 8 чел.
Поделитесь работой в социальных сетях
Если эта работа Вам не подошла внизу страницы есть список похожих работ. Так же Вы можете воспользоваться кнопкой поиск
Лабораторная работа №2.
Цель работы: ознакомление с геометрическими примитивами, используемыми в 3 ds Max . Получение навыка создания простых сцен с помощью геометрических примитивов.
На основе геометрических примитивов в 3 ds Max можно создавать составные объекты. Геометрические примитивы в 3 ds Max условно разделяются на простые и сложные. К простым (Рис.1) геометрическим примитивам (категория Standard Primitives ) относятся:
Box (Параллелепипед) параллелепипеды и кубы с произвольным отношением сторон.
Sphere (Сфера) параметрические объекты типа сферы или купола. Базовый объект создаёт квадратичные секции, похожие на линии широты и долготы глобуса.
Cylinder (Цилиндр) цилиндры, цилиндрические секторы и многогранные призмы любых пропорций.
Torus (Тор) кольца с круглой формой поперечного сечения.
Teapot (Чайник) объект в виде чайника, часто используемый для демонстрации возможностей 3 ds Max .
Cone (Конус) объект, изначально напоминающий цилиндр, но содержащий в себе возможность изменить один из двух радиусов, трансформировав цилиндрическую форму в конусообразную.
GeoSphere (Геосфера) параметрические объекты, похожие на сферы, но состоящие из треугольных секций.
Tube (Труба) объекты, подобные цилиндру, но с продольным отверстием внутри.
Pyramid (Пирамида) пирамиды (обычные и усечённые) с прямоугольным или треугольным основанием.
Plane (Плоскость) прямоугольный фрагмент сетчатой оболочки. Единственный примитив, не являющийся трёхмерным объектом.
Рис. 1. Простые геометрические примитивы.
Сложными (Рис.3) геометрическими примитивами ( Extended Primitives ) являются:
Hedra (Многогранник) пять разновидностей многогранников (Рис.2) со множеством управляющих параметров. Все объекты определяются заданием точки центра и величиной радиуса.
Рис. 2. Многогранники ( Hedra )
ChamferBox (Параллелепипед с фаской) параллелепипеды и кубы с любым соотношением сторон. Отличается от объекта Box тем, что существует возможность задать фаски на краях.
OilTank (Цистерна) цилиндры с основанием в виде сферических сегментов с ярко выраженной границей между основаниями и средней частью объекта.
Spindle (Веретено) цилиндры с коническими основаниями.
Gengon (Многогранная призма) многогранные призмы с фаской и без неё.
RingWave (Круговая волна) инструмент для создания труб, внешняя и внутренняя поверхности которых могут быть волнообразно деформированы.
Prism (Призма) инструмент для создания призм с различным соотношением сторон основания.
TorusKnot (Тороидальный узел) объект, строящийся на основе узлов различного вида.
ChamferCyl (Цилиндр с фаской) цилиндры и многогранные призмы любых пропорций с возможностью задания на краях фаски, срезанной под углом 45 °.
Capsule (Капсула) цилиндры с основанием в виде полусфер.
L — Extrusion ( L -тело экструзии) плоскость L -образной формы с выдавливанием по высоте.
C — Extrusion (С-тело экструзии) объект, аналогичный L -телу экструзии, но отличающийся базовой формой, представленной в виде буквы «П». Оба тела экструзии используются для моделирования архитектурных конструкций.
Hose (Рукав) инструмент для создания гофрированных рукавов, шлангов и других аналогичных объектов.
Рис. 3. Сложные геометрические примитивы.
Все примитивы имеют настройки для управления их размерами, количеством сегментов, сглаженностью и координатами проецирования. Пока объект не преобразован в другой тип, можно свободно изменять его параметры на вкладке Modify командной панели.
Задание 1. Создание простых и сложных примитивов.
1. Щёлкните на кнопке Geometry командной панели Create и выберите в раскрывающемся списке разновидность объектов Standard Primitives . В свитке Object Type должны появиться кнопки с надписями, соответствующими стандартным примитивам.
2. Выберите объект GeoSphere . В нижней части командной панели Create в свитке Creation Method выбирается метод создания геосферы: либо перемещением указателя мыши от края к краю ( Diameter ), либо перемещением указателя мыши от центра ( Radius ). Выберите любой из них и нарисуйте с помощью мыши этот объект. Обратите внимание на свитки: Name and Color , Keyboard Entry и Parameters (Рис.4). В свитке Name and Color переименуйте объект, задав ему имя Tetra , и измените его цвет на любой отличающийся от изначального.
3. В свитке Parameters задайте значение радиуса 40 , количество сегментов 10 . Чем большее количество сегментов установлено тем более сглаженным получается объект. Переключатель Geodesic Base Type (Базовый тип оболочки) установите в положение Tetra (Тетраэдр).
4. Создайте аналогичным образом второй объект типа GeoSphere , задайте ему имя Octa , радиус: 35 , количество сегментов: 4 , а базовый тип оболочки Octa (Октаэдр).
5. Создайте третий объект типа GeoSphere с именем Icosa , радиусом: 40 , количеством сегментов: 2 и типом оболочки Icosa (Икосаэдр). Поставьте флажок Hemisphere , чтобы получить полусферу, и уберите флажок Smooth (сглаживание).
Рис. 4 Командная панель; вкладка Create с выбранным геометрическим объектом типа GeoSphere .
6. С помощью инструмента Select and Move , выберите объект с именем Tetra , перейдите на вкладку Modify командной панели. Измените значение радиуса на 50 , а количество сегментов на 6 , уберите параметр Smooth (Рис.5).
Рис. 5. Командная панель; вкладка Modify .
7. Сохраните файл сцены с помощью сочетания клавиш Ctrl — S , назвав её Geospheres . max .
1. Щёлкните на кнопке Geometry командной панели Create и выберите в раскрывающемся списке разновидность объектов Standard Primitives . В свитке Object Type выберите тип объекта Plane . В нижней части командной панели Create появятся свитки с параметрами плоскости.
2. Установите переключатель свитка Creation Method в положение Rectangle это позволит создать плоскость прямоугольной формы. Переключатель в положении Square задаёт плоскость квадратной формы.
3. Щёлкните в точке любого из окон проекций и с помощью перемещения мыши с зажатой левой кнопкой нарисуйте произвольную прямоугольную плоскость. Отпустите кнопку мыши для фиксации длины и ширины плоскости.
4. Измените значения Length (Длина) и Width (Ширина) в свитке Parameters на 150 и 100 соответственно.
5. Параметрами Length Segs (Сегменты по длине) и Width Segs (Сегменты по ширине) задаётся число полигонов в пределах плоскости вдоль соответствующей координаты. Измените эти значения на 15 и 10 соответственно. Параметры Scale (Масштаб) и Density (Плотность) области Render Multipliers (Множители визуализации) должны быть установлены равными 1,0 .
6. Выберите созданную плоскость инструментом Select and Move . Нажмите клавишу F 9 это позволит произвести быструю визуализацию плоскости. Сохраните полученную картинку из окна визуализации, задав ей имя Plane 1 и выбрав тип файла JPEG .
Рис. 6. Сохранение визуализации плоскости.
7. Закройте окно визуализации, перейдите на вкладку Modify командной панели и измените у плоскости параметры Scale (Масштаб) и Density (Плотность), установив их значения, равные 2,0 . Параметр Scale (Масштаб) увеличивает масштаб при визуализации в то количество раз, которое указано в его значении, а параметр Density (Плотность) увеличивает количество сегментов в указанное число раз.
8. Нажмите F 9 и сохраните полученную картинку из окна визуализации под именем Plane 2.
Задание для самостоятельного выполнения: применив полученные знания, создайте сцену, используя все простые геометрические примитивы, и сохраните её визуализацию.
1. Выполните с помощью основного меню команду: Create > Extended Primitives > ChamferBox . На командной панели должны появиться свитки параметров параллелепипеда с фаской.
2. В полях X , Y , Z в свитке Keyboard Entry введите следующие значения смещения относительно начала координат по соответствующим осям: X =10, Y =10, Z =0 .
3. В том же свитке введите значения параметров Length (Длина) = 10 , Width (Ширина) = 20 , Height (Высота) = 10 и Fillet (Закругление) = 2 .
4. Нажмите на кнопку Create (Создать), находящуюся под параметром Fillet (Закругление) для создания объекта в окнах проекций.
5. Создайте второй объект типа ChamferBox аналогичным способом, но со следующими параметрами: X =0, Y =15, Z =15 ; Length (Длина) = 20 , Width (Ширина) = 5 , Height (Высота) = 15 и Fillet (Закругление) = 5 .
6. Выделите второй объект типа ChamferBox инструментом Select and Move , перейдите во вкладку Modify на командной панели. Уберите флажок с параметра Smooth (Сглаживание) и измените значение параметра Fillet Segs (Количество сегментов закругления), поставив его равным значению 3 .
Задание для самостоятельного выполнения: применив полученные знания, создайте сцену, используя все сложные геометрические примитивы, и сохраните её визуализацию.
Задание 2. Создание собственной сцены с использованием геометрических примитивов .
Используя полученные в ходе первой части лабораторной работы знания, создайте на выбор одну из следующих сцен, состоящих из геометрических примитивов:
- Домик с небольшим огороженным двориком.
2. Стол со стулом.
3. Диван с телевизором.
4. Плита с четырьмя конфорками.
Для выделения объектов используйте инструмент Select and Move . Чтобы выделить два объекта, нажмите левой кнопкой мыши сначала на один из них, а затем с зажатой клавишей Ctrl на следующий.
Для копирования объекта выделите объект, который нужно скопировать, инструментом Select and Move , а затем нажмите сочетание клавиш Ctrl — V . Выберите в области Object свойство Copy и нажмите ОК . Затем перетащите объект с помощью координатных стрелок инструмента Select and Move на нужное расстояние.
Чтобы создать массив элементов, создайте и выберите нужный объект инструментом Select and Move . Затем с помощью следующей команды в основном меню: Tools > Array … вызовите окно редактирования массивов, и, изменяя параметры области Array Dimensions , создайте необходимый одномерный, двумерный или трёхмерный массив элементов.
1. Какие объекты в 3 ds Max относятся к простым геометрическим примитивам (назвать, как минимум, пять объектов)?
2. Какие объекты в 3 ds Max относятся к сложным геометрическим примитивам (назвать, как минимум, пять объектов)?
3. Зачем нужны геометрические примитивы?
4. Как произвести вторичное изменение свойств объекта после его создания?
5. Какой из геометрических примитивов в 3 ds Max не является трёхмерным объектом?
6. Каким образом можно сделать быструю визуализацию сцены?
7. Каким образом можно получить полусферу?
8. Какой параметр в объекте ChamferBox отвечает за закругление краёв объекта?
9. С помощью какого сочетания клавиш вызывается процедура копирования выбранного объекта?
10. Где можно поменять цвет созданного объекта (2 способа)?
Большой англо-русский и русско-английский словарь . 2001 .
Смотреть что такое "геометрический примитив" в других словарях:
геометрический примитив — Ндп. элементарный (пространственный) объект Тип пространственного объекта с присущими ему геометрическими свойствами и размерностью, рассматриваемый как неделимый. [ГОСТ Р 52438 2005] Недопустимые, нерекомендуемые элементарный (пространственный)… … Справочник технического переводчика
геометрический примитив — 30 геометрический примитив (Нрк. элементарный (пространственный) объект): Тип пространственного объекта с присущими ему геометрическими свойствами и размерностью, рассматриваемый как неделимый. Источник: ГОСТ Р 52438 2005: Географические… … Словарь-справочник терминов нормативно-технической документации
Графический примитив — простейший геометрический объект, отображаемый на экране дисплея или на рабочем поле графопостроителя: точка, отрезок прямой, дуга окружности или эллипса, прямоугольник и т.п. По английски: Graphic primitive См. также: Компьютерная графика… … Финансовый словарь
ГОСТ Р 52438-2005: Географические информационные системы. Термины и определения — Терминология ГОСТ Р 52438 2005: Географические информационные системы. Термины и определения оригинал документа: 57 (топологический) оверлей: Наложение двух или более полигональных объектов, в результате которого образуется новый слой, состоящий… … Словарь-справочник терминов нормативно-технической документации
Графический конвейер — Графический конвейер аппаратно программный комплекс визуализации трёхмерной графики. Содержание 1 Элементы трехмерной сцены 1.1 Аппаратные средства 1.2 Программные интерфейсы … Википедия
Шейдер — Эта статья должна быть полностью переписана. На странице обсуждения могут быть пояснения … Википедия
Direct3D 10 — Для улучшения этой статьи желательно?: Викифицировать статью. Переработать оформление в соответствии с правилами написания статей. Исправить статью согласно стилистическим правилам Википедии … Википедия