Разумно ли иметь следующее в строке BSpline?

#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 узлами.