Настройка фреймов Leap Motion для frame.translation - PullRequest
0 голосов
/ 08 марта 2019

Я очень начинающий программист, и я столкнулся со сторонним проектом, над которым я работаю. Я пытаюсь настроить цикл для многократного получения массива перевода от движения через скачкообразное движение. Я нашел в документации по прыжковому движению этот код для Python:

linear_frame_movement = frame.translation(start_frame)

, который по определению звучит как то, что мне нужно, но когда я пытаюсь использовать эту команду в очень простом коде, я не совсем понимаю, как определить начальный или ссылочный кадр. ниже приведен фрагмент кода, который я пытаюсь получить для перевода frame.translation:

position = hand.palm_position
L = frame.translation(position, start_frame)
y = position
print "position: %s" % (L)
print "position1: %s" % (position)

Возвращает сообщение об ошибке типа «L = frame.translation (position, start_frame), более двух аргументов в списке».

Означает ли это, что только начальный кадр должен быть инициализирован, тогда команда будет определять массивы преобразования самостоятельно или эти 2 аргумента должны быть определены совершенно другим способом?

Мой фон программирования написан на языке matlab, так что python для меня немного чужд. Приношу свои извинения, если это очень прямой вопрос, который я просто пропускаю. Любой вклад будет принята с благодарностью.

1 Ответ

1 голос
/ 03 апреля 2019

считывая из документации , метод перевода требует только одного ввода, которое является исходным кадром, из которого будет ссылаться перевод (следовательно, имя переменной start_frame). Это будет действительный кадр, полученный до текущего кадра.

вам не нужно ссылаться на текущий кадр, так как метод перевода находится внутри текущего объекта кадра - frame.translation ().

возвращаемое значение равно 0, если текущий кадр или начальный_кадр недействительны (это проверяется с помощью атрибута frame.is_valid, который возвращает логическое значение).

В противном случае возвращается вектор класс. Класс векторов даст переводы объектов в направлении x и y (которые могут быть получены с использованием атрибутов vector.x и vector.y) со ссылкой на текущий кадр. Следовательно, предыдущая позиция объектов может быть определена путем перевода текущей позиции объектов с использованием вектора возврата.

Это можно просто сделать, убрав значения x и y вектора переноса из текущих значений положения x и y объектов. Это можно сделать и в обратном порядке. Я не проверял это, поэтому я не уверен, что это правильный метод.

Надеюсь, это поможет!

...