У меня N точек в 3-мерном пространстве. Мне нужно присоединиться к ним, используя линию. Однако, если я сделаю это с помощью простой линии, она не будет гладкой и выглядит некрасиво.
Мой текущий подход состоит в том, чтобы использовать кривую Безье, используя алгоритм ДеКастеляу для 4 точек, и запустить его для каждой группы из 4 точек в моем наборе данных. Однако проблема заключается в том, что, поскольку я запускаю его, скажем, по пунктам 1-4, 5-8, 9-12 и т. Д., Отдельно, линия не является гладкой между 4-5, 8-9 и т. Д.
Я также искал другие подходы; в частности, я обнаружил эту статью о сплайнах Кэтмулла-Рома, которые кажутся даже более подходящими для моей цели, потому что кривая проходит через все контрольные точки, в отличие от кривой Безье. Так что я почти начал это реализовывать, но потом увидел на этом сайте, что формула работает "assuming uniform spacing of control points"
. Это не относится к моей проблеме.
Итак, мой вопрос: какой подход я должен использовать - Безье, Катмул-Ром или что-то совершенно другое? Если Безье, то как исправить негладкость между 4-5, 8-9 и т. Д.? Если Catmull-Rom, почему формула не сработает, если точки распределены неравномерно, и что мне нужно вместо этого?
РЕДАКТИРОВАТЬ: Теперь я почти уверен, что хочу сплайн Catmull-Rom, так как он проходит каждую контрольную точку, что является преимуществом для моего приложения. Поэтому основной вопрос, на который я хотел бы ответить, заключается в том, почему формула на предоставленной мной ссылке не работает для неравномерно расположенных контрольных точек?
Спасибо.