Como en el ejemplo anterior, es necesario agregar la referencia del kinect SDK para poder acceder a las funciones que este nos brinda. El código es el siguiente:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Kinect; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //Indicamos que sensor vamos a usar y lo inicializamos KinectSensor sensor = KinectSensor.KinectSensors[0]; sensor.Start(); while (true) //Ciclo sin fin { //Imprimimos el angulo actual de elevación Console.WriteLine("Angulo actual: " + sensor.ElevationAngle); //Solicitamos uno nuevo Console.Write("Nuevo angulo: "); //Convertimos el numero ingresado por el usuario en entero int angulo = Convert.ToInt32(Console.ReadLine()); // Si el angulo ingresado se encuentra // entre los valores permitidos por el kinect [-27,27] // Cambia el angulo de elevacion del kinect por el que fue // ingresado. Si el angulo no es valido // Muestra un mensaje y no realiza el cambio. if (angulo < sensor.MaxElevationAngle && angulo > sensor.MinElevationAngle) { Console.WriteLine("Cambiando angulo..."); sensor.ElevationAngle = angulo; Console.Clear(); } else { Console.Clear(); Console.WriteLine("Angulo no valido, ingrese uno entre -27 y 27"); } } } } }El resultado es una consola que nos indica el valor de inclinación actual del kinect y nos pide un valor nuevo de inclinación. Por las características físicas del kinect este valor de inclinación solo puede estar entre -27 y 27. Ademas debemos tener presente que el valor de inclinación del kinect se mide con respecto a la tierra gracias a su acelerometro interno y no con respecto a su base.
No hay comentarios:
Publicar un comentario