Оценить кручение для дискретной кривой, используя четыре точки
Кривизна дискретной пространственной кривой может быть рассчитана с использованием 3 последовательных точек, которые могут быть рассчитаны с использованием кривизны Менгера (см. https://en.wikipedia.org/wiki/Menger_curvature и Рассчитать кривизну для 3 точек (x, y)).
Мой вопрос: существует ли аналогичная явная формула для кручения ( https://en.wikipedia.org/wiki/Torsion_of_a_curve или) с использованием четырех 4 последовательных точек?
Если не явная формула, кто-нибудь знает алгоритм / пакет для его расчета? Я работаю в Python, но все будет делать.
Я могу представить основные шаги. Два последовательных вектора определяют плоскость, и, таким образом, 3 последовательных вектора определяют две плоскости. Изменение угла между плоскостями нормали пропорционально кручению. Но мне нужна точная формула с расчетным кручением, имеющим правильный размер 1/ длина ^2.
1 ответ
Имея некоторую параметризацию кривой r(t)
(например, по длине цепочки полилиний) вы можете рассчитать три производных, используя 4 точки: r', r'', r'''
,
Тогда кручение это:
v = r' x r'' //(vector product)
torsion = (r''' .dot. v) / (v.dot.v) //.dot. is scalar product