Содержание

Лекция: Представление геометрической информации

  • Геометрические примитивы
  • Полигональные модели
  • Воксельные модели
  • Поверхности свободных форм (функциональные модели)
  • Системы координат: мировая, объектная, наблюдателя и экранная
  • Однородные координаты. Задание геометрических преобразований в однородных координатах с помощью матриц
  • Вопросы и упражнения
  • Под геометрическими примитивами понимают тот базовый набор геометрических фигур, который лежит в основе всех графических построений, причем эти фигуры должны образовывать "базис" в том смысле, что ни один из этих объектов нельзя построить через другие. Однако вопрос о том, что включать в набор геометрических примитивов, нельзя считать окончательно решенным в компьютерной графике. Например, количество примитивов можно свести к некоему минимуму, без которого нельзя обойтись, и этот минимум сводится к аппаратно реализованным графическим объектам. В этом случае базисный набор ограничивается отрезком, многоугольником и набором литер (символов).

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

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

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

    Любая графическая библиотека определяет свой набор примитивов. Так, например, широко распространенная интерактивная система трехмерной графики 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. Создание собственной сцены с использованием геометрических примитивов .

    Используя полученные в ходе первой части лабораторной работы знания, создайте на выбор одну из следующих сцен, состоящих из геометрических примитивов:

    1. Домик с небольшим огороженным двориком.

    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 — Для улучшения этой статьи желательно?: Викифицировать статью. Переработать оформление в соответствии с правилами написания статей. Исправить статью согласно стилистическим правилам Википедии … Википедия