Сплайновые кривые
C3D Solver использует NURBS-кривые в качестве математической основы сплайновых кривых. NURBS-представление стало фактически промышленным стандартом для представления кривых свободной формы и поддерживается практически всеми САПР. Общепризнанным каноническим трудом на данную тему является книга The NURBS Book авторов Les Piegl и Wayne Tiller (издательство Springer).
C3D Solver предоставляет два способа определения сплайна:
сплайн по набору характеристических точек, заданных значениями их координат;
сплайн, проходящий через набор интерполяционных точек, заданных дескрипторами, ранее зарегистрированных геометрических объектов.
Сплайн на основе NURBS-кривой создается с помощью метода
geom_item GCE_AddSpline(GCE_system gSys, GCE_spline spl).
Функция принимает структуру данных GCE_spline, которая содержит в себе информацию, определяющую сплайн: начальные значения контрольных точек, массив интерполяционных точек (при необходимости), веса , признак замкнутости и т.д.
Специальное ограничение, фиксирующее вектор производной сплайна, создается методом
constraint_item GCE_FixSplineDerivative(GCE_system gSys,
geom_item spline,
double par,
uint derOrder,
GCE_vec2d * fixVal = NULL );