Controlando o PowerPoint com Kinect


Assista em: http://www.youtube.com/watch?v=5qHJ–oe8kw

Resolvi fazer uma pequena modificação em um projeto de controle de PowerPoint através do Kinect.

O projeto original pode ser encontrado no codeplex e é de autoria de Joshua Blake http://kinectpowerpoint.codeplex.com

Vocês podem ver mais detalhes da implementação neste post http://channel9.msdn.com/coding4fun/kinect/NUI-for-PowerPoint

As minhas alterações fazem com que seja possível movimentar o PowerPoint não apenas afastando os seus braços do corpo, mas sim através de um movimento que expressa mais naturalmente a intenção do usuário de deslizar a página atual.

Abaixo o meu algoritmo super simples:

private bool isTrackingRightHand = false;
private bool isTrackingLeftHand = false;

private void ProcessForwardBackGestureEx(Joint head, Joint rightHand, Joint leftHand)
{

    if (isTrackingRightHand && rightHand.Position.X < head.Position.X - 0.10)
    {
        System.Windows.Forms.SendKeys.SendWait("{Right}");
        isTrackingRightHand = false;
    }

    if (!isTrackingRightHand && rightHand.Position.X > head.Position.X + 0.50)
    {
        isTrackingRightHand = true;
    }

    isForwardGestureActive = isTrackingRightHand;

    if (isTrackingLeftHand && leftHand.Position.X > head.Position.X + 0.10)
    {
        System.Windows.Forms.SendKeys.SendWait("{Left}");
        isTrackingLeftHand = false;
    }

    if (!isTrackingLeftHand && leftHand.Position.X < head.Position.X - 0.50)
    {
        isTrackingLeftHand = true;
    }

    isBackGestureActive = isTrackingLeftHand;

            
}

O que este trecho de código faz é começar a identificar um movimento quando o usuário afasta a sua mão 50cm da linha da cabeça.
Se o usuário continuar o movimento até que sua mão cruze a linha da cabeça em 10cm ele dispara o evento de avançar (para a mão direita) e de voltar (para a mão esquerda) a apresentação.

Procurei respeitar todo o funcionamento do programa, a única modificação necessária é adicionar este método, declarar as variáveis e substituir a chamada do método ProcessForwardBackGesture por ProcessForwardBackGestureEx

Simples não? Vejam o video para sentir o efeito!

Divirtame-se!

Anúncios

10 comentários on “Controlando o PowerPoint com Kinect”

  1. É de facto algo inovador

  2. andrehbuss diz:

    Muito bom parabéns.

  3. Marcio diz:

    kd o Kinect???

  4. Flavio diz:

    Você poderia escrever um artigo sobre como prepara o ambiente com o sdk e etc..
    uma dúvida que eu tenho é, liga o kinect no computador por usb? o conector é diferente..

    • Boa sugestão Flavio! Vou elaborar um guia para preparar o ambiente.
      De qualquer forma, você precisa de um adaptador sim. Este adaptador vem no Kinect que você compra separado ou então você pode comprar só o adaptador.
      O adaptador tem a conversão para a USB e uma tomada para auxiliar na alimentação do Kinect quando ele é ligado no PC

      • Flavio diz:

        Ah tá, entendi, é que comprei o xbox com o kinect esse ano, ai não precisa de adaptador.. 😀

        Abraços..

  5. […] Controlando o PowerPoint com Kinect […]


Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s