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