
- •Системы геометрического моделирования
- •Системы каркасного моделирования
- •Системы поверхностного моделирования
- •Системы твердотельного моделирования
- •Функции моделирования
- •Заметание
- •Поднятие
- •Моделирование границ
- •Объектно-ориентированное моделирование
- •Параметрическое моделирование
- •Вопросы для самоконтроля
Заметание
Функция заметания (sweeping) формирует объемное тело трансляцией или вращением замкнутой плоской фигуры. В первом случае процесс формирования называется заметанием при трансляции (translational sweeping), во втором случае — построением фигуры вращения (swinging, rotational sweeping). Если плоская фигура будет незамкнутой, в результате заметания получится не объемное тело, а поверхность. Такой вариант заметания поддерживается системами поверхностног моделирования.
Заметание при трансляции и вращении представлено на рис. 1.8 и 1.9 соответственно. Хотя рис. 1.9 демонстрирует вращение на 360°, большинство систем твердотельного моделирования позволяют поворачивать фигуру на произвольней угол.
Рисунок 1.8 - Заметание при трансляции
Рисунок 1.9 - Заметание при вращении
Скиннинг
Функция скиннинга (skinning) формирует замкнутый объем, натягивая поверхность на заданные плоские поперечные сечения тела (рис. 1.10). Можно представить себе, что на каркас фигуры, образованный границами поперечных сечений, натягивается ткань или винил. Если к натянутой поверхности не добавить конечные грани (два крайних сечения), в результате получится поверхность, а не замкнутый объем. В таком варианте функция скиннинга представлена в системах поверхностного моделирования.
Рисунок 1.10 - Создание объемного тела методом скининга
Скругление или плавное сопряжение
Скругление (rounding), или плавное сопряжение (blending), используется для модифицирования существующей модели, состоящего в замене острого ребра или вершины гладкой криволинейной поверхностью, векторы нормали к которой непрерывно продолжают векторы нормали поверхностей, сходившихся у исходного ребра или вершины. Замену острого прямого ребра цилиндрической поверхностью демонстрирует рис. 1.11, а. Векторы нормали к цилиндрической поверхности продолжаются векторами соседних плоских граней. Замена острой вершины сферической поверхностью показана на рис. 1.12. Здесь также обеспечивается непрерывность векторов нормали. Частный случай скругления с добавлением, а не удалением материала показан на рис. 1.11, б. Такая процедура называется выкружкой (filleting).
Рисунок 1.11 - Скругление ребер Рисунок 1.12 - Скругление вершин
Поднятие
Поднятием (lifting) называется перемещение всей грани объемного тела или ее части в заданном направлении с одновременным удлинением тела в этом направлении (рис. 1.13, а). Если нужно поднять только часть грани (рис. 13, б), эту грань необходимо заранее разделить.
Рисунок 1.13 - Поднятие грани и ее части
Для этого достаточно добавить ребро, которое будет разбивать грань на нужные части. Но внутри системы при этом будут произведены некоторые дополнительные действия, результатом которых станет деление грани. Обычно при этом обновляются сведения о связности поверхности. Внутри системы подобные действия выполняются при помощи операторов Эйлера. При работе с функцией поднятия необходимо правильно указывать направление и дальность поднятия, чтобы добавленная часть тела не пересекалась с исходной (рис. 1. 14). Пересечение не вызовет проблем, если функция поднятия реализована так, что при пересечении выполняется объединение добавленной части с исходным телом. Однако изначально функция поднятия разрабатывалась для небольших местных изменений, поэтому ситуация, показанная на рис. 1.14, дает некорректное объемное тело.
Рисунок 1.14 - Самопересечение в результате поднятия