Ferramentas para apoio
| Gerador de marcadores |
| Gerador automático de RA |
| FLARToolKit |
Ezequiel
| Ensino |
| Publicações |
| Contato |
Login Form
Who's Online
| Orientação do marcador |
|
|
|
|
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 > |
|---|
Orientação do marcador 








