Уравнение спирали, параметризованной длиной дуги между двумя точками в пространстве - PullRequest
2 голосов
/ 17 февраля 2009

Что такое уравнение спирали , параметризованное длиной дуги (т.е. функция длины дуги) между любыми двумя точками в пространстве? Есть ли какая-нибудь функция для этого? Как мне реализовать то же самое, используя Matlab или Mathematica?

Ответы [ 2 ]

2 голосов
/ 17 февраля 2009

просто чтобы добавить к ответу Митча Уита, спирали не уникальны; для данной оси степенями свободы являются расстояние между витками, радиусом и фазой (P, A и phi ниже)

если обобщить до

w = 2*pi/P
r(t) = (A cos (wt-phi)) i + (A sin (wt-phi)) j + (t) k

тогда один способ проанализировать длину дуги как функцию t (без необходимости явно вычислять интеграл длины дуги) - это понять, что величина скорости постоянна; составляющая скорости, параллельной радиусу, равна 0, составляющая скорости, параллельной оси, равна 1, составляющая скорости, перпендикулярной как радиусу, так и оси, равна Aw, поэтому величина скорости равна скорости = sqrt ( 1 + A 2 w 2 ), => длина волны s = sqrt (1 + A 2 w 2 ) t

Вам понадобится какой-то способ определения оси, P, A и phi в зависимости от того, какие данные вам даны. Недостаточно просто конечных точек и длины дуги.

2 голосов
/ 17 февраля 2009

Чтобы найти параметризацию длины дуги спирали, определяемой

    r(t)  =  cos t i + sin t j + t k

Длина дуги = s = интеграл (a, b) {sqrt ((dx / dt) ^ 2 + (dy / dt) ^ 2 + (dz / dt) ^ 2) dt}

Сначала найдите функцию длины дуги

     s(t) = Integral(0,t) { sqrt((sin u)^2 + (cos u)^2 + 1) du }
          = Integral(0,t) { sqrt(2) du } = sqrt(2) * t

Решение для т дает

    t   =  s / sqrt(2)

Теперь подставьте обратно, чтобы получить

    r(s)  =  cos(s / sqrt(2)) i + sin(s / sqrt(2)) j + (s / sqrt(2)) k

Я оставлю тебе последний бит!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...