Home arrow Orientação do marcador

Login Form






Lost Password?

Random Image

 Apr   May 2013   Jun
SMTWTFS
   1  2  3  4
  5  6  7  8  91011
12131415161718
19202122232425
262728293031 
VLSI Resources

Syndicate

Who's Online

Orientação do marcador PDF Print E-mail

                A idéia deste experimento é utilizar informações sobre a orientação dos marcadores para ativar um determinado evento na interface do usuário (ambiente misturado). Esta técnica consiste em monitorar os marcadores visíveis na tela de vídeo e verificar suas respectivas orientações no ambiente. É possível definir previamente diversas orientações e para cada uma, especificar um comando concernente.

                Por exemplo, é possível definir que quando o usuário vire um marcador em um determinado eixo (X, Y ou Z) seja executada uma ação específica.

                Veja um exemplo para atualizar o objeto virtual de acordo com a orientação do marcador:

/* Versão utilizada: ARToolKit2.65vrml

infoDir  = marker_info[0].dir //Verifica a direção do marcador

*/

 

static void objOrientacao(int infoDir, int objVisivel)

{

 

    if((infoDir==1)&&(objVisivel==1))//direcao direita (marker aponta para direita)

                {

                  object[0].vrml_id++;

                }

                }else if((infoDir==2)&&(objVisivel==1))//direcao esquerda (marker aponta para esquerda)

                {

                   object[0].vrml_id--;

                }

}

 

 

Pode-se também encontrar as inclinações do marcador a partir do seguinte trecho de código:

[…]

double roll,pitch,yaw; /*Veja os eixos na Figura 1 */

 

pitch=atan2(-patt_trans[2][0],sqrt(patt_trans[0][0]*patt_trans[0][0]+patt_trans[1][0]*patt_trans[1][0]));

if (cos(pitch)==0) {

                yaw=0;

                roll=atan2(patt_trans[0][1],patt_trans[1][1])*180/3.14;

}

else {

                yaw=atan2(patt_trans[1][0]/cos(pitch),patt_trans[0][0]/cos(pitch)) * 180/3.14;

                roll=atan2(patt_trans[2][1]/cos(pitch),patt_trans[2][2]/cos(pitch)) * 180/3.14;

}

pitch=pitch*180/3.14;

[…]

 

 

Figura 1 - Eixos do objeto.

 

 
< Prev   Next >