в моем текущем проекте я реализовал кривые NURBS, и в начале кривой у меня есть несколько трехмерных точек, которые все расположены в нормальной плоскости точки (u = 0,0). Теперь я хочу скопировать эти точки в другие места кривой (например, u = 0,5), чтобы создать какой-то механизм вытягивания/развертки. Мой теоретический подход заключается в создании локальной системы координат в точке 0.0 и вычислении координат каждой точки по отношению к этой системе. Затем я могу создать локальные системы координат в нужных точках и разместить точки там. Моя проблема в том, что с первым выводом кривой NURBS я могу получить касательную и, следовательно, нормальную плоскость точки/системы (локальное направление X), но я не знаю, как ориентировать систему. Моя первая идея заключалась в том, чтобы взять вторую производную кривой NURBS и использовать ее для вычисления локальных осей Y и Z системы, но результаты вторых производных не подходят для этого подхода.
Есть ли общий подход к решению этой проблемы?
В качестве дополнительного вопроса мне интересно, как продиктовать касательный вектор данной контрольной точки, например касательную первой контрольной точки. В настоящее время я решаю эту проблему, диктуя положение второй контрольной точки, что кажется не очень элегантным.