Students works Графика Enigma All tutors Gallery Blog Downloads Home


Кривые и поверхности
Curves and Surfaces

Кривые и поверхности имеют отличие от Редактируемой сети (Mesh) в том, что они представлены математическими формулами, а не набором точек.

Blender поддерживает кривые и поверхности типа Bezier и NURBS (Non Uniform Rational B-Splines). И те и другие, следуя разным математическим законам, определяют Управляющие точки (control vertices), которые, в свою очередь, определяют Управляющие полигоны (control polygon). Путь кривой и поверхности интерполируется (Bezier) или "притягивается" (NURBS), как может показаться на первый взгляд, к поверхности Catmull-Clark.

По отношению к Mesh кривые и поверхности имеют преимущества и недостатки. Для их определения нужно менше данных, чем для Mesh, соответсвенно и меньше памяти, но возрастают требования во время визуализации (rendering).

С кривыми невозможны точные настройки на уровне Vertex, как это возможно с Mesh.

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

Кривые

В этом разделе описываются кривые Безье и NURBS.

Безье

Безье - наиболее часто используемый тип линий для создания логотипов. Они также широко применяются для укзания пути объектов в анимации и определения изменения свойств объектов во времени.

Контрольные точки (vertex) кривой Безье состоят из самой точки и двух ручек (handles) иногда их называют рычагами Безье. Точка в центре позволяет перемещать контрольную точку целиком, перемещение же ручек позволяют менять кривизну линии.

Кривая Безье является касательной к линии ручки. Крутизна изгиба кривой зависит от длины ручек.

Есть четыре типа ручек:

- свободная - Free (черный цвет). Возможность задавать любые изгибы. HKEY переключает между Free и Aligned;

- выровненная - Aligned (пурпурная). Всегда лежат на одной линии. HKEY;

- вектор - Vector (зеленая). Указывают на предшествующую и следующую ручки. VKEY;

- авто - Auto (желтая). Имеют установленные автоматически длину и направление для достижения самого гладкого результата . SHIFT-H.



Ручки могут быть перемещены, повернуты и масштабированы.

Перемещение некоторых ручек приводит к смене типа:

- Auto становится Aligned;

- Vector становится Free.

Хотя кривая Безье является непрерывным математическим обьектом, она имеет дискретное представение.

Степень дискретности определяется параметром разрешение (DefResolU), который задает количество сегментов между двумя контрольными точками (по умолчанию 6).



NURBS

NURBS кривые определены как рациональные полиномы, они имеют больший набор переменных, чем кривые Безье. Настройки NURBS кривой показаны на следующем рисунке:



Немного терминологии:

- Узлы - Knots. Nurbs кривые имеют вектор узла, это строка чисел, которые параметрически определяют кривую.
Возможны две типовые установки:
Uniform - однородное деление закрытых кривых.
Endpoint - настройка узлов на концах открытой кривой.

- Порядок - Order. Порядок кривой определяет глубину вычисления кривой. 1 - это точка, 2 - это линия, 3 - квадратичное уравнение, и так далее. Для кривых, используемых в качестве пути анимации лучше всего использовать порядок 5.

- Вес - Weight. Nurbs кривая имеет вес на вершину. Это расстояние, на котором вершина воздействует на изгибание кривой.

На рисунке показаны установки типов узлов и воздействие смены веса одного узла.




Поверхности

В действительности, поверхности являются расширением NURBS кривых. В Блендере они являются отдельным типом данных.

Кривая имеет одно измерение U. Поверхность имеет два измерения - U и V. Двумерная сетка управляющих точек определяет форму NURBS поверхности.

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

Создать какую-либо поверхность можно нажав пробел при положении мышки на рабочем поле:
Space>Add>Surface>...



Отметим, что к NURBS поверхностям относятся и NURBS Curve (Кривая) и NURBS Circle (Круг), так как NURBS Кривая - это поверхность с одним вырожденным измерением.

Примечание. Истинная NURBS Curve и NURBS 'surface' Curve не взаимозаменяемы. Это проявляется в их разном поведении в процессе extruding и skinning (о чем в следующих разделах).

Если создана 'surface' Curve, можно из нее получить поверхность при помощи Extrude (EKEY), примененного к этой кривой. Затем Extrude можно применять к каждому краю полученной поверхности для получения сложных моделей. Можно использовать CKEY для замыкания по кругу поверхностей в направлениях U и V. При этом следует помнить об установлении узлам (Knots) свойств Uniform или Endpoint на панели EditButtons Curve Tools в зависимости от их положения.

При работе с поверхностями удобно манипулировать сразу целиком (Column) колонкой или строкой (Row) вершин (Vertex). Blender позволяет это делать при помощи SHIFT-R (Select Row). Начиная с последней выбранной вершины можно выбрать полную строку вершин в направлении U или V.

При помощи NURBS можно создавать чистые примитивы - сферы, цилиндры. NURBS сфера с весами контрольных точек показана на следующем рисунке.



Чаще всего веса контрольных точек принимают значения: 1, 0.25, или квдратный корень из 2 или 0.5. Эти типовые веса имеют предустановки в виде кнопок на панели EditButtons Curve Tools.



Примечание. Чтобы узнать вес выбранной вершины, надо нажать NKEY (клавиша N).


Home

*Имя:
E-mail:
*Текст:
*Сложите 73883 и 81,
результат введите в это поле: