Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Геометрическое моделирование

Покупка
Артикул: 739782.01.99
Доступ онлайн
999 ₽
В корзину
В книге изложены математические методы построения геометрических моделей, приведена теория В-сплайнов и описаны свойства кривых и поверхностей, построенных на их основе, рассмотрены принципы построения твёрдых тел и алгоритмы выполнения операций над ними, представлен состав геометрической модели и принципы установления вариационных зависимостей между её элементами, рассказано о применении геометрических моделей и приёмах компьютерной графики. Издание предназначено для специалистов по системам автоматизированного проектирования и студентов высших учебных заведений.
Голованов, Н. Н. Геометрическое моделирование : методическое пособие / Н. Н. Голованов. - Москва : ДМК Пресс, 2020. - 406 с. - ISBN 978-5-97060-806-7. - Текст : электронный. - URL: https://znanium.com/catalog/product/1094924 (дата обращения: 14.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Геометрическое  
моделирование

Москва, 2020

Н. Н. Голованов

УДК 514.8
ББК 22.15
 
Г61

Р е ц е н з е н т ы:

В. А. Мартынюк – доцент кафедры систем автоматизированного 
проектирования МГТУ им. Баумана, канд. техн. наук
Г. В. Носовский – доцент кафедры дифференциальной геометрии 
МГУ им. Ломоносова, канд. физ.-мат. наук

 
Голованов Н. Н.
Г61 
Геометрическое моделирование. – М.: ДМК Пресс, 2020. – 406 с.: ил.

 
ISBN 978-5-97060-806-7

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

УДК 514.8
ББК 22.15

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

 
©  Голованов Н. Н., 2020 
ISBN 978-5-97060-806-7 
©  Оформление, издание, ДМК Пресс, 2020

Содержание

Предисловие от издательства .............................................................................6
Предисловие ..............................................................................................................7
Введение .....................................................................................................................8

Глава 1. Точки ...........................................................................................................11

1.1. Радиус-вектор ........................................................................................................11
1.2. Аффинные координаты ........................................................................................14
1.3. Модификации векторов и точек ..........................................................................17
1.4. Однородные координаты .....................................................................................19
Упражнения..................................................................................................................22

Глава 2. Кривые .......................................................................................................23

2.1. Кривая ....................................................................................................................23
2.2. Аналитические кривые .........................................................................................28
2.3. Кривые, построенные по набору точек ...............................................................32
2.4. Кривые Безье .........................................................................................................41
2.5. Кривые Безье и конические сечения ...................................................................45
2.6. Рациональные кривые Безье ................................................................................54
2.7. Разделённые разности ..........................................................................................58
2.8. B-сплайны ..............................................................................................................62
2.9. B-кривые  ...............................................................................................................70
2.10. Алгоритм Де Бура ................................................................................................76
2.11. Вставка точки и узла B-кривой ..........................................................................78
2.12. Примеры B-кривых .............................................................................................81
2.13. B-кривые и кривые Безье ...................................................................................83
2.14. Частные случаи B-кривых...................................................................................87
2.15. Кривые, построенные на базе кривых ...............................................................95
2.16. Составная кривая ................................................................................................99
Упражнения................................................................................................................100

Глава 3. Поверхности  .........................................................................................101

3.1. Поверхность .........................................................................................................101
3.2. Аналитические поверхности  .............................................................................112
3.3. Поверхности, полученные движением кривой .................................................118
3.4. Поверхности, построенные на семействе кривых ............................................126
3.5. Поверхности, построенные на сетке кривых ....................................................132
3.6. Поверхность на сетке точек ................................................................................141
3.7. Поверхность Безье ...............................................................................................144

 Содержание

3.8. B-поверхность .....................................................................................................147
3.9. T-поверхности .....................................................................................................154
3.10. Поверхности треугольной формы ....................................................................158
3.11. Треугольные поверхности Безье ......................................................................162
3.12. Однородные разделённые разности ................................................................168
3.13. Симплексные сплайны  ....................................................................................176
3.14. S-поверхности  ..................................................................................................182
3.15. Поверхности на базе поверхностей .................................................................184
3.16. Деформируемая поверхность ...........................................................................188
3.17. Поверхность на базе триангуляции..................................................................189
3.18. Поверхность с произвольной границей ..........................................................192
Упражнения................................................................................................................195

Глава 4. Построения на кривых и поверхностях.......................................196

4.1. Проекции точки на кривую ................................................................................196
4.2. Проекции точки на поверхность ........................................................................199
4.3. Точки пересечения кривых ................................................................................203
4.4. Точки пересечения поверхности и кривой  ......................................................206
4.5. Точки пересечения трёх поверхностей..............................................................208
4.6. Кривые на поверхностях ....................................................................................209
4.7. Кривая пересечения поверхностей ....................................................................215
4.8. Алгоритм построения кривых пересечения .....................................................219
4.9. Поверхности сопряжения ...................................................................................225
4.10. Поверхность фаски ............................................................................................234
4.11. Положение точки относительно поверхности ................................................235
4.12. Поиск начальных приближений ......................................................................237
4.13. Точность геометрических построений ............................................................240
Упражнения................................................................................................................242

Глава 5. Тела ............................................................................................................243

5.1. Оболочка ..............................................................................................................243
5.2. Характеристики оболочки ..................................................................................245
5.3. Однородная оболочка .........................................................................................251
5.4. Тело ......................................................................................................................252
5.5. Структуры данных ..............................................................................................253
5.6. Элементарные тела .............................................................................................255
5.7. Тела, полученные движением кривой ...............................................................260
5.8. Тела, построенные по сечениям .........................................................................265
5.9. Тело, построенное по поверхности ....................................................................267
Упражнения................................................................................................................269

Глава 6. Методы построения тел .....................................................................270

6.1. Методы геометрического моделирования ........................................................270
6.2. Булевы операции над телами .............................................................................271
6.3. Алгоритм булевых операций ..............................................................................280

Содержание  5

6.4. Разрезанное тело .................................................................................................285
6.5. Симметричное тело ............................................................................................286
6.6. Тело с достраиваемыми элементами .................................................................290
6.7. Эквидистантное тело ..........................................................................................293
6.8. Тонкостенное тело ..............................................................................................296
6.9. Скругление рёбер тела ........................................................................................299
6.10. Алгоритм скругления рёбер тела .....................................................................304
6.11. Построение фаски рёбер тела ...........................................................................306
6.12. Прямое моделирование ....................................................................................307
6.13. Деформирование оболочек ..............................................................................311
Упражнения................................................................................................................313

Глава 7. Геометрические ограничения ..........................................................314

7.1. Наложение геометрических ограничений ........................................................314
7.2. Объекты геометрических ограничений.............................................................317
7.3. Позиционирование набора тел ..........................................................................320
7.4. Уравнения геометрических ограничений .........................................................324
7.5. Консервативный метод .......................................................................................325
7.6. Метод декомпозиции ..........................................................................................327
Упражнения................................................................................................................330

Глава 8. Геометрическая модель .....................................................................331

8.1. Состав геометрической модели .........................................................................331
8.2. Применение геометрической модели ...............................................................332
8.3. Построение векторного изображения ...............................................................333
8.4. Моделирование оптических свойств .................................................................338
8.5. Построение точечного изображения .................................................................344
8.6. Триангуляция ......................................................................................................350
8.7. Триангуляция поверхности ................................................................................356
8.8. Триангуляция оболочки ......................................................................................359
8.9. Инерционные характеристики ..........................................................................360
8.10. Вычисление инерционных характеристик .....................................................364
8.11. Главные моменты инерции ..............................................................................368
Упражнения................................................................................................................374

Приложение. Криволинейные системы .......................................................375

A.1. Криволинейные координаты .............................................................................375
A.2. Дифференцирование в криволинейных координатах ....................................380
A.3. Тензоры в криволинейных координатах ..........................................................383
A.4. Примеры тензоров .............................................................................................388
А.5. Ортогональные криволинейные координаты ..................................................394

Список литературы ..............................................................................................402
Предметный указатель .......................................................................................403

Предисловие от издательства

Отзывы и пОжелания

Мы всегда рады отзывам наших читателей. Расскажите нам, что вы думаете об 
этой книге – что понравилось или, может быть, не понравилось. Отзывы важны 
для нас, чтобы выпус кать книги, которые будут для вас максимально полезны.
Вы можете написать отзыв на нашем сайте www.dmkpress.com, зайдя на страницу книги и оставив комментарий в разделе «Отзывы и рецензии». Также 
можно послать письмо главному редактору по адресу dmkpress@gmail.com; при 
этом укажите название книги в теме письма. 
Если вы являетесь экспертом в какой-либо области и заинтересованы в написании новой книги, заполните форму на нашем сайте по адресу http://dmkpress.
com/authors/publish_book/ или напишите в издательство по адресу dmkpress@
gmail.com.

СпиСОк ОпечатОк

Хотя мы приняли все возможные меры для того, чтобы обеспечить высокое 
качество наших текстов, ошибки все равно случаются. Если вы найдете ошибку 
в одной из наших книг – возможно, ошибку в основном тексте или программном коде, – мы будем очень благодарны, если вы сообщите нам о ней. Сделав 
это, вы избавите других читателей от недопонимания и поможете нам улучшить последующие издания этой книги. 
Если вы найдете какие-либо ошибки в коде, пожалуйста, сообщите о них 
главному редактору по адресу dmkpress@gmail.com, и мы исправим это в следующих тиражах.

нарушение автОрСких прав

Пиратство в интернете по-прежнему остается насущной проблемой. Издательство «ДМК Пресс» очень серь езно относится к вопросам защиты авторских прав и лицензирования. Если вы столкнетесь в интернете с незаконной 
пуб ликацией какой-либо из наших книг, пожалуйста, пришлите нам ссылку на 
интернет-ресурс, чтобы мы могли применить санкции.
Ссылку на подозрительные материалы можно прислать по адресу электронной почты dmkpress@gmail.com.
Мы высоко ценим любую помощь по защите наших авторов, благодаря которой мы можем предоставлять вам качественные материалы.

Предисловие

Предлагаемая книга предназначена для тех, кто изучает, использует в работе 
или разрабатывает системы геометрического моделирования. Она посвящена 
математическому аппарату этих систем и рассказывает о принципах построения численных моделей геометрии реальных и воображаемых объектов.
В книге изложены методы построения кривых, поверхностей и тел, приведены алгоритмы и структуры данных геометрических объектов, разобраны 
принципы, обеспечивающие взаимосвязь элементов модели, рассмотрен состав геометрической модели и некоторые области её применения. 
В основу книги положен опыт работы автора над геометрическим ядром 
C3D. 
Автор благодарит Е. В. Бахина, А. В. Голикова, Г. Ф. Горшкова, О. А. Зыкова, 
Ю. А. Козулина, А. О. Максименко, Э. О. Максименко, В. А. Мартынюка, Г. В. Носовского, С. И. Роткова, Т. М. Янкину, К. Версприлла, Дж. Орра и коллег по разработке геометрического ядра C3D за полезные советы и поддержку.

Посвящается Марии

Введение

С развитием компьютеров появилась возможность создавать численные модели различных объектов и экспериментировать с ними. Численные модели 
используются в системах, выполняющих проектирование (Computer Aided Design), расчёты (Computer Aided Engineering) и производство (Computer Aided 
Manufacturing) моделируемых объектов. Во всех этих системах с той или иной 
точностью требуется описать геометрическую форму моделируемых объектов. 
В процессе развития этих систем сформировалась область математики, которая называется геометрическим моделированием. 
Геометрическое моделирование изучает методы построения численных моделей геометрии реальных и воображаемых объектов, а также методы управления этими моделями. Геометрическая модель содержит описание формы 
моделируемого объекта и описание связей элементов модели. Для возможности редактирования и создания подобных моделей в геометрическую модель включают дерево построения, хранящее последовательность и способы 
построения модели. Элементы геометрической модели, как правило, наделяют атрибутами, которые несут информацию о физических и других свойствах 
этих элементов.
Геометрическое моделирование начало свое развитие с систем компьютерного черчения. Позже появились системы каркасного и поверхностного моделирования. Компьютерные системы параметрического твердотельного 
моделирования (Solid Modeling) кардинально изменили технологию работы 
конструктора. Они позволили фиксировать конструкторскую мысль не в виде 
плоского чертежа, а в виде трёхмерной модели. Для описания связей элементов 
модели стали применяться вариационные методы. Ещё одним шагом в развитии геометрического моделирования стали методы прямого моделирования 
(Direct Modeling), расширяющие возможности конструктора и дизайнера.
Окружающие нас объекты занимают некоторый конечный объем пространства. Для моделирования этих объектов нужно описать занимаемую ими часть 
пространства. В определенных случаях это можно сделать с помощью элементов объёма моделируемого объекта. Элементы объёма называют вокселами. 
Элементами объёма могут служить кубы, призмы и пирамиды. Воксельные 
модели используются в случаях, когда атрибуты элементов объёма модели 
имеют большее значение, чем геометрическая форма модели. 

Введение  9

С определённой степенью точности геометрическую форму объектов можно описать, используя плоские грани. Описание геометрической формы моделируемого объекта плоскими гранями называют полигональным представлением. Криволинейные поверхности полигональное представление 
аппроксимирует набором пластин треугольной или четырёхугольной формы. 
Использование плоских граней значительно упрощает работу с моделью. Полигональную модель обычно строят на основе замеров реальных объектов или 
на основе другой модели. Полигональное представление широко применяется 
для визуализации геометрических моделей и при передаче информации для 
3D-печати. 
Многие объекты можно получить, используя поступательное и вращательное движения. Элементы поверхности таких объектов можно задать плоскостью, поверхностью сферы, поверхностью цилиндра, поверхностью конуса, 
поверхностью тора. Все перечисленные поверхности делят пространство на 
две части, и для них можно указать, с какой стороны поверхности находится 
внутренний объём моделируемого объекта. Используя для моделирования такие поверхности, можно построить геометрическую модель путём выполнения 
операций над примитивами, к которым, как правило, относят прямо угольную 
призму, треугольную призму, сферу, цилиндр, конус, тор. Описанным образом 
устроена конструктивная твердотельная геометрия (Constructive Solid Geometry). В настоящее время конструктивная твердотельная геометрия практически не используется.
Наиболее общий подход к описанию геометрической формы моделируемого объекта использует поверхности произвольной формы, представленные 
в явном виде. Этот подход   состоит в представлении поверхности моделируемого объекта совокупностью граней, стыкующихся по рёбрам и содержащих 
информацию о своих границах и связях с соседями. Грани стыкуются так, что 
внешняя сторона одной грани переходит во внешнюю сторону соседней грани. Грани могут иметь произвольную форму. Описание геометрической формы моделируемого объекта криволинейными гранями, стыкующимися друг 
с другом по общим рёбрам, называется граничным представлением (Boundary Representation). Оно даёт возможность выполнять над моделями множество операций, сохраняя при этом единый способ их внутреннего устройства. 
Граничное представление содержит точное описание границы моделируемого 
объекта, отделяющей его от остальной части пространства. Граничное представление используют большинство современных CAD-систем.
Между элементами геометрической модели устанавливают вариационные 
связи, поддерживающие совпадение точек, совпадение осей, совпадение плоскостей, принадлежность объекта плоскости, касание поверхностей и многие 
другие зависимости. Взаимозависимости элементов модели называют геометрическими ограничениями (Geometric Constraints). Связанными могут 
быть различные размеры одного объекта и нескольких объектов. Через такие 
связи легко редактировать модель и создавать подобные модели. Как прави
 Введение

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

Глава 1

Точки

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

1.1. радиуС-вектОр

Для построения геометрических моделей будем использовать декартовы координаты с фиксированным ортонормированным базисом, считая, что пространство является евклидовым.
Скалярные величины будем обозначать строчными буквами латинского алфавита, выделенными курсивом, а также строчными буквами греческого  алфавита, например h, r, β, µ.
Для обозначения столбца координат точек и компонент векторов в трёхмерном пространстве будем использовать строчные буквы латинского алфавита, 
выделенные полужирным шрифтом. Так, положение точки с координатами p1, 
p2, p3 будем описывать, например, символом p, за которым стоят три координаты: 

Кроме того, будем использовать и такое обозначение точки с координатами 
xi, yi, zi, как

 Точки

или pi ≡ [xi  yi  zi]T.
Аналогичным способом будем обозначать столбцы компонент векторов 
в трехмерном пространстве. Так, вектор с компонентами v1, v2, v3 будем описывать, например, символом v, за которым стоят три компоненты: 

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

Во многих формулах важны не конкретные координаты, а действия над их 
совокупностью, поэтому в формулах будем оперировать принятыми обозначениями векторов и точек. Многие формулы приобретают компактный вид 
при использовании векторных обозначений. Например, равенство d = a + b 
обозначает три скалярных равенства. Скалярное произведение векторов a и b 
будем обозначать через a · b. Векторное произведение векторов a и b будем 
обозначать через a × b.
При описании сложных геометрических объектов нам придется работать 
с точками и векторами как в трёхмерном, так и в двумерном пространстве, например в области параметров поверхности. 
Для обозначения столбца координат точек и столбца компонент векторов 
в двумерном пространстве будем использовать строчные буквы латинского алфавита, выделенные полужирным наклонным шрифтом. Так, положение двумерной точки с координатами ui и vi будем описывать, например, символом pi, 
за которым стоят две координаты: 

Кроме того, будем использовать и такое обозначение двумерной точки с координатами p1 и p2, как p ≡ [p1  p2]T.
Аналогичным способом будем обозначать столбцы компонент векторов 
в двумерном пространстве. Так, двумерный вектор с компонентами αk и βk будем описывать, например, символом vk, за которым стоят две компоненты: 

Радиус-вектор  13

Вектор определяет направление в выбранной системе координат, точка 
определяет положение в выбранной системе координат. В аффинной системе 
координат точку пространства можно описать с помощью радиус-вектора. 
Радиус-вектор определяет преобразование переноса, переводящее начальную точку системы координат в точку пространства с заданными координатами. Пусть векторы e1, e2, e3 описывают оси некоторой аффинной системы координат. Рассмотрим точку пространства, имеющую в этой системе координаты 
p1, p2, p3. Построим вектор 

p = p1 e1 + p2 e2 + p3 e3, 
(1.1.1)

выходящий из начала аффинной системы координат. Тогда вектор (1.1.1) будет 
оканчиваться в рассматриваемой точке. Вектор (1.1.1) представляет собой радиус-вектор рассматриваемой точки, рис. 1.1.1. В криволинейной системе координат базисные векторы e1, e2, e3 в разных точках пространства различны, 
поэтому выражением (1.1.1) можно описывать только векторы в указанной точке, а не положение точки в пространстве. Запись вектора в виде правой части 
(1.1.1) в криволинейной системе координат используется для векторных полей, 
так как при дифференцировании позволяет учитывать изменение базисных 
векторов e1, e2, e3 при переходе из одной точки пространства в другую точку.

p3

p2

p1
e1
e2

e3

p

Рис. 1.1.1

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