Геометрические примитивы

Автор работы: Пользователь скрыл имя, 06 Декабря 2013 в 16:05, реферат

Краткое описание

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

Содержание

Глава 1. Определение геометрических примитивов…………………………..3
Полигональные модели……………………………………………………5
Воксельные модели………………………………………………………...6
Глава 2. Геометрические примитивы…………………………….…………….8

Вложенные файлы: 1 файл

Рамка.docx

— 176.93 Кб (Скачать файл)


Содержание

Глава 1. Определение геометрических примитивов…………………………..3

    1. Полигональные модели……………………………………………………5

    1. Воксельные модели………………………………………………………...6

Глава 2. Геометрические примитивы…………………………….…………….8


 

 

               2D(фигуры)                         3D (тела)


 


 .


 

 

 

Выводы………………………………………………………………….………..18

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Глава 1. Геометрические примитивы.

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

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

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

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

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


Любая графическая  библиотека определяет свой набор примитивов. Так, например, широко распространенная интерактивная система трехмерной графики OpenGL включает в список своих примитивов точки (вершины), отрезки, ломаные, многоугольники (среди которых особо выделяются треугольники и четырехугольники), полосы (группы треугольников или четырехугольников с общими вершинами) и шрифты. Кроме того, в нее входят и некоторые геометрические тела: сфера, цилиндр, конус и др.

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

Здесь мы рассмотрим такие примитивы, как вершина, отрезок, воксель и модели, строящиеся на их основе, а также функциональные модели.

    1. Полигональные модели

Для этих пространственных моделей  используются в качестве примитивов вершины (точки в пространстве), отрезки  прямых (векторы), из которых строятся полилинии, полигоны и полигональные поверхности. Главным элементом описания является вершина, все остальные являются производными. В трехмерной декартовой системе координаты вершины определяются своими координатами (x,y,z), линия задается двумя вершинами, полилиния представляет собой незамкнутую ломаную линию, полигон - замкнутую ломаную линию. Полигон моделирует плоский объект и может описывать плоскую грань объемного объекта. Несколько граней составляют этот объект в виде полигональной поверхности - многогранник или незамкнутую поверхность ("полигональная сетка").

 
Рис. 4.1. Полигональные модели

В современной компьютерной графике  векторно-полигональная модель является наиболее распространенной. Она применяется  в системах автоматизированного  проектирования, компьютерных играх, тренажерах, ГИС, САПР и т. д. Достоинства этой модели заключаются в следующем:

  • Удобство масштабирования объектов.
  • Небольшой объем данных для описания простых поверхностей.
  • Аппаратная поддержка многих операций


К числу недостатков  полигональных моделей можно  отнести то, что алгоритмы визуализации выполнения топологических операций (например, построение сечений) довольно сложны.

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

    1. Воксельные модели

Воксельная модель - это представление  объектов в виде трехмерного массива  объемных (кубических) элементов. Само название "воксель" составлено из двух слов: volume element. Так же как и  пиксель, воксель имеет свои атрибуты (цвет, прозрачность и т. п.). Полная прозрачность вокселя означает пустоту в соответствующей  точке объема. Чем больше вокселей в определенном объеме и меньше их размер, тем точнее моделируются трехмерные объекты.

 
Рис. 4.2. Воксельная модель


Положительными чертами воксельной модели являются:

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

К ее недостаткам относятся:

  • Большое количество информации, необходимое для представления объемных данных.
  • Значительные затраты памяти, ограничивающие разрешающую способность, точность моделирования.
  • Проблемы при увеличении или уменьшении изображения; например, с увеличением ухудшается разрешающая способность изображения.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Глава 2. Инструменты геометрических примитивов.

2.1. Инструмент Rectangle (Прямоугольник)

С инструментом Rectangle (Прямоугольник) вы кратко познакомились в предыдущей лекции. Рассмотрим параметры, которые отображаются на панели свойств при выборе данного инструмента (рис. 3.1).

  • Left Rectangle Corner Roundness (Скругление левых углов прямоугольника), Right Rectangle Corner Roundness(Скругление правых углов прямоугольников). Величина скругления любого из четырех углов прямоугольника может меняться от 0 до 100. Значение 0 соответствует отсутствию скругления, а величина 100 означает, что угол полностью скруглен.
  • Round Corners Together (Скруглить все углы). Эта кнопка ("замок") используется для включения или отключения режима скругления всех углов. При необходимости скруглить отдельные углы прямоугольника нужно отжать кнопку Round Corners Together (Скруглить все углы).

В большинстве случаев углы удобнее  скруглять вручную, с помощью  инструмента Shape (Форма) ( ). Выбрав данный инструмент, наведите указатель мыши на одну из контрольных узловых точек, расположенных на углах прямоугольника. При наведении на узловую контрольную точку указатель мыши примет вид (рис. 3.2).

Рис. 3.1. Панель свойств при активном инструменте Rectangle (Прямоугольник)

Рис. 3.2. Скругление углов с помощью контрольной узловой точки

      Чтобы изменить скругление всех углов прямоугольника с помощью мыши, выполните следующие действия.

  1. Выделите требуемый прямоугольник.
  2. Выберите инструмент Shape (Форма) ( ).
  3. Наведите указатель мыши на одну из узловых контрольных точек.
  4. Когда указатель примет вид , нажмите кнопку мыши и, не отпуская ее, задайте требуемое скругление углов перемещением мыши. Отпустите кнопку мыши.

Чтобы изменить скругление одного из углов прямоугольника, действуйте следующим  образом.

  1. Выделите требуемый прямоугольник.
  2. Выберите инструмент Shape (Форма) ( ).
  3. Наведите указатель мыши на одну из угловых контрольных точек.
  4. Когда указатель примет вид , щелкните кнопкой мыши. Выделенной останется только одна контрольная узловая точка.
  5. Не отводя указатель от этой точки, нажмите кнопку мыши и, не отпуская ее, протащите мышь, чтобы задать требуемое скругление угла. Отпустите кнопку мыши.

2.2. Инструмент Эллипс (Ellipse)

Чтобы применить инструмент Ellipse (Эллипс), выполните следующие действия.

  1. Выберите на панели инструментов инструмент Ellipse (Эллипс) ( ).
  2. Переведя указатель ( ) на рабочую область, нажмите кнопку мыши и, не отпуская ее, протащите мышь, создавая объект — эллипс.
  3. Закончите создание эллипса освобождением кнопки мыши.


Если при построении эллипса удерживать нажатой клавишу Ctrl, то итоговая фигура будет представлять собой круг. Удерживание клавиши Shift позволяет строить эллипс от центральной точки в стороны, а не по крайним точкам.

Инструмент Ellipse (Эллипс) позволяет создавать следующие фигуры: эллипс, окружность, сектор и дугу (рис. 3.16).

 
Рис. 3.16. Примеры фигур, созданных с помощью инструмента Ellipse (Эллипс)

Рассмотрим параметры, отображающиеся на панели свойств при активном инструменте Ellipse (Эллипс) (рис. 3.17).

 
Рис. 3.17. Панель свойств при выборе инструмента Ellipse (Эллипс)

Эллипс и сектор представляют собой  замкнутые объекты, в то время  как дуга является разомкнутым контуром.

Объекты Pie (Сектор) и Arc (Дуга) имеют следующие параметры, определяющие их внешний вид:


  • Starting and Ending Angles (Начальный и конечный углы) — угловой размер длины дуги окружности;
  • кнопка Clockwise/Counterclockwise Arcs or Pies (Дуги и секторы по/против часовой стрелки) — задает направление отсчета, что позволяет инверсированно отобразить сектор или дугу (рис. 3.18).

 
Рис. 3.18. Пример инверсированного отображения сектора

Использование полей панели свойств  для указания начального и конечного  углов секторов и дуг требует  знания геометрии и хорошего ориентирования в угловой системе координат. В большинстве случаев подобные действия удобнее выполнять вручную, с помощью инструмента Shape (Форма) ( ).

 
Рис. 3.19. Преобразование эллипса в сектор и дугу с помощью контрольной узловой точки

Выбрав инструмент Shape (Форма), наведите указатель мыши на одну из контрольных узловых точек (сверху посередине — у эллипса, на концах — у дуг и секторов). При наведении на узловую контрольную точку указатель мыши принимает вид (рис. 3.19).

Чтобы с помощью мыши изменить числовое значение начального или конечного угла, выполните следующие действия.

Информация о работе Геометрические примитивы