Spline, B-Spline и NURBS С++

Кто-нибудь знает библиотеку или набор классов для сплайнов - в частности, b-сплайны и NURBS (необязательно).

Быстрая, эффективная библиотека b-сплайнов была бы настолько полезна для меня в данный момент.

7 ответов

1.) Для B Splines - вы должны проверить числовые рецепты на C (для этого есть книга, и она также доступна онлайн для справки)

2.) Также проверьте: sourceforge.net/projects/einspline/и this

-AD


Я знаю, что я отвечаю через несколько месяцев после того, как этот вопрос был задан, но для других, которые могут искать аналогичный ответ, я укажу openNURBS.

OpenNURBS также является библиотекой, используемой в пакете моделирования Rhinoceros. Это очень полная библиотека и заслуживает внимания.


Эта библиотека также может быть многообещающей: http://libnurbs.sourceforge.net


Eigen Spline основан на известной (быстрой) библиотеке шаблонов С++ для линейной алгебры.


Отличная библиотека, которая также дополнена онлайн-книгой, относится к MIT. Вот (гипер) книга http://web.mit.edu/hyperbook/Patrikalakis-Maekawa-Cho/mathe.html

а в нижней части ссылки вы найдете соответствующее программное обеспечение, здесь: http://web.mit.edu/hyperbook/Patrikalakis-Maekawa-Cho/software.html

GSL имеет хорошую базовую реализацию b-сплайна, но в ней нет кривых NURBS ни алгоритмов для вставки/удаления узлов, ни нескольких более сложных вещей. Вы также можете найти множество полезных алгоритмов, которые вы можете скомпилировать на своем родном языке в книге "Книга NURBS", Piegl и Tiller: http://www.amazon.com/NURBS-Book-Monographs-Visual-Communication/dp/3540615458

В числовых рецептах не включена поддержка b-сплайнов.


SISL кажется хорошей библиотекой NURBS (под лицензией AGPL). Это часть GoTools, которая может быть клонирована здесь.

licensed under cc by-sa 3.0 with attribution.