Знакомство с SubD (Моделирование поверхностей с иерархическим разбиением) в Rhino 7


11 марта 2020


Традиционно объекты SubD основаны на сетках и хорошо подходят для произвольного моделирования, таких как моделирование персонажей и создание гладких органических форм, которые моделируются весьма приближенно.
В то же время объекты Rhino SubD представляют собой поверхности высокой точности на основе сплайнов и вносят достаточно высокий уровень детализации в процесс создания сложных свободных форм. В то время как традиционное редактирование SubD позволяет «выдавить-вытянуть» ребра, грани и вершины команды построения поверхностей Loft, Revolve, Sweep 1 и 2 и Extrude, выдают SubD непосредственно на выходе.

Кривая по контрольным точкам и интерполированная кривая имеют опции «SubD Friendly», которые позволяют создавать точные поверхности SubD из схемы кривой аналогичным способом. Данный метод можно использовать для моделирования NURBS с преимуществом присущей им гладкости поверхностей SubD.

Что такое SubD?

Поверхности SubD или SubDivision — это новый тип объекта внутри Rhino. Возвращаясь к версии 6, мы имеем NURBS – объекты и сетки. Проще говоря, NURBS поверхности можно рассматривать как непрерывное описание криволинейного объема. В зависимости от степени и расположения контрольной точки, кривые и поверхности NURBS могут сохранять постоянные радиусы или могут использоваться для описания кривизны гладких поверхностей.

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

Возможно, Вы знакомы с такими плагинами, как T-Splines и Clayoo. С их помощью SubD появился в Rhino, но, главное, они были основаны на сетке. Таким образом, лежащая в основе геометрия была сеткой, которая сглажена для аппроксимации кривизны непрерывной поверхности или поли-поверхности.

Новые объекты SubD в Rhino основаны на сплайнах. Таким образом, как и в случае с объектами Rhino NURBS, они обеспечивают непрерывное описание криволинейной геометрии. Это означает, что геометрия SubD может быть точно создана в Rhino, и это преодолевает одну из основных критических замечаний к SubD на основе сетки – низкую точность.

Новые SubD-объекты Rhino могут быть созданы различными способами. Команды создания поверхности, такие как Loft, Revolve, Sweep1, Sweep2 и Extrude, имеют опцию создания SubD. Команды построения кривых имеют опции, поддерживающие SubD, и, конечно, есть ряд SubD-примитивов. Существуют также инструменты преобразования сетки в объекты SubD. Также, объекты SubD Rhino могут без потерь быть преобразованы в объекты NURBS.

Сравнение SubD Rhino геометрии с NURBS

Давайте сравним как открытую, так и закрытую поверхность NURBS с открытой и закрытой поверхностью SubD.

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

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

Хотя поверхности SubD гладкие, можно добавить к ним складки. Для этого нужно выбрать подобъект и дважды щелкнуть, чтобы выбрать границу ребра, а затем добавить складку. Складки можно удалить с помощью команды удаления складок.

Возможно, самое большое различие между NURBS и SubD заключается в добавлении локального элемента управления поверхностью. Если подойти к этому вопросу с точки зрения NURBS поверхности, для добавления некоторого локального элемента управления в эту область необходимо добавить строки и столбцы контрольных точек. Если вставить узлы в направлении U и V, получаем более плотную область контрольных точек. Контрольные точки необходимо добавить по всей области поверхности, от края к краю в направлении U или V. Данный способ позволяет добавлять локальные детали на поверхность.

Если мы посмотрим на SubD, то задача упрощается. После выбора грани при помощи команды SubDivide можно разбить грань на дополнительные участки по мере продвижения. Полученные объекты можно перемещать, и локально видоизменять.

Основное различие между тем, как работают NURBS и SubD, заключается в том, что в NURBS у вас есть концепция, состоящая из одной поверхности или поли-поверхности, которая состоит из нескольких поверхностей, соединенных вместе частью или всем совпадающим ребром. , Таким образом, можно взять несколько поверхностей, которые имеют совпадающие ребра, и соединить их в сплошную замкнутую поли-поверхность.

Для SubD не существует понятия поли-поверхности, и поэтому, чтобы воспроизвести подобную форму в SubD, необходимо получить единственную поверхность SubD со складками на краях.

Однако, существует решение, которое позволяет нам преобразовать поли-поверхность NURBS в SubD при условии, что каждая из отдельных составляющих поверхностей поли-поверхности должна быть необрезанной поверхностью.

Зачем использовать объекты SubD в Rhino?

Моделирование поверхности SubDivision действительно полезно в ситуациях, когда моделирование в NURBS сложно или проблематично. Простым примером этого является Y-разветвление. Ее довольно легко моделировать в NURBS, но не в случае, когда ветви отличаются по диаметру или расположением. Есть ряд методов, которые мы можем использовать в NURBS. Однако явным недостатком большинства из них является затратность по времени при изменении формы и повторяющихся операциях. При этом приходится заниматься не только управлением формой, но и контролировать непрерывность пересечения различных поверхностей

Моделирование поверхности SubDivision дает нам более легкую альтернативу. Рассмотрим пример разветвления, состоящей из трех трубок. В NURBS используем команду SplitEdge, затем BlendSurf, чтобы создать переходы на стороне формы Y. В SubD можно использовать команду Bridge для аналогичного эффекта.

В команде Bridge можно просто выбрать отдельные сегменты ребер, не разбивая их. Отрегулировать форму можно и позднее.

Итак, вся идея поверхности SubD заключается в том, что она гладкая. Так что это в некотором роде аналогична степени 3. Если мы не укажем складки. Остается только обращать внимание на форму объектов, а на их плавность.

Мы можем использовать SubD для создания быстрых итераций проектирования в качестве альтернативы получения конечного результата в виде NURBS-поверхности.