Оценить кручение для дискретной кривой, используя четыре точки

Кривизна дискретной пространственной кривой может быть рассчитана с использованием 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
Другие вопросы по тегам