Реферат на тему геометрическое моделирование

Обновлено: 05.07.2024

Геометрические модели - графические формы и объемные конструкции.

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

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

Геометрическое моделирование на ЭВМ базируется на использовании возможностей компьютерной графики.

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

К основным сферам применения технологий компьютерной графики относятся:

-Графический интерфейс пользователя;

-Спецэффекты, Визуальные эффекты (VFX), цифровая кинематография;

-Цифровое телевидение, видеоконференции;

-Визуализация научных и деловых данных;

-Компьютерные игры, системы виртуальной реальности ;

-Системы автоматизированного проектирования;

По способам задания изображений графику можно разделить на категории:

Двухмерная графика

А. Векторная графика

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

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

Б. Растровая графика

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

В растровом виде представимо любое изображение, однако этот способ хранения имеет свои недостатки: больший объём памяти, необходимый для работы с изображениями, потери при редактировании.

В. Фрактальная графика

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

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

Трёхмерная графика

Трёхмерная графика (3D) оперирует с объектами в трёхмерном пространстве. Обычно результаты представляют собой плоскую картинку, проекцию. Трёхмерная компьютерная графика широко используется в кино, компьютерных играх.

В трёхмерной компьютерной графике все объекты обычно представляются как набор поверхностей или частиц. Минимальную поверхность называют полигоном. В качестве полигона обычно выбирают треугольники.

Всеми визуальными преобразованиями в 3D-графике управляют матрицы. В компьютерной графике используется три вида матриц: матрица поворота, матрица сдвига, матрица масштабирования.

Любой полигон можно представить в виде набора из координат его вершин. Так, у треугольника будет 3 вершины. Координаты каждой вершины представляют собой вектор (x, y, z). Умножив вектор на соответствующую матрицу, мы получим новый вектор. Сделав такое преобразование со всеми вершинами полигона, получим новый полигон, а преобразовав все полигоны, получим новый объект, повёрнутый/сдвинутый/масштабированный относительно исходного.

Шаги для получения трехмерного изображения:

А. моделирование – создание математической модели сцены и объектов в ней.

Б. Рендеринг (визуализация) – построение проекции в соответствии с выбранной физической модель.

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

Для математического образования особое значение имеют интерактивные геометрические среды (ИГС), которые представляют собой программное обеспечение, позволяющее выполнять геометрические построения на компьютере таким образом, что при изменении одного из геометрических объектов чертежа остальные также изменяются, сохраняя заданные отношения неизменными. Например, при перемещении прямой, перпендикуляр к ней так же переместится, оставаясь перпендикулярным к ней. Чертеж, созданный в ИГС, представляет собой модель, реализующую заданные отношения между геометрическими объектами.

Появление ИГС оказывает существенное влияние на процесс обучения математики за счет возможностей наглядной визуализации и динамического моделирования математических объектов.

Примером интерактивной геометрической среды является GeoGebra – это динамическое программное обеспечение математики для школ, соединяющее геометрию, алгебру и математический анализ.

После запуска GeoGebra появляется следующее окно (рисунок 1):

Рисунок 1 Внешний вид программы

Рисунок 2 Построение прямой в графическом виде

Другой способ построения – это введение алгебраических данных, команд и функций в строке ввода с помощью клавиатуры, после чего графическое представление описанных объектов будет выведено в графическом виде.

Кроме графического и алгебраического видов в GeoGebra также открываются такие виды как 3D, электронные таблицы, отобразить или скрыть которые можно, выполнив следующие действия: Главное меню – Вид (рисунок 3).

Рисунок 3 Виды

Рисунок 4 Создание нового файла

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

Рисунок 5 Открытие существующего файла

Сохранение файла осуществляется по схеме: Главное меню – Файл – Сохранить. При необходимости выбрать в диалоговом окне нужную папку, в которой впоследствии будет храниться файл.

Для работы с инструментами геометрии в GeoGebra необходимо:

– активировать инструмент, нажав на кнопку с соответствующей иконкой;

– в открывшемся под иконкой списке выбрать необходимый инструмент.

Панели инструментов содержат аналогичные инструменты или инструменты, которые генерируют тот же тип нового объекта. После того как вы выбрали инструмент, программа предлагает получить справку о нем (появляется всплывающее окно внизу программы, как показано на рисунке 6).

Рисунок 6 Справка об инструменте

Построим прямоугольник. Дляэтого откроем новое окно GeoGebra.

Пошаговое выполнение построения:

В результате получится прямоугольник АВСD, изображенный на рисунке 7.

Рисунок 7 Прямоугольник АВСD

Рисунок 8 Просмотр построения

Построим правильный шестиугольник. Для этого нам понадобятся инструменты, показанные на рисунке 9.

Рисунок 9 Инструменты для построения правильного шестиугольника

Пошаговое выполнение построения:

  • Нарисуем окружность с с центром через точку В.
  • Построим новую окружность d с центром в точке В через точку А.
  • При пересечении c и d получим вершины шестиугольника C и D.
  • Построим новую окружность е с центром в точке С через точку А.
  • При пересечении окружностей получим вершину Е.
  • Построим новую окружность f с центром в точке D через точку А.
  • При пересечении окружностей получим вершину F.
  • Построим новую окружность g с центром в точке F через точку А.
  • При пересечении окружностей получим вершину G.
  • Построим шестиугольник СВDFGE.
  • Cкроем окружности.
  • Покажем внутренние углы шестиугольника.

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

Рисунок 10 Правильный шестиугольник

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

Построим касательные к окружности с помощью клавиатуры. Для этого сначала познакомимся с некоторыми командами, которые могут понадобится.

  • Создание точки: А=(х,у). Если в строку ввода ввести (х,у) без имени объекта, то объект получит название автоматически по алфавиту.
  • Построение прямой: Line[A,B], где А и В – точки.
  • Создание отрезка АВ: s=Segment[A,B].
  • Создание точки C, являющейся серединой отрезка AB: С=Midpoint[s].
  • Построение окружности с центром в точке А через точку В: Circle[A,B].
  • Создание точек пересечения двух окружностей: Intersect[c,d], где с и d – окружности. В результате выполнения команды создаются две точки.

Пошаговое выполнение построения касательных к окружности:

  • Создадим точку А с координатами (0,0). Для этого в строке ввода запишем команду А=(0,0).
  • Создадим точку В с координатами (3,0): (3,0).
  • Построим окружность с центром в точке А через точку В: Сircle[A, B].
  • Создадим точку C с координатами (5,4): C=(5,4).
  • Создадим отрезок АС: s=Segment[A, C].
  • Создадим точку D – середину отрезка АС: D=Midpoin[s].
  • Создадим окружность d с центром в точке D, через точку С: d=Circle[D, C].
  • Создадим точки пересечения Е и F двух окружностей c и d: Intersect[c, d].
  • Создадим касательную через точки С и E: Line[C, E].
  • Создадим касательную через точки С и F: Line[C, F].

В результате выполнения данных шагов построения получим следующее изображение (рисунок 11):

Рисунок 11Касательные к окружности

Рисунок 12 Возведение в степень

Для отображения графика (рисунок 13) достаточно ввести в поле ввода функцию f(x)=0.5x3+2x2+0.2x-1.

Выполним некоторые действия над графиком:

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

Рисунок 13 График функции

Рисунок 14 График функции с дополнительными построениями

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

3. Чеботарева, Э. B. Компьютерный эксперимент с GeoGebra / Э. В. Чеботарева. – Казань: Казанский ун-т, 2015 – 61 с.

Нажмите, чтобы узнать подробности

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

Геометрические модели нередко имеют иерархическую структуру, возникающую в процессе построения по принципу - снизу - вверх. Отдельные компоненты используются как строительные блоки для формирования объектов более высокого уровня, которые, в свою очередь, могут использоваться для объектов еще более высокого уровня. В общем случае геометрические модели подразделяются на двумерные и трехмерные.

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

Что такое интерактивная графика?

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

В зависимости от степени участия пользователя в различных формах взаимодействия с ЭВМ при построении изображения, компьютерная графика подразделяется на два основных класса: “пассивную” или пакетную и “активную” или интерактивную компьютерную графику.

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

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

Отдельные программы (или модули, или системы):CAD, CAM, САЕ, TDM развивались как универсальные системы для решения задач в конкретных областях.

CAD (Computer Aided Design)- модуль компьютерного геометрического моделирования (проектирования).

СAM (Computer Aided Manufaсturing)-модуль технологической подготовки производства.

CAE (Computer Aided Engineering)-модуль компьютерного инженерного анализа.

PDM (Product Data Management)-модуль, позволяющий управлять данными о продукции на протяжении всего жизненного цикла изделия при проектировании и подготовке производства

TDM (Technical Data Management)- модуль управления базами данных, включая документооборот конструкторской и технологической документации.

Постепенно расширяясь функционально и распространяясь на смежные области, стали формироваться объединённые системы, решающие весь спектр производственных задач, обозначаемые в соответствии с составляющими их модулями, например, CAD/CAM/CAE/PDM/TDM.


Рис. 1 Структурная схема такого типа САПР

Основные направления компьютерной графики:

· иллюстративное - это направление можно понимать, расширенно, начиная с представления результатов эксперимента, растровых изображений, картин и кончая созданием рекламных роликов;

· развития - стремительно развивающаяся компьютерная графика должна обслуживать свои потребности, расширяя и совершенствуя их;

· исследования, в которых инструментарий компьютерной графики начинает играть роль во многом подобную той, которую в свое время сыграл микроскоп;

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

К основным достоинствам компьютерной графики относятся:

· наиболее естественные средства общения с ЭВМ;

· хорошо развитый двухмерный и трехмерный механизм распознавания образов позволяет очень быстро и эффективно воспринимать и обрабатывать различные виды данных. Как гласит старинная китайская пословица: "Одна картинка стоит 1000 слов";

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

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

И хотя компьютерная графика всего лишь инструмент, ее структура и методы основаны на комплексном использовании передовых достижений науки и техники. Широко используются достижения из области фундаментальных естественных наук (физики, химии, математики, биологии) и программирования. Это справедливо как для программных, так и аппаратных средств формирования и реализации изображения, поскольку компьютерная графика одно из бурно развивающихся направлений компьютерной индустрии.

Обзор бесплатных программ для 3D моделирования

С помощью 3D технологий создаются фильмы, игры и физические модели. Как они создаются? Конечно же в специальных программах.

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

Самые известные программы для 3D моделирования

Пожалуй самой известной программой для создания и редактирования трёхмерной графики и анимации является программа 3ds Max, разработанная компанией Autodesk. Почти любой, кто в той или иной степени интересовался компьютерной графикой, наверняка слышал о ней. Это профессиональная программа 3D моделирования, лицензия на которую стоит очень дорого (около 100 000 рублей), но для начинающих это не совсем правильный выбор.

К тому же, существуют и бесплатные программы для 3D, которые тоже достаточно известны. Некоторые из них когда-то были коммерческими, поэтому обладают обширными возможностями, практически не уступающим платным аналогам. Далее будут подробно рассмотрены следующие программы:

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

Wings 3D может быть использована для создания и текстурирования моделей с количеством полигонов от низкого до среднего

Incendia — программа, специализирующаяся на генерировании 3D фрактальных изображений

Google SketchUp — бесплатное приложение, позволяющее моделировать практически все — от объектов для Google Earth, интерьеров до геометрических фигур для наглядных пособий по основам геометрии.

Art Of Illusion — бесплатная студия моделирования и рендеринга. Имеет инструменты для моделирования, работающие на подразделении плоскости, анимацию, учитывающую особенности скелета и т.д.

3D Canvas в режиме реального времени создает комплексные трехмерные модели из простых или средствами самой программы.

Free CAD подходит для тех, кто учится работать с 3D CAD и симуляциями движения. Несмотря на то, что приложение бесплатное, оно мало уступает лучшим платным приложениям в том, что касается возможностей симуляции.

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

K-3D — бесплатное приложение, идеальное для полигонального моделирования.


Х арактеристики программы:

ОС — Кроссплатформенное ПО

Разработчик — The Blender Foundation

Лицензия — GNU GPL (с 2002 года)

Особенности — универсальная программа для работы с трехмерной графикой, встроенные средства моделирования, анимации, рендеринга, постобработки видео и игровой движок.


ОС — Windows (2000/XP/Vista), Mac OS X, Linux

Разработчики — Bj?rn Gustavsson, Dan Gudmundsson, Richard Jones, и другие

Лицензия — BSD

Особенности — менеджер расширений, импорт и экспорт во многих популярных форматах.


ОС — Windows

Разработчик — Ramiro P?rez Clare Nash

Лицензия — Свободное программное обеспечение

Особенности — программа используется для создания трехмерных фракталов


ОС — Windows XP/Vista/7, Mac OS X 10.5+ (Leopard)/Mac OS X 10.6+ (Snow Leopard)

Разработчик — Google Inc.

Лицензия — Freeware (обычная версия)

Особенности — возможность использования SketchUp совместно с Google Планета Земля; очень удобный инструмент для моделирования зданий

Art Of Illusion


ОС — Кроссплатформенное ПО

Разработчик — Peter Eastman

Лицензия — GNU GPL

Особенности — универсальная программа для работы с трехмерной графикой, встроенная система плагинов


ОС — Windows XP/Vista/7

Разработчик — Amabilis Software

Лицензия — Freeware (обычная версия)

Особенности — система плагинов


ОС — Windows NT, POSIX (GNU/Linux, BSD)

Разработчик — J?rgen Riegel

Лицензия — GNU GPL

Особенности — система автоматизированного проектирования


Х арактеристики программы:

ОС — Кроссплатформенное ПО

Лицензия — Freeware

Особенности — программа, предназначенная для визуализации и редактирования математических моделей в трех, четырех, пяти и шести измерениях; поддерживает параметрические уравнения и изоповерхности

Sweet Home 3D


ОС — Кроссплатформенное ПО

Лицензия — GNU GPL

Особенности — программа предназначена для моделирования дизайна интерьера


ОС — Linux x86, Windows NT

Лицензия — GNU GPL

Особенности — хорошая альтернатива профессиональным пакетам

По данным кафедр графики МИИГА, МАМИ и др. применение графических систем геометрического моделирования в три – четыре раза сокращает время при выполнении чертежей. Чем сложнее чертежи, тем лучше результат.

Список использованных источников

Андреев, Ю. С. Методика разработки управляющих программ для токарного станка / Ю. С. Андреев, Ю. П. Кузьмин, А. А. Целищев // Редакционно-издательский отдел НИУ ИТМО – 2014

Куликов, Д. Д. ИПИ- технологии в приборостроении: учебно-методическое пособие. / Д. Д. Куликов, Б. С Падун, А. А. Грибовский, М. Я. Афанасьев – СПб: Университет ИТМО, 2014. – 149 с.

Куликов, Д. Д. Применение диаграмм UML для формирования алгоритмов решения технологических задач / Д. Д. Куликов, Ю. В. Федосов //Редакционно-издательский отдел НИУ ИТМО – 2015

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

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 20.01.2011
Размер файла 123,3 K

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

Системы геометрического моделирования

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

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

Системы каркасного моделирования

В системах каркасного моделирования форма представляется в виде набора характеризующих ее линий и конечных точек. Линии и точки используются для предоставления трехмерных объектов на экране, а изменение формы осуществляется путем изменения положения и размеров отрезков и точек. Другими словами, визуальная модель представляет собой каркасный чертеж формы, а соответствующее математическое описание представляет собой набор уравнений кривых, координат точек и сведений о связности кривых и точек. Сведения о связности описывают принадлежность точек к конкретным кривым, а также пересечение кривых друг с другом. Системы каркасного моделирования были популярны в ту пору, когда ГМ только начало зарождаться. Их популярность объяснялась тем, что в системах каркасного моделирования создание форм выполнялось через последовательность простых действий, так что пользователям было достаточно легко создавать формы самостоятельно. Однако визуальная модель, состоящая из одних лишь линий, может быть неоднозначной. Более того, соответствующее математическое описание не содержит сведений о внутренних и внешних поверхностях моделируемого объекта. Без этих сведений невозможно рассчитать массу объекта, определить траектории перемещения или создать сетку для конечноэлементного анализа, несмотря на то, что объект кажется трехмерным. Поскольку эти операции являются неотъемлемой частью процесса проектирования, системы каркасного моделирования были постепенно вытеснены системами поверхностного и твердотельного моделирования.

Системы поверхностного моделирования

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

Существуют три стандартных метода создания поверхностей в системах поверхностного моделирования:

1) Интерполяция входных точек.

2) Интерполяция криволинейных точек.

3) Трансляция или вращение заданной кривой.

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

Системы твердотельного моделирования

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

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

Функции моделирования, поддерживаемые большинством систем твердотельного моделирования, могут быть разделены на пять основных групп:

1) Функции создания примитивов, а также функции добавления, вычитания объема - булевские операторы. Эти функции позволяют проектировщику быстро создать форму, близкую к окончательной форме детали.

2) Функции создания объемных тел путем перемещения поверхности. Функция заметания позволяет создавать объемное тело трансляцией или вращением области, заданной на плоскости.

3) Функции, предназначенные главным образом для изменения существующей формы. Типичными примерами являются функции скругления или плавного сопряжения и поднятия.

4) Функции позволяющие непосредственно манипулировать составляющими объемных тел, то есть по вершинам, ребрам и граням.

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

Немногообразные системы моделирования

трехмерный геометрический визуальный каркасный

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

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

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

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

Описание поверхностей

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

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

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

Знакомство с этими формами удобно выполнить, показав их применение для описания геометрических объектов первого уровня - пространственных кривых.

Примечание. Геометрическими объектами нулевого, первого и второго уровней называют соответственно точки, кривые, поверхности.

В подсистемах МГиГМ используются параметрически задаваемые кубические кривые:

x(t) = axt3 + bxt2 + cxt + dx ;

y(t) = ay t3 +X by t2 + cy t + dy ;

z(t) = a.t3 + b_t2 + cj + d_,

где 1 > t > 0. Такими кривыми описывают сегменты аппроксимируемой кривой, т. е. аппроксимируемую кривую разбивают на сегменты и каждый сегмент аппроксимируют уравнениями.

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

В случае формы Безье коэффициенты в уравнениях определяются, во-первых, подстановкой в уравнение значений / = 0 к / = 1 и координат заданных концевых точек Р, и Р4 соответственно, во-вторых, подстановкой в выражения производных:

dx/dt = За t2 + 2b + с, X X х'

dy/dt = За, Г2 + 2byt + с,

dz/dt = 3a.t2 + 2b.t + с,

тех же значений / = 0 и / = 1 и координат точек Р2 и Р3, задающих направления касательных векторов (рис. 1). В результате для формы Безье получаем

Рисунок 1. - Кривая Безье

для которых матрица М имеет иной вид и представлена в табл., а векторы Gx, Gy, G_. содержат соответствующие координаты точек Р,_1; Р„ Р, + 1, Р, + 2.

Покажем, что в точках сопряжения для первой и второй производных аппроксимирующего выражения выполняются условия непрерывности, что требуется по определению В-сплайна. Обозначим участок аппроксимирующего В-сплайна, соответствующий участку [Р, Р + 1] исходной кривой, через [Ql, Ql + 1]. Тогда для этого участка и координаты х в точке сопряжения Q/+, имеем t = 1 и

Для участка [Q|+1 Qi+2] в той же точке Qi+| имеем t = 0 и

т. е. равенство производных в точке сопряжения на соседних участках подтверждает непрерывность касательного вектора и кривизны. Естественно, что значение х координаты х точки Qi+1 аппроксимирующей кривой на участке [Q^ QI+1].

равно значению х, подсчитанному для той же точки на участке [Qi+1 Q,+2], но значения координат узловых точек х и х+] аппроксимирующей и аппроксимируемой кривых не совпадают.

Аналогично можно получить выражения для форм Безье и 5-сплайнов применительно к поверхностям с учетом того, что вместо уравнения используются кубические зависимости от двух переменных.

Подобные документы

Понятие системы геометрического моделирования. Рассмотрение особенностей формирования изображения объекта с помощью трехмерного геометрического моделирования. Идея каркасного моделирования. Средства реализации каркасной технологии в Autodesk Inventor.

курсовая работа [623,9 K], добавлен 14.06.2015

Сравнительный обзор САПР систем. Разработка модели обшивки изделия, ее геометрического образа, системы параметризации. Отображение конструкторской спецификации и техпроцесса обработки детали в PrTech 5. Анализ затрат на ее производство в MS Project.

дипломная работа [6,2 M], добавлен 28.10.2014

Расчет параметров моделирования в системе Fortran. Описание алгоритма и математической модели системы, их составляющих. Моделирование шума с заданной плотностью распределения вероятностей. Выполнение моделирования работы системы при входном сигнале N(t).

курсовая работа [896,3 K], добавлен 20.06.2012

Особенности моделирования биологических систем с использованием программы "AnyLogic". Влияние различных факторов на популяции жертв и хищников. Принципы имитационного моделирования и его общий алгоритм с помощью ЭВМ. Анализ результатов моделирования.

курсовая работа [922,2 K], добавлен 30.01.2016

Теоретические основы моделирования систем в среде имитационного моделирования AnyLogic. Средства описания поведения объектов. Анимация поведения модели, пользовательский интерфейс. Модель системы обработки информации в среде компьютерного моделирования.

курсовая работа [1,5 M], добавлен 15.05.2014

Понятие компьютерной модели и преимущества компьютерного моделирования. Процесс построения имитационной модели. История создания системы GPSS World. Анализ задачи по прохождению турникета на стадион посредством языка имитационного моделирования GPSS.

курсовая работа [291,3 K], добавлен 11.01.2012

Основные понятия теории моделирования. Виды и принципы моделирования. Создание и проведение исследований одной из моделей систем массового обслуживания (СМО) – модели D/D/2 в среде SimEvents, являющейся одним из компонентов системы MATLab+SimuLink.

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

Содержание

ВВЕДЕНИЕ 3
1. СОЗДАНИЕ МАТЕМАТИЧЕСКОЙ МОДЕЛИ ОБЪЕКТА 4
1.1 Преобразования координат. 4
1.2 Создание трехмерной модели 6
2 АЛГОРИТМ ИЗМЕНЕНИЯ ПОЛОЖЕНИЯ 3D ОБЪЕКТА В ПРОСТРАНСТВЕ 8
2.1 Динамическое изменение точки наблюдения. 8
2.2 Обработка нажатия клавиши. 8
Листинг 3. 8
Листинг 4. 9
3 АЛГОРИТМ ЗАКРАШИВАНИЯ ПОЛИГОНА. АЛГОРИТМ, ОПРЕДЕЛЯЮЩИЙ ВИДИМЫЕ И НЕВИДИМЫЕ ЛИНИИ. 10
3.1 Нахождение нормали по трем точкам 10
3.2 Определение невидимости граней 11
3.3 Закраска методом Гуро 12
4 ТЕСТИРОВАНИЕ 14

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

KGIG2.docx

Министерство образования и науки Российской Федерации

федеральное государственное автономное образовательное учреждение

высшего профессионального образования

Кафедра информационной безопасности

Таран Игорь Александрович

(фамилия, имя, отчество студента)

010400.62 Прикладная математика и информатика

РАСЧЁТНО-ГРАФИЧЕСКАЯ РАБОТА

Моделирование геометрических объектов

Отметка о зачёте

ВВЕДЕНИЕ

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

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

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

Геометрические объекты будут служить основными элементами математической модели геометрии реальных или воображаемых объектов. Будем строить их в трехмерном евклидовом пространстве, считая их неименными во времени.

СОЗДАНИЕ МАТЕМАТИЧЕСКОЙ МОДЕЛИ ОБЪЕКТА

1.1 Преобразования координат.

Рассмотрим способ получения перспективных изображений на основе аналитической геометрии. Точки в двухмерном и трехмерном пространстве представляются их координатами (X, Y) и (х, у, z) соответственно. При необходимости получения перспективной проекции задается большое количество точек P(x, у, z), принадлежащих объекту, для которых предстоит вычислить координаты точек изображения Р'(Х, Y) на картинке. Для этого нужно только преобразовать координаты точки Р из так называемых мировых координат (х, у, z) в экранные координаты (X, Y) ее центральной проекции Р'. Будем предполагать, что экран расположен между объектом и глазом Е. Для каждой точки Р объекта прямая линия РЕ пересекает экран в точке Р'.

Это отображение удобно выполнять в два этапа. Первый этап назовем видовым преобразованием - точка Р остается на своем месте, но система мировых координат переходит в систему видовых координат. Второй этап называется перспективным преобразованием. Это точное преобразование точки Р в точку Р' объединенное с переходом из системы трехмерных видовых координат в систему двухмерных экранных координат:

Для выполнения видовых преобразований должны быть заданы точка наблюдения и объект. Будет удобно, если начало системы мировых координатрасполагается вблизи центра объекта, поскольку объект наблюдается в направлении отЕ к О(рис.1). Пусть точка наблюденияЕ будет задана в сферических координатах f , q, r по отношению к мировым координатам. То есть мировые координаты (точки Е) могут быть вычислены по формулам:

xe= r sin f cos q

ye= r sin f sin q (1)

Обозначения сферических координат схематически изображены на рис.1.

Рис. 1. Сферические координаты точки наблюдения Е

Видовое преобразование может быть записано в форме

[хe ye ze 1]=[хw уw zw 1]V, (2)

где V - матрица видового преобразования размерами 4х4.

Матрица V, полученная в процессе видового преобразования, выглядит следующим образом:

Для получения ортогональной проекции можно использовать видовые координаты хe и уe, просто игнорируя координату ze. Каждая точка Р объекта проецируется в точку Р' проведением прямой линии из точки Р перпендикулярно плоскости, определяемой осями х и у. Эту проекцию можно также считать перспективной картинкой, которая была бы получена при удалении точки наблюдения в бесконечность. Параллельные линии остаются параллельными и на картинке, полученной при ортогональном проецировании.

1.2 Создание трехмерной модели

Для построения модели трехмерного объекта (например, куба) необходимо задать координаты его вершин в мировой системе координат, а затем получить из них видовые (и экранные для ортогональной проекции) координаты. Это можно сделать, описав координаты в массивах типа T3DPoint (запись, содержащая три координаты точки) и TPoint (запись, содержащая две координаты точки).

//мировые (world) координаты вершин

w: array [1..8] of T3DPoint;

//видовые (view) координаты вершин

v: array [1..8] of TPoint;

Для примера зададим координаты вершин куба с центром в начале координат:

w[1].z := -50; w[5].z := 50;

w[2].x := 50; w[6].x := 50;

w[2].z := -50; w[6].z := 50;

w[3].x := 50; w[7].x := 50;

w[3].y := 50; w[7].y := 50;

w[3].z := -50; w[7].z := 50;

w[4].y := 50; w[8].y := 50;

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

for i := 1 to 8 Do

Form1.ClientWidth div 2;

v[i].y := Round(w[i].x*(-cos(phi) * cos(teta)) –

w[i].y*( cos(phi) * sin(teta)) +

Form1.ClientHeight div 2;

Процедура отображения граней куба состоит в соединении между собой соответствующих вершин ребрами. Строить куб необходимо по видовым координатам, которые определены в процедуре ViewTransformation. Например:

На этом этапе можно вызвать процедуры ViewTransformation и DrawCube, например, из метода OnCreate, чтобы нарисовать куб. При этом необходимо проинициализировать начальные значения углов phi и teta.

АЛГОРИТМ ИЗМЕНЕНИЯ ПОЛОЖЕНИЯ 3D ОБЪЕКТА В ПРОСТРАНСТВЕ

2.1 Динамическое изменение точки наблюдения.

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

- Удалить объект из предыдущей позиции;

- Рассчитать новые координаты объекта;

- Нарисовать объект с новыми координатами.

2.2 Обработка нажатия клавиши.

Получить скан-код клавиши, нажатой пользователем, а позволяет процедура FormKeyDown. В переменной Key передаётся код нажатой клавиши, который необходимо сравнить с кодами клавиш управления курсором. Для большей наглядности определены специальные константы: UP, DOWN, LEFT, RIGHT. В зависимости от нажатой клавиши изменяем углы phi и teta.

Перед изменением угла предстоит удалить старый рисунок. Это можно сделать с помощью закрашивания формы целиком цветомфона.

private void Form1_KeyDown(object sender, KeyEventArgs e)

if (e.KeyCode == Keys.Left) teta -= Math.PI / 32;

if (e.KeyCode == Keys.Right) teta += Math.PI / 32;

if (e.KeyCode == Keys.Up) phi += Math.PI / 32;

if (e.KeyCode == Keys.Down) phi -= Math.PI / 32;

private void Form1_MouseDown(object sender, MouseEventArgs e)

private void Form1_MouseMove(object sender, MouseEventArgs e)

if (e.Button == System.Windows.Forms. MouseButtons.Left)

teta += dx * Math.PI / 128;

phi -= dy * Math.PI / 128;

АЛГОРИТМ ЗАКРАШИВАНИЯ ПОЛИГОНА. АЛГОРИТМ, ОПРЕДЕЛЯЮЩИЙ ВИДИМЫЕ И НЕВИДИМЫЕ ЛИНИИ.

3.1 Нахождение нормали по трем точкам

Пусть заданы три точки (т.к. через любые три точки можно провести плоскость), например A, B, C. Уравнение плоскости задается в виде:

nx × x + ny × y + nz × z + d=0, (9)

где (nx, ny, nz) – координаты нормали к плоскости.

Получим систему уравнений:

nx×x + ny×y + nz×z + d = 0

nx×A.x + ny×A.y + nz×A.z + d = 0

nx×B.x + ny×B.y + nz×B.z + d = 0 (5)

nx×C.x + ny×C.y + nz×C.z + d = 0

В виде матрицы такая система запишется как:

Определитель будет равен (относительно первой строки):

|A.yA.z 1| |A.xA.z 1| |A.xA.y 1| |A.xA.y 1|

x |B.yB.z 1| - y |B.xB.z 1| + z |B.xB.y 1| - |B.xB.y 1|

|C.yC.z 1| |C.xC.z 1| |C.xC.y 1| |C.xC.y 1|

А так как через три точки всегда можно провести плоскость (притом только одну) и число уравнений данной системы равно числу неизвестных, следовательно, система имеет нетривиальное решение (кроме очевидногоnx=ny=nz=d=0). Следовательно, определитель данной матрицы равен нулю.

Значение d для определения координат вектора не нужно.

Рассмотрим нахождение значения nx (остальные координаты получаются аналогично):

nx = A.y |B.z 1| - A.z |B.y 1| + |B.yB.z| =

= A.y×(B.z – C.z) – A.z×(B.y – C.y) + (B.y×C.z – B.z×C.y) =

= A.y×(B.z – C.z) + B.y×(C.z – A.z) + C.y×(A.z – B.z)

Итак, координаты вектора нормали:

nx = A.y×(B.z - C.z) + B.y×(C.z - A.z) + C.y×(A.z - B.z)

ny = A.z×(B.x - C.x) + B.z×(C.x - A.x) + C.z×(A.x - B.x) (10)

nz = A.x×(B.y - C.y) + B.x×(C.y - A.y) + C.x×(A.y - B.y)

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

3.2 Определение невидимости граней

По углу между направлением взгляда и нормалью можно определить расположение грани (к нам или от нас). Если направление взгляда совпадает с вектором (0, 0, 1), то косинус угла между векторами равен nz, и если nz

Читайте также: