Лекция №5. Геометрическое моделирование (1244999), страница 2
Текст из файла (страница 2)
На основе просчета всех точек, составляющих трехмернуюсцену (этот процесс называется «рендеринг»), строится двухмерная растровая картинка, которую в данный момент ивидит наблюдатель. При перемещении объекта или точки наблюдения весь расчет повторяется, строится новаядвухмерная растровая картинка, а наблюдатель может видеть как бы трехмерную сцену в новом ракурсе.facetrealisticgraphiteДля синтеза трехмерных изображений в САПР преимущественно используют средства таких известных систем, как CATIA,Unigraphics (Siemens NX), Inventor, Solidwork, Компас и др.лючевыми компонентами этих систем являются трехмерное ядро, параметрическое ядро и пользовательский интерфейс.Новые системы, ориентированные на П и предназначенных для параметрического 3D моделирования - SolidWorks, SolidEdge, DesignWave и др. - все оказались на удивление похожими друг на друга.
Хотя ничего удивительного в этом нет. роме пользовательскогоинтерфейса, который часто заимствовался друг у друга, своего у этих систем ничего нет. В качестве геометрического ядра, какправило, используется либо Parasolid, либо ACIS.Также и параметризатор. У всех систем он один - параметризатор английской фирмы D-CUBED (приобретена в 2007 г.концерном Siemens AG), который включает в себя две компоненты - скетчер, предназначенный для построения 2Dпараметрического профиля, на основе которого будет создана 3D деталь, и математическую библиотеку, позволяющуюсвязывать отдельные детали в сборочные конструкции. Этот же самый параметризатор используется и во многих другихсистемах, включая такие известные, как Autodesk Mechanical Desktop, Unigraphics, CATIA, I-DEAS и т.д.Что же такое ядро? Любая САПР представляет собой набор пользовательских приложений, называемых технологическимикомпонентами.
аждая компонента отвечает за что-то свое: создание и редактирование трехмерной модели, ее визуализациюна дисплее, параметризацию, импорт/экспорт данных в определенном формате и проч. Такие компоненты разработчики САПРлибо проектируют, кодируют и поддерживают самостоятельно, либо лицензируют их у сторонних технологическихпоставщиков. От этого фундамента зависит все остальное – возможности различных инструментов, их быстродействие,устойчивость к ошибкам, и даже общая интеллектуальность системы. аждая компонента – это набор библиотек спрограммным интерфейсом (API), который позволяет вызывать различные функции из приложения.В случае геометрического ядра это использование базовых типов геометрических данных (точка, прямая, кривая, поверхность)и операций с ними (трансформация, проекция, пересечение), моделирование топологии граничной модели, реализация булевыхоператоров и типичных команд создания и редактирования трехмерных тел и поверхностей (заметание профиля, скруглениеребра), построении треугольной сетки и экспорте/импорте данных в разных форматах (например IGES/STEP).
Перечислениефункций ядра занимает один абзац, но их реализация растягивается на десятки и сотни человеко-лет. Дело в том, что за каждойэлементарной операцией (типа пересечения двух NURBS - Non-Uniform (неоднородные Rational рациональные B-Splines и-сплайны,частный случай кривых езье - формулы, которыми можно выразить кривые и поверхности) стоит вычислительный алгоритм,реализация и отладка которого является весьма трудоемкой задачей. А таких операций в ядре – сотни (с учетом разнообразиятипов данных, с которыми приходится работать).
Далеко не все вендоры (торговцы) САПР готовы инвестировать в такомобъеме в базовую технологию и предпочитают лицензировать готовое ядро, осуществляя компании-разработчику ежегодныеплатежи с каждой проданной копии конечного продукта. Важно, что лицензированное ядро, как правило, уже было «обкатано» вдругих системах, поэтому обладает богатой функциональностью и высоким уровнем надежности.роме 3D систем CAD/CAE/CAM существуют и применяются графические библиотеки и пакеты компьютернойграфики и геометрического моделирования не связанные с проектированием в технике, например, библиотека графическихпроцедур Open GL.Open Graphics Library — открытая графическая библиотека и спецификация (стандарт) на интерфейсы программированиятрехмерной графики.
иблиотеку выпускают такие корпорации, как Microsoft, Silicon Graphics, а также просто группыпрограммистов. В библиотеке OpenGL имеются процедуры построения графических прим итивов (точки, линии, полигоны),удаления невидимых линий, Z-буферизации, реалистичной засветки, задания положения тел и камеры наблюдения и т.п.Примитивы могут быть как векторными, так и растровыми. Единицей информации в OpenGL является вершина, из вершинформируются многоугольники, устанавливаются координаты. С помощью Open GL создаются трехмерные поверхности,текстуры, моделируются источники света, создаются эффекты тумана, прозрачности, смешивания цветов, имеются операциианимации с передвижением объектов сцены.Альтернативой OpenGL для платформы Microsoft является комплекс DirectX (Direct eXtension).
Это интерфейс прикладногопрограммирования API ( Application Programming Interface) для решения задач, относящихся к мультимедийным приложениям, вчастности, для разработки компьютерных игр. В DirectX входит несколько API, один из них Direct3D используется для 3D-графики,другие - для звука, музыки, устройств ввода и т.д. Чтобы решить проблему совместимости разных прикладных программ свидеокартами, был выполнена унификация интерфейсов - разработан специальный графический интерфейс - Direct3D (DirectX),который регулярно улучшается.
Последний DirectX 12 отвечает за обработку графики и звука на качественно новом уровне.Графические редакт оры предназначены для создания, сохранения и воспроизведения графических изображений. Различаютредакторы растровые и векторные.Растровые графические редакторы выполняют такие функции, как воспроизведение сложных изображений типа фотографий,их редактирование с помощью операций закрашивания, обрезания, маскирования, изменения параметров всего изображения илиего участков.
В этом классе графических редакторов лидирующее положение занимает Adobe Photoshop. При его использованиивсе изображение строится из набора отдельных слоев-картинок, имеющих прозрачные и закрашенные участки. Можно создавать,удалять, копировать, комбинировать участки, регулировать прозрачность и порядок расположения слоев. В пакетепредусмотрены возможности построения и редактирования также векторных изображений.Векторные редакторы позволяют создавать изображения типа схем, чертежей, диаграмм, простых рисунков. Одним изнаиболее известных векторных редакторов является Corel Draw.
Характерные возможности этого редактора — привязка линий копределенной позиции на изображении, создание выносок и размерных линий, работа с многостраничными изображениями,стандартный интерфейс Windows, многоуровневый откат, кроссплатформенность (имеются версии для Windows, OS/2, MAC,различных вариантов UNIX). Примеры других векторных редакторов — Microsoft Paint, iGrafx Designer, Visio 2000, Adobe Illustrator.ольшинство современных графических систем используют принцип конвейерной архитектуры. Построение некоторогоизображения на экране монитора происходит поточечно, причем каждая точка проходит некоторый фиксированный циклобработки. Сначала первая точка проходит первый этап этого цикла, затем переходит на второй этап, в это время втораяточка начинает прохождение первого этапа обработки и так далее.
Любая графическая система параллельно обрабатываетмножество точек формируемого изображения. Такой подход позволяет существенно уменьшить время обработки всегоизображения в целом, причем, чем сложнее изображение, тем больше получается выигрыш во времени. онвейерная архитектураприменяется для графических систем как на программном, так и на аппаратном уровне. На вход такого конвейера попадаюткоординаты физической точки реального мира, а на выходе получаются координаты точки в новой системе координат экрана иее цвет.В рассмотренном цикле обработки точки можно выделить несколько этапов, основными из них являются следующие:1. Геометрические преобразования - координаты всех объектов реального мира приводятся к единой системе координат(мировая система координат). В компьютерной графике нередко используются приемы, с помощью которых сложные объектыпредставляются как совокупность простых (базовых) объектов, при этом каждый из базовых объектов может быть подвергнутнекоторым геометрическим преобразованиям.2.
Отсечение. На этапе отсечения определяется, какие из точек попадут в поле зрения наблюдателя, и из этого множествавыбираются те, которые останутся видимыми. На этом этапе применяются алгоритмы удаления невидимых ребер иповерхностей.3. Проецирование. На этапе проецирования координаты точки (до сих пор остающиеся трехмерными) преобразуются вкоординаты экрана с помощью преобразования проецирования.4. Закрашивание - осуществляется расчет цвета отображаемой точки с помощью методов локального или глобальногозакрашивания. На этом этапе не удается использовать информацию об освещении всей сцены в целом, поэтому строятся моделиосвещенности различной степени детальности, которая во многом зависит от необходимости построения статического илидинамического изображения.Графические процессоры имеют конвейерную архитектуру.