#nurbs #bspline #opennurbs
#nurbs #bspline #opennurbs
Вопрос:
У меня есть закрытая строка BSpline 3-го порядка (степени 2), которая имеет следующие параметры
9 контрольных точек 14 узловых точек
почему отношение 9 3 2 = 14?
Ответ №1:
Соотношение между порядком b-сплайна (N), количеством контрольных точек (C) и количеством узлов (K) равно
K = C O — 2
или
K = C O
Выбор зависит от соглашения, используемого для начального и конечного узлов.
Некоторые библиотеки, старая вспомогательная библиотека OpenGL, являющаяся важным примером, хранят дополнительный дубликат начального и конечного значения узла. Эти реализации будут иметь K = C O. Если вы изучите алгоритмы, используемые для оценки b-spilnes, повторяющиеся значения начального и конечного значений узлов не требуются. По этой причине другие библиотеки, opennurbs и Rhino 3d SDK, являющиеся заметными примерами, имеют K = C O -2.
Более подробная информация доступна по адресу http://wiki.mcneel.com/developer/onsuperfluousknot
Комментарии:
1. K = 14, C = 9, O = 3, похоже, что это отличается от того, что вы упомянули. Nurbs поступает с Microstation, и он закрыт. Я думаю, что закрытые nurbs отличаются от открытых nurbs?
Ответ №2:
Ваш B-сплайн может быть B-сплайном perioidc степени 2, который будет иметь две дублированные контрольные точки в конце, которые идентичны первым двум контрольным точкам. В таких случаях при отображении всех 11 контрольных точек будет выглядеть так, как будто их всего 9. Также возможно, что используемое вами программное обеспечение решит не сохранять две идентичные контрольные точки в структуре данных среды выполнения или классе C , и в итоге вы увидите 9 контрольных точек с 14 узлами.