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

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

Покупка
Основная коллекция
Артикул: 437600.05.01
К покупке доступен более свежий выпуск Перейти
Изложены методы построения кривых, поверхностей и твердых тел. Описан состав геометрических моделей, приведены принципы взаимодействия их элементов, рассмотрены применения геометрических моделей. Для студентов высших учебных заведений и специалистов по системам автоматизированного проектирования.
Голованов, Н. Н. Геометрическое моделирование : учебное пособие / Н. Н. Голованов. - Москва : КУРС : ИНФРА-М, 2021. - 400 с. - ISBN 978-5-905554-76-6. - Текст : электронный. - URL: https://znanium.ru/catalog/product/1215355 (дата обращения: 25.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Н.Н. ГоловаНов

УчебНое пособие

Москва
КУРС

ИНФРА-М

2021

ГЕОМЕТРИЧЕСКОЕ 

МОДЕЛИРОВАНИЕ

Допущено 
Учебно-методическим 
объединением

вузов Российской Федерации по университетскому 
политехническому 
образованию 
в 
качестве

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

(уровень бакалавриата), 09.04.01 «Информатика
и вычислительная техника» (уровень магистратуры)

УДК 004.925.8(075.8)
ББК 22.151я73

Г61

Голованов Н.Н.
Геометрическое моделирование : учебное пособие / Н.Н. Голо
ванов. — Моjсква : КУРС: ИНФРА-М, 2021. — 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. 

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

1

2

3

v
v
v






≡ 







v
. 

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

11
21
31

12
22
32

13
23
33

m
m
m
m
m
m
m
m
m






≡ 







M
. 

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

u
v


≡ 




i

i

i
p
. 

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

 

α
β


≡ 




k

k

k
v
. 

Вектор определяет направление в выбранной системе координат, 
точка 
определяет 
положение 
в 
выбранной 
системе 
координат. 
В аффинной системе координат точку пространства можно описать с 
помощью радиусавектора.  
Радиусвектор определяет преобразование переноса, переводящее 
начальную точку системы координат в заданную точку пространства. 
Пусть векторы 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 при переходе из одной точки пространства в другую точку. 
Радиусвектор описывается координатами заданной точки пространства. Радиусвектор будем обозначать так же, как и столбцы координат 
описываемой им точки, то есть строчными буквами латинского алфавита, выделенными полужирным шрифтом. Оси глобальной системы координат и отдельные радиусывекторы на рисунках, как правило, не показывают, а отображают относительное положение точек в пространстве 
или изменение радиусавектора. Так, на рис. 1.1.2. можно показать только вектор v перемещения точки p из исходного положения в точку q, 
а все остальное можно скрыть. 
Мы будем использовать радиусвектор для описания кривых и поверхностей. Радиусвектор дает положение точки пространства и в отличие от вектора связан с началом координат. Эта разница сказывается на 
формулах при переходе от одной системы координат к другой системе 
координат и на формулах изменения положения в пространстве. Рассмотрим различия между преобразованиями координат точки и преобразованиями компонент вектора при переходе от одной аффинной системы к другой аффинной системе координат. 
 

Рис. 1.1.1 
  
                          Рис. 1.1.2 
 
 

1.2. Аффинные координаты 

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

11

1
12

13

i
i
i






= 







i
,  

21

2
22

23

i
i
i






= 







i
,  

31

3
32

33

i
i
i






= 







i
 

и началом в точке начала глобальной системы. Векторы i1, i2, i3 должны 
быть линейно независимыми. Положим, что векторы i1, i2, i3 могут быть 
не ортогональными друг другу и иметь произвольную длину. Пусть положение некоторой точки q в глобальной системе описывается координатами q1, q2, q3, а в локальной системе положение этой же точки описывается координатами y1, y2, y3. Тогда из равенства  

q = y1 i1 + y2 i2 + y3 i3 

следует соотношение для глобальных q1, q2, q3 и локальных y1, y2, y3 координат рассматриваемой точки: 
 

К покупке доступен более свежий выпуск Перейти