Оценить кручение для дискретной кривой, используя четыре точки - PullRequest
0 голосов
/ 06 сентября 2018

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

0 голосов
/ 06 сентября 2018

Имея некоторую параметризацию кривой r(t) (например, по длине цепочки полилиний), вы можете вычислить три производные, используя 4 точки: r', r'', r'''.

Тогда кручение:

 v = r' x r''     //(vector product) 
 torsion = (r''' .dot. v) / (v.dot.v)  //.dot. is scalar product
...