Библиотека Spline, B-Spline и NURBS C++

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
14
0
23 909
8
Перейти к ответу Данный вопрос помечен как решенный

Ответы 8

Ответ принят как подходящий

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

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

-ОБЪЯВЛЕНИЕ

Цифровые рецепты в коде C раньше подпадали под довольно драконовскую лицензию. Не уверен, что это все еще так, но имейте в виду, что использование его в проектах с открытым исходным кодом может быть незаконным (хотя я не эксперт в этом)

Kyle Simek 18.01.2012 23:05

В числовых рецептах нет ничего на B-сплайнах.

Jeff 01.06.2014 00:00

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

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

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

Спасибо чувак! Если бы я еще не отметил ответ, OpenNurbs, вероятно, заслужил бы его.

CVertex 10.07.2009 07:02

Понял. Просто надеялся дать более полные ответы. :)

Naaff 10.07.2009 18:33

Я думаю, что openNURBS заботится только о сохранении / открытии из формата .3dm; на самом деле он не выполняет геометрических операций. Для этого, как указано в ссылке, необходим Rhino SDK, который является проприетарной технологией.

insys 06.01.2014 13:38

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

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

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

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

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

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

vspline - это бесплатная библиотека B-сплайнов с открытым исходным кодом. Он всеобъемлющий и быстрый, с дополнительным кодом для эффективной обработки растровых данных nD, таких как изображения и объемы. Это метакод шаблона C++ только для заголовков в стандарте C++ 11 с несколькими внешними зависимостями. Существует также одноименный пакет debian.

Другие вопросы по теме