Интерполяция кривой вручную

Last Updated on 02/03/2016

Напомню что для моделирования splines используются в основном Bezier handles. Когда из splines с помощью Surface, Loft, Extrude, Bevel, CrossSection etc. создается mesh object, bezier spline автоматически разбивается на большее количество прямых отрезков. Поскольку только из прямых линий можно создать mesh. Это и есть автоматическая интерполяция. Количество прямых отрезков зависит от установленного параметра Steps в rollout “Interpolation”. Если параметр равен 6 это значит, что каждый существующий сегмент будет разбит на 6 прямых отрезков независимо от его длины и степени изогнутости.

Представим Bezier spline состоящий из двух отрезков. Для одного отрезка нам подходит параметр steps равный 6 а для другого 12. Но мы не можем установить steps для одного из отрезков он устанавливается для них обоих. Итак, 6 или 12. В одном случае один из отрезков будет угловатый в другом случае один из отрезков будет более детализирован чем нам надо.

 

 

 

  1. Add Edit Spline modifier
    Добавьте Editable Spline modifier.
  2. Select spline segment
    Выделите editable spline segment
  3. divide spline steps 6
    Установите Divide = 1 затем нажмите Divide.
  4. Spline interpolation 6
    Установите steps = 6

Результат:

В результате при шаге интерполяции Steps=6 короткий сегмент разбит на 6 прямых отрезков а более длинный на 12.
Используя эту технику можно с помощью Divide или Refine разбить один отрезок на 12 частей а другой на 6 при этом steps = 0. Это и будет «Интерполяция кривой вручную».


Итог:

Главное преимущество этой техники в том что контролируете количество прямых отрезков при разбиение сегментов и можете выбрать их оптимальное количество что не дает автоматическая interpolation.
Недостаток в том что вы теряете interactive контроль над Bezier spline. То есть если вы измените Bezier handle Вам придется удалить Editable Spline modifier в котором вы использовали Divide и повторить все заново.


Примеры:

Несколько примеров где использовался этот прием:

Comment ( 1 )

Добавить комментарий