Сплайновые кривые

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 );