Render.ru

Математическая модель кривой vs параметры кривой в blender

layrelin

Пользователь сайта
Рейтинг
2
#1
Доброго времени суток!

У меня немного нестандартная задача. Она не о том, как что-то сделать в Blender и/или почему это что-то не работает. Сверх задача - передать программистам на реализацию описание кривой, сделанной в Blender. Для этого необходимо сопоставить параметры кривой в Blender с математическим описанием кривой. Т.е. понять какие формулы стоят за каждым типом кривой. Н-р, ясно, что когда я меняю Order в поле Active Spline (Object Data) меняется порядок сплайна. Но какие еще параметры в Object Data являются ключевыми? Меняются ли формулы, если я меняю тип интерполяции (Tilt/Radius)? Какие алгоритмы использует Blender для избегания петель при построении кривых с использованием сплайнов?

Буду признательна как за любые ссылки по теме, так и за прямые ответы. Прошу прощения, если этот вопрос поднимался где-то раньше - так же с удовольствием почитаю предыдущие обсуждения.
 

nemyax

Активный участник
Рейтинг
16
#2
Покажи программистам исходники блендера, они разберутся =)
 

layrelin

Пользователь сайта
Рейтинг
2
#3
Это один из вариантов решения задачи, но самый крайний) Хотелось бы разобраться самой)
 

logosman

Модератор форума
Команда форума
Рейтинг
316
#4
В Blender для описания кривых используются Bezier Curves (википедия) и Non-Uniform Rational B-Splines (NURBS) (Nurbs). Параметры интерполяции Tilt/Radius не влияют на построение кривых, это типы интерполяции значений Tilt/Radius указанных в каждой точке кривой. Эти параметры используются в Extrude/Bevel операциях, также могут быть использованы сторонними модулями.
Насколько помню по исходникам, Blender строит кривые Bezier 4 порядка.

Небольшое разъяснение параметров кривых в документации Blender 2.4
 

Зак_Рено

Активный участник
Рейтинг
9
#5
Есть в блендере такое окошко, в котором выводятся все программные команды всех действий в блендере. Покажите это программистам, возможно они смогут найти исходники этих команд и извлекут формулу. Может это поможет o_O
 

Вложения

Тарас Атавин (taras-proger)

Активный участник
Рейтинг
7
#6
Кривые не специфичны для блендера. Тот же сплайн Безье вообще был открыт задолго до компов. x=x0*t^3+x1*t^2*(1-t)+x2*t*(1-t)^2+x3*(1-t)^3, y=y0*t^3+y1*t^2*(1-t)+y2*t*(1-t)^2+y3*(1-t)^3, z=z0*t^3+z1*t^2*(1-t)+z2*t*(1-t)^2+z3*(1-t)^3. Берёте координаты точек сплайна, подставляете и уравнение готово.
 
Сверху