Эффективный способ вычисления совпадения пространства и времени - PullRequest
1 голос
/ 21 ноября 2011

Учитывая 3-мерную полилинию P = {(x1, y1, t1), ..., (xn, yn, tn)} и другую полилинию Q = {(x1, y1, t1), ..., (xm, ym, tm)} (m необязательно равно n, поэтому полилинии могут иметь различную длину), совпадение в пространстве и времени происходит, когда траектории движущихся объектов P и Q,иметь определенное время и общее расположение (точка A, как видно из примера, является точкой совпадения, причина (xa, ya, ta)==(xb, yb, tb) очевидно, точка совпадения может быть точкой за пределами исходных наборов точек) coincidence in space and time Концепция довольно проста, и визуальная перспектива легкоопределить, где происходит колокейшн.Самым сложным является то, как реализовать алгоритм, который эффективно вычисляет совпадения и возвращает вычисленные значения (помните: точка может находиться за пределами заданных наборов точек) x, y координаты и время t того, где происходит колокейшн !!Этот алгоритм будет разработан в Matlab, поэтому у меня есть все необходимое для быстрой работы.

С уважением

1 Ответ

1 голос
/ 21 ноября 2011

при условии, что x, y, z являются функциями от t для всех сегментов каждой ломаной линии, здесь начинается перебор. в 4-х измерениях: P имеет сегменты p1 from (x_start(t), y_start(t), z_start(t), t) to (x_end(t), y_end(t), z_end(t), t), а также Q

for each segment p of P
    for each segment q of Q
        if p intersects q (in 4 dimensions)
            output intersection point

условие пересечения: существует alpha и beta в [0,1], где alpha * px_start(t) + (1 - alpha) * (px_end(t) - px_start(t)) = beta * qx_start(t) + (1 - beta) * (qx_end(t) - qx_start(t)) и еще 2 аналогичных условия для y и z

Разрешимость условия пересечения зависит от того, какие функции x (t), y (t), z (t) - линейны? Полиномы? и т.д.

...