Экспорт BSpline/NURBS управляющего многоугольника и векторов узлов из Blender
Имеется файл Blender с одной поверхностью BSpline/NURBS (например, Add -> Surface -> NURBS Sphere
), Я заинтересован в экспорте его управляющего многоугольника (трехмерные точки, которые его определяют) и его вектора узлов.
Точный формат менее важен, если это текст. (Я пытался экспортировать в OBJ
, но получил триангулированное приближение к сфере вместо коэффициентов и точек.)
Любая помощь / советы будет принята с благодарностью.
1 ответ
Если опция «Конечная точка» не отмечена, вектор узла представляет собой линейную интерполяцию между нулем и единицей. Например, кривая из 7 точек со степенью 3 имеет узловой вектор
[0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.8, 1.0]
.
Если отмечена опция «Конечная точка», то вектор узла начинается со значений 0,0, заканчивается
D+1
значения 1,0, а остальные значения линейно интерполированы между нулем и единицей, где степень кривой. Например, кривая из 7 точек со степенью 3 имеет узловой вектор
[0.0, 0.0, 0.0, 0.0, 0.4, 0.5, 0.6, 1.0, 1.0, 1.0, 1.0]
Если установлен флажок «Круговой», Blender действует так, как будто первые точки добавляются к концу кривой, где
D
- это степень кривой, а параметр «Конечная точка» не действует.
Обнаружил это, экспортировав кривые в Wavefront OBJ с включенной опцией «Кривые как NURBS». Вектор узла представлен как
param u
директива.