Геометрическое моделирование
Покупка
Основная коллекция
ПООП
Тематика:
Прикладная информатика
Издательство:
КУРС
Автор:
Голованов Николай Николаевич
Год издания: 2024
Кол-во страниц: 400
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
Профессиональное образование
ISBN: 978-5-905554-76-6
ISBN-онлайн: 978-5-16-103551-1
Артикул: 437600.07.01
Изложены методы построения кривых, поверхностей и твердых тел. Описан состав геометрических моделей, приведены принципы взаимодействия их элементов, рассмотрены применения геометрических моделей.
Для студентов высших учебных заведений и специалистов по системам автоматизированного проектирования.
Тематика:
ББК:
УДК:
ОКСО:
- Среднее профессиональное образование
- 21.02.10: Геология и разведка нефтяных и газовых месторождений
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- ВО - Магистратура
- 09.04.01: Информатика и вычислительная техника
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Н.Н. ГОЛОВАНОВ УЧЕБНОЕ ПОСОБИЕ Москва КУРС ИНФРА-М 2024 ГЕОМЕТРИЧЕСКОЕ МОДЕЛИРОВАНИЕ Допущено Учебно-методическим объединением вузов Российской Федерации по университетскому политехническому образованию в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлениям 09.03.01 «Информатика и вычислительная техника» (уровень бакалавриата), 09.04.01 «Информатика и вычислительная техника» (уровень магистратуры)
УДК 004.925.8(075.8) ББК 22.151я73 Г61 Голованов Н.Н. Геометрическое моделирование : учебное пособие / Н.Н. Голованов. — Москва: КУРС: ИНФРА-М, 2024. — 400 с. ISBN 978-5-905554-76-6 (КУРС) ISBN 978-5-16-011357-9 (ИНФРА-М, print) ISBN 978-5-16-103551-1 (ИНФРА-М, online) Изложены методы построения кривых, поверхностей и твёрдых тел. Описан состав геометрических моделей, приведены принципы взаимодействия их элементов, рассмотрены применения геометрических моделей. Для студентов высших учебных заведений и специалистов по системам автоматизированного проектирования. УДК 004.925.8(075.8) ББК 22.151я73 Р е ц е н з е н т: В.А. Мартынюк — доцент кафедры систем автоматизированного проектирования МГТУ им. Н.Э. Баумана, канд. техн. наук; Г.В. Носовский — доцент кафедры дифференциальной геометрии МГУ им. М.В. Ломоносова, канд. физ.-мат. наук. Г61 © Голованов Н.Н., 2016 © КУРС, 2016 ISBN 978-5-905554-76-6 (КУРС) ISBN 978-5-16-011357-9 (ИНФРА-М, print) ISBN 978-5-16-103551-1 (ИНФРА-М, online) ФЗ № 436-ФЗ Издание не подлежит маркировке в соответствии с п. 1 ч. 4 ст. 11
Оглавление Предисловие ............................................................................................. 6 Введение ................................................................................................... 7 Глава 1. Точки ........................................................................................ 10 1.1. Радиусвектор ....................................................................... 10 1.2. Аффинные координаты ....................................................... 13 1.3. Модификации векторов и точек .......................................... 16 1.4. Однородные координаты ..................................................... 18 Глава 2. Кривые ...................................................................................... 22 2.1. Кривая ................................................................................... 22 2.2. Аналитические кривые ........................................................ 27 2.3. Кривые, построенные по набору точек ............................... 30 2.4. Кривые Безье ........................................................................ 38 2.5. Кривые Безье и конические сечения .................................. 42 2.6. Рациональные кривые Безье ................................................ 51 2.7. Разделенные разности .......................................................... 54 2.8. Bсплайны ............................................................................. 59 2.9. Bкривые ............................................................................... 67 2.10. Алгоритм Де Бура ............................................................... 72 2.11. Вставка точки и узла Bкривой .......................................... 74 2.12. Примеры Bкривых ............................................................ 77 2.13. Bкривые и кривые Безье ................................................... 80 2.14. Частные случаи Bкривых .................................................. 84 2.15. Кривые, построенные на базе кривых ............................... 92 2.16. Составная кривая ............................................................... 96 Глава 3. Поверхности ............................................................................. 99 3.1. Поверхность .......................................................................... 99 3.2. Аналитические поверхности .............................................. 111 3.3. Поверхности, полученные движением кривой ................ 114 3.4. Поверхности, построенные на семействе кривых ............ 120 3.5. Поверхности, построенные на сетке кривых .................... 126 3.6. Поверхность на сетке точек ............................................... 133 3.7. Поверхность Безье .............................................................. 136 3.8. Bповерхность ..................................................................... 139 3.9. Tповерхности .................................................................... 144 3.10. Поверхности треугольной формы ................................... 148 3.11. Треугольные поверхности Безье ...................................... 152 3.12. Однородные разделенные разности ................................ 158 3.13. Симплексные сплайны .................................................... 166 3.14. Sповерхности ................................................................... 172
3.15. Поверхности, построенные на базе поверхностей ......... 174 3.16. Деформируемая поверхность ........................................... 177 3.17. Поверхность на базе триангуляции ................................. 179 3.18. Поверхность с произвольной границей .......................... 181 Глава 4. Проекции и пересечения ......................................................... 185 4.1. Проекции точки на кривую ............................................... 185 4.2. Проекции точки на поверхность ....................................... 188 4.3. Точки пересечения кривых ................................................ 192 4.4. Точки пересечения поверхности и кривой ....................... 195 4.5. Точки пересечения трех поверхностей ............................. 198 4.6. Кривые на поверхностях .................................................... 199 4.7. Кривая пересечения поверхностей ................................... 205 4.8. Алгоритм построения кривых пересечения ...................... 209 4.9. Поверхности сопряжения .................................................. 215 4.10. Поверхность фаски ........................................................... 224 4.11. Положение точки относительно поверхности ................ 226 4.12. Поиск начальных приближений ...................................... 227 4.13. Точность геометрических построений ............................ 230 Глава 5. Тела ........................................................................................ 234 5.1. Оболочка ............................................................................. 234 5.2. Характеристики оболочки ................................................. 236 5.3. Однородная оболочка ........................................................ 242 5.4. Тело ..................................................................................... 243 5.5. Структуры данных .............................................................. 244 5.6. Элементарные тела ............................................................. 246 5.7. Тела, полученные движением кривой ............................... 251 5.8. Тела, построенные по сечениям ........................................ 256 5.9. Тело, построенное по поверхности ................................... 258 Глава 6. Методы построения тел .......................................................... 261 6.1. Методы геометрического моделирования ........................ 261 6.2. Булевы операции над телами ............................................. 262 6.3. Алгоритм булевых операций .............................................. 271 6.4. Разрезанное тело ................................................................ 276 6.5. Симметричное тело ............................................................ 277 6.6. Тело с достраиваемыми элементами ................................. 280 6.7. Эквидистантное тело .......................................................... 282 6.8. Тонкостенное тело ............................................................. 286 6.9. Скругление ребер тела ........................................................ 288 6.10. Алгоритм скругления ребер тела ...................................... 293 6.11. Построение фаски ребер тела .......................................... 295 6.12. Прямое моделирование .................................................... 296 6.13. Деформирование оболочек .............................................. 299
Глава 7. Геометрические ограничения .................................................. 302 7.1. Наложение геометрических ограничений ........................ 302 7.2. Объекты геометрических ограничений ............................. 305 7.3. Позиционирование набора тел .......................................... 308 7.4. Решение уравнений геометрических ограничений .......... 312 7.5. Консервативный метод ...................................................... 313 7.6. Метод декомпозиции ......................................................... 315 Глава 8. Геометрическая модель .......................................................... 320 8.1. Состав геометрической модели ......................................... 320 8.2. Применение геометрической модели ............................... 321 8.3. Построение векторного изображения ............................... 323 8.4. Моделирование оптических свойств ................................. 327 8.5. Построение точечного изображения ................................. 334 8.6. Триангуляция ..................................................................... 340 8.7. Триангуляция поверхности ............................................... 347 8.8. Триангуляция оболочки ..................................................... 350 8.9. Инерционные характеристики .......................................... 351 8.10. Вычисление инерционных характеристик ...................... 354 8.11. Главные моменты инерции .............................................. 359 Приложение. Криволинейные системы ................................................ 366 A.1. Криволинейные координаты ............................................ 366 A.2. Дифференцирование в криволинейных координатах ..... 371 A.3. Тензоры в криволинейных координатах .......................... 374 A.4. Примеры тензоров ............................................................. 380 А.5. Ортогональные криволинейные координаты .................. 387 Список литературы ............................................................................... 395 Предметный указатель ......................................................................... 397
Предисловие Предлагаемая книга предназначена для тех, кто изучает, использует в работе или разрабатывает системы геометрического моделирования. Она посвящена математическому аппарату этих систем и содержит методы построения численных моделей, моделей геометрии реальных и воображаемых объектов. В книге изложены методы геометрического моделирования, включающие методы построения кривых, поверхностей и тел, приведены алгоритмы и структуры данных геометрических объектов, изложены принципы, обеспечивающие взаимосвязь элементов модели, рассмотрен состав геометрической модели и некоторые области ее применения. В основу книги положен опыт работы автора над геометрическим ядром C3D. Автор благодарит Г.Ф. Горшкова, В.А. Мартынюка, Г.В. Носовского, С.И. Роткова, К. Версприлла, Дж. Орра и коллег по разработке геометрического ядра C3D за полезные советы и поддержку.
Посвящается Марии Введение С развитием компьютеров появилась возможность создавать численные модели различных объектов и экспериментировать с ними. Численные модели используются в системах, выполняющих проектирование (Computer Aided Design), расчеты (Computer Aided Engineering) и производство (Computer Aided Manufacturing) моделируемых объектов. Во всех этих системах с той или иной точностью требуется описать геометрическую форму моделируемых объектов. В процессе развития этих систем сформировалась область математики, которая называется геометрическим моделированием. Геометрическое моделирование изучает методы построения численных моделей геометрии реальных и воображаемых объектов, а также методы управления этими моделями. Геометрическая модель содержит описание формы моделируемого объекта и описание связей элементов модели. Для возможности редактирования и создания подобных моделей в геометрическую модель часто включают дерево построения, хранящее последовательность и способы построения модели. Элементы геометрической модели, как правило, наделяют атрибутами, которые несут информацию о физических и других свойствах этих элементов. Геометрическое моделирование начало свое развитие с систем компьютерного черчения. Позже появились системы каркасного и поверхностного моделирования. Компьютерные системы параметрического твердотельного моделирования кардинально изменили технологию работы конструктора. Они позволили фиксировать конструкторскую мысль не в виде плоского чертежа, а в виде трехмерной модели. Для описания связей элементов модели стали применяться вариационные методы. Еще одним шагом в развитии геометрического моделирования являются методы прямого моделирования, расширяющие возможности конструктора и дизайнера. Окружающие нас объекты занимают некоторый конечный объем пространства. Для моделирования этих объектов нужно описать занимаемую ими часть пространства. В определенных случаях это можно сделать с помощью элементов объема моделируемого объекта. Элементы объема называют вокселами. Элементами объема могут служить кубы, призмы и пирамиды. Воксельные модели используются в случаях, когда атрибуты элементов объема модели имеют большее значение, чем геометрическая форма модели.
С определенной степенью точности геометрическую форму объектов можно описать, используя плоские грани. Описание геометрической формы моделируемого объекта плоскими гранями называют полигональным представлением. Криволинейные поверхности полигональное представление аппроксимирует набором пластин треугольной или четырехугольной формы. Использование плоских граней значительно упрощает работу с моделью. Полигональную модель обычно строят на основе замеров реальных объектов или на основе другой модели. Полигональное представление широко применяется для визуализации геометрических моделей и при передаче информации для 3Dпечати. Многие объекты можно получить, используя поступательное и вращательное движения. Элементы поверхности таких объектов можно задать плоскостью, поверхностью сферы, поверхностью цилиндра, поверхностью конуса, поверхностью тора. Все перечисленные поверхности делят пространство на две части и для них можно указать, с какой стороны поверхности находится внутренний объем моделируемого объекта. Используя для моделирования такие поверхности, можно построить геометрическую модель путем выполнения операций над примитивами, к которым, как правило, относят прямоугольную призму, треугольную призму, сферу, цилиндр, конус, тор. Описанным образом устроена конструктивная твердотельная геометрия (Constructive Solid Geometry). В настоящее время конструктивная твердотельная геометрия практически не используется. Наиболее общий подход к описанию геометрической формы моделируемого объекта использует поверхности произвольной формы, представленные в явном виде. Этот подход состоит в представлении поверхности моделируемого объекта совокупностью граней, стыкующихся по ребрам и содержащих информацию о своих границах и связях с соседями. Грани стыкуются так, что внешняя сторона одной грани переходит во внешнюю сторону соседней грани. Грани могут иметь произвольную форму. Описание геометрической формы моделируемого объекта криволинейными гранями, стыкующимися друг с другом по общим краям, называется граничным представлением (Boundary Representation). Оно дает возможность выполнять над моделями множество операций, сохраняя при этом единый способ их внутреннего устройства. Граничное представление содержит точное описание границы моделируемого объекта, отделяющей его от остальной части пространства. Граничное представление используют все современные CADсистемы. Между элементами геометрической модели устанавливают вариационные связи, поддерживающие совпадение точек, совпадение осей, совпадение плоскостей, принадлежность объекта плоскости, касание
поверхностей и многие другие зависимости. Взаимозависимости элементов модели называют геометрическими ограничениями (Geometric Constraints). Связанными могут быть различные размеры одного объекта и нескольких объектов. Через такие связи легко редактировать модель и создавать подобные модели. Как правило, геометрические ограничения могут быть удовлетворены не единственным образом. Большинство CADсистем имеют модули, устанавливающие геометрические ограничения на элементы геометрической модели. Геометрическое моделирование изучает методы поиска решения, которое соответствует поставленной практической задаче. В разработке своих методов геометрическое моделирование опирается на разные области математики, в первую очередь на дифференциальную геометрию и численные методы. Геометрическое моделирование тесно связано с программированием, оно в полной мере востребовало особенности объектноориентированного подхода: сокрытие данных (encapsulation), наследование (inheritance), переопределение семантики операций (polymorphism). Например, объектноориентированное программирование позволяет создавать кривые и поверхности, обладающие некоторым множеством общих методов, скрыв реализацию этих методов каждой конкретной кривой и поверхности и используемые для этого данные. Геометрическая модель используется для визуализации моделируемого объекта, проверки возможности корректно собрать моделируемый объект из его элементов, кинематической проверки, вычисления инерционных характеристик, расчета траектории режущего инструмента, проектирования оснастки и других этапов подготовки производства моделируемого объекта. С помощью геометрической модели выполняются численные эксперименты и производство моделируемого объекта. Для этого используются атрибуты элементов модели, описывающие физические и другие свойства моделируемого объекта. Геометрическое моделирование позволяет сократить время и материальные затраты на производство проектируемых объектов и повысить их качество. Геометрическое моделирование автоматизирует труд дизайнеров, конструкторов, архитекторов, технологов, позволяет им уйти от рутинных работ и сосредоточиться на творчестве.
Глава 1. Точки Мы будем моделировать геометрические свойства реальных и воображаемых объектов. Нашей конечной целью является построение геометрических моделей этих объектов. Эти модели нужны для проведения исследований, для принятия решений, для производства моделируемых объектов. Геометрическая модель состоит из множества тел, которые описываются кривыми и поверхностями. Кривые и поверхности в свою очередь описываются точками, векторами и скалярными величинами. Преобразования над геометрической моделью сводятся к соответствующим преобразованиям над точками, векторами и скалярами. В данной главе мы введем обозначения и рассмотрим преобразования координат точек и компонент векторов в аффинных системах координат при изменении положения описываемых ими объектов. 1.1. Радиус-вектор Для построения геометрических моделей будем использовать декартовы координаты с фиксированным ортонормированным базисом, считая, что пространство является евклидовым. Скалярные величины будем обозначать строчными буквами латинского алфавита, выделенными курсивом, а также строчными буквами греческого алфавита, например h, r, β, μ. Для обозначения столбца координат точек и компонент векторов в трехмерном пространстве будем использовать строчные буквы латинского алфавита, выделенные полужирным шрифтом. Так, положение точки с координатами p1, p2, p3 будем описывать, например, символом p, за которым стоят три координаты: 1 2 3 p p p ≡ p . Кроме того, будем использовать и такое обозначение точки с координатами xi, yi, zi: i i i i x y z ≡ p или pi ≡ [xi yi zi] T.