Paso 4: Estructura y datos de gesto
Saltar datos del marco de movimiento que incluye los gestos (círculo, pellizcar, Palma cara abajo y otros gestos)
Movimiento de salto tiene dos cámara de infrarrojos y tres IR dirigido. Las formas de movimiento de salto una colección 3D de datos usando los tres IR Led que puso hacia fuera un patrón de punto de IR, IR cámara toma imágenes conocidos como marcos. Los marcos se envían desde el dispositivo de movimiento de salto al ordenador y podemos programarlo.
El salto análisis de movimiento con las imágenes y el posicionamiento del punto usando matemáticas complejas y luego comparar los datos de las dos imágenes tomadas por la cámara de infrarrojos y el uso la representación 2D dos para obtener una representación 3D.
El dispositivo de movimiento de salto captura 300 fps. Luego programamos lo que sucede a cada uno de los cuadros enviados a nuestro equipo.
Código:
! wasInTabState) {/ * if(palmN.getZ() < =-.7 & & * rightHand.grabStrength() <. 1) {* System.out.println ("velocidad vertical de la palma:" + * rightHand.palmVelocity().getY()); Float resultVerticalV = * Math.round(Math.abs(rightHand.palmVelocity().getY()) - 1); * //if (resultVerticalV > 0) {robot.mouseWheel((int) * Math.round(((rightHand.palmVelocity().getY()) / 500))); / /} *} else {* / < /p >< p > Si (! isMoving & &! wasInTabState & & frame.gestures().count() > 0 & & frame.hands().count() == 1 & &! isResizing) {CircleGesture circleGesture = CircleGesture nuevo (marco.gestures().get(0)); / / System.out.println ("pizca fuerza:" + / / rightHand.pinchStrength()); Si (circleGesture.durationSeconds() > 5 & &! justCircleGestured & & rightHand.pinchStrength() >.8) {System.out.println ("cerrado una ventana!"); robot.keyPress(KeyEvent.VK_ALT); robot.keyPress(KeyEvent.VK_F4); robot.keyRelease(KeyEvent.VK_F4); robot.keyRelease(KeyEvent.VK_ALT); justCircleGestured = true;}} Else {justCircleGestured = false;} < /p >< p > flotador xSpeed = (palmV.getX() / 6); flotador ySpeed = (palmV.getY() / 6); System.out.println ("xSpeed:" + xSpeed + ", ySpeed:" + ySpeed); robot.mouseMove((int) (currentMouseX + xSpeed), (int) (currentMouseY - ySpeed)) < /p >< p > / /}}}} < /p >