Leap Motion для обработки функции scaleFactor

Я использую Leap Motion с обработкой, используя библиотеку Leap Motion for Processing. (Leap Motion для библиотеки обработки)

Однако я изо всех сил пытаюсь найти способ использовать scaleFactor, как показано в документации Java Leap Motion. (Документация по Java API)

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

Любая помощь приветствуется!


person Will_P    schedule 29.09.2014    source источник


Ответы (2)


Я быстро просмотрел библиотеку обработки, которую вы используете, и не похоже, что она предоставляет масштабный коэффициент или другие атрибуты движения из класса Leap Motion Frame (где вы могли бы получить масштабный коэффициент для движения двумя руками). ). Это не библиотека, созданная или поддерживаемая Leap Motion. Я подозреваю, что вы можете использовать Java-библиотеку Leap Motion напрямую или добавить эту функцию в используемую вами библиотеку обработки.

Похоже, вы добавите функцию, которую пытаетесь использовать, в LeapMotion.java, но вам следует обсудить это с разработчиком, создавшим библиотеку.

person Charles Ward    schedule 29.09.2014
comment
Вот этого я и опасался! Я не мог найти его нигде в библиотеке, я попытаюсь найти альтернативную библиотеку и сообщить о результатах, так как я подозреваю, что добавление класса Frame (если возможно) займет слишком много времени и выйдет за рамки моих временных рамок для этого проекта. - person Will_P; 30.09.2014

Я нашел решение этого вопроса в виде альтернативной библиотеки. Это означает, что мне придется перекодировать жесты, которые я уже создал, из-за того, что библиотеки работают по-другому, но теперь у меня есть доступ к классу Frame, которого мне не хватало раньше.

Это библиотека, которую я сейчас использую... https://github.com/heuermh/leap-motion-processing

Ниже приведен простой фрагмент кода, который показывает, как работает ScaleFactor...

import com.leapmotion.leap.Controller;
import com.leapmotion.leap.Frame;
import com.leapmotion.leap.processing.LeapMotion;

LeapMotion leapMotion;

float zoomFactor = 0;

void setup()
{
size(16 * 50, 9 * 50);
background(20);
frameRate(30);

leapMotion = new LeapMotion(this);
}

void draw()
{
fill(20);
rect(0, 0, width, height);
fill(200);
rect(0, 0, (zoomFactor * 100), (zoomFactor * 100));
}


 void onFrame(final Controller controller)
{
Frame frame = controller.frame();
Frame sinceFrame = controller.frame(25);
zoomFactor = frame.scaleFactor(sinceFrame);
println(zoomFactor);
}
person Will_P    schedule 30.09.2014