O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Curso basAR e Funções

47 visualizações

Publicada em

Tutorial

Publicada em: Educação
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Curso basAR e Funções

  1. 1. Math.IA Curso basAR Christopher Shneider Cerqueira – christophercerqueira@gmail.com Claudio Kirner – ckirner@gmail.com https://sites.google.com/site/christophercerqueira/projetos/ear/basar http://www.ckirner.com/basar 1
  2. 2. Requisitos • Windows • basAR – Download: • https://sites.google.com/site/christophercerqueira/proj etos/ear/basar • http://www.ckirner.com/basar • Alguns modelos 3D em VRML • Editor de texto simples, como o Bloco de Notas. basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/ 2
  3. 3. Roteiro • Introdução: Metas • basAR • Criando infraestrutura, estrutura e conteúdo • Criando comportamento com controle matemático. – Conceitos: • Mudança de estado • Lógicas de controle. – Comandos – Atividade 3 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  4. 4. Introdução • Criar um cenário de Realidade Aumentada. – Dois pontos de seleção e um ponto de exibição • Utilizar o software basAR. • Entender a construção do cenário. • Entender os conceitos de mudança de estado e mudança de atributos 4 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  5. 5. basAR 5 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  6. 6. basAR: Behavioral Authoring System for Augmented Reality • Meta-ferramenta de autoria de ambientes inteligentes de realidade aumentada . – Estrutura de comportamento baseada em pontos de ação – Cross-Reality • COMPORTAMENTO DINÂMICO entre PONTOS DE AÇÃO Comportamento Pontos de ação Hardware Externo basAR 6 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  7. 7. • Infraestrutura: especificar a área de trabalho (workspace) da aplicação • Estrutura: os posicionamentos dos pontos de ação sobre a infraestrutura. • Contexto: modelos, sons e outros objetos definidos na estrutura. • Atuação: método de interação com a estrutura. • Comportamento: regras de interação entre os atuadores e a estrutura. Aplicação em camadas 7 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  8. 8. Hierarquia de objetos basAR Behavior Base Actuator point1 ... pointK app_pointM1 m1.dat m1.wrl ... ... ... Feedback Feedback Feedback Click1.mp3 Error.mp3 Turn real motor ON ... app_pointK m1.dat m1.wrl m2.dat M2.wrl 8 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  9. 9. Hierarquia de arquivos config_basAR config_behavior config_base config_actuator app_pointM1 m1.dat m1.wrl app_arduino app_pointK m1.dat m1.wrl m2.dat M2.wrl 9 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  10. 10. INFRAESTRUTURA, ESTRUTURA, CONTEÚDO E ATUAÇÃO Criando 10 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  11. 11. Sistema config_basAR config_behavior config_base config_actuator app_pointM1 m1.dat m1.wrl app_arduino app_pointK m1.dat m1.wrl m2.dat M2.wrl 11 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  12. 12. • Configura: – a primeira interligação dos objetos; – modo de exibição da janela; – objetos padrões. • Arquivo: {basAR}/Data/config_basAR Sistema 12 #config_basAR basAR WINDOWED VRML wrl/action/ballBlue.dat VRML Wrl/Action/ballGreen.dat VRML Wrl/Action/ballRED.dat VRML Wrl/action/tampa.dat Audio/explosion.wav 0.5 Audio/backTrack.mp3 LOOP 0.3 Audio/bell.wav ONCE 0.5 Data/config_behavior # Rule Machine # Bases 1 Data/config_base1 # Actuators 1 ARTKSM Data/config_transport basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  13. 13. Infraestrutura config_basAR config_behavior config_base config_actuator app_pointM1 m1.dat m1.wrl app_arduino app_pointK m1.dat m1.wrl m2.dat M2.wrl 13 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  14. 14. • correlação entre o mundo real e o mundo virtual • Definição de base • Arquivo: {basAR}/Data/config_base Infraestrutura #config_base1 # This file contains the setup for a workspace BASE1 # Single ARToolKit Marker configuration ARTKSM Data/Markers/base.patt 53.0 0.0 0.0 USE_DEFAULT # Workspace Sounds Audio/bell.wav ONCE 0.5 # Visible Sound Audio/explosion.wav 0.5 # Error sound wrl/action/status.dat 14 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  15. 15. Estrutura config_basAR config_behavior config_base config_actuator app_pointM1 m1.dat m1.wrl app_arduino app_pointK m1.dat m1.wrl m2.dat M2.wrl 15 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  16. 16. • Pontos do espaço virtual com esferas de ação, modelos associados e comportamento. • Localização, orientação e escala dos objetos virtuais. • Arquivo: {basAR}/Data/config_base … Pen # Point Name DEFAULT_IPOINT # Action Model File Data/app_pen # OBJECT Model File 20.0 20.0 0.0 # Translation 0.0 0.0 0.0 # Rotation 1.0 1.0 1.0 # Scale 900.0 # Action radius … Estrutura 16 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  17. 17. Exemplo com 3 pontos … 3 Ponto1 DEFAULT_IPOINT NO_OBJECT 100.0 100.0 25.0 0.0 0.0 0.0 1.0 1.0 1.0 300.0 Ponto2 DEFAULT_IPOINT NO_OBJECT 100.0 -100.0 25.0 0.0 0.0 0.0 1.0 1.0 1.0 300.0 pontoVisual DEFAULT_IPOINT Data/App/app_obj 100.0 0.0 25.0 0.0 0.0 0.0 1.0 1.0 1.0 0 {basAR}/Data/config_base 17 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  18. 18. Arquivo config_base completo _p1 BASE1 ARTKSM Data/Markers/base.patt 53.0 0.0 0.0 USE_DEFAULT Audio/bell.wav ONCE 0.5 Audio/explosion.wav 0.5 wrl/action/status.dat 3 Ponto1 DEFAULT_IPOINT NO_OBJECT 100.0 100.0 25.0 0.0 0.0 0.0 1.0 1.0 1.0 300.0 18 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  19. 19. Arquivo config_base completo _p2 Ponto2 DEFAULT_IPOINT NO_OBJECT 100.0 -100.0 25.0 0.0 0.0 0.0 1.0 1.0 1.0 300.0 pontoVisual DEFAULT_IPOINT Data/App/app_obj 100.0 0.0 25.0 0.0 0.0 0.0 1.0 1.0 1.0 0 19 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  20. 20. Conteúdo config_basAR config_behavior config_base config_actuator app_pointM1 m1.dat m1.wrl app_arduino app_pointK m1.dat m1.wrl m2.dat M2.wrl 20 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  21. 21. • objetos 3D e áudios que são utilizados. • Arquivos: {basAR}/Data/App/app_obj {basAR}/Wrl/quad.dat {basAR}/Wrl/triang.dat {basAR}/Wrl/quad.wrl {basAR}/Wrl/triang.wrl #app_obj 2 # Number of objects MODEL3D VRML Wrl/quad.dat MODEL3D VRML Wrl/triang.dat Conteúdo #quad.dat quad.wrl 0 0 0 0 90 0 0 0 0 21 # triang.dat triang.wrl 0 0 0 0 90 0 0 0 0 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  22. 22. Atuação config_basAR config_behavior config_base config_actuator app_pointM1 m1.dat m1.wrl app_arduino app_pointK m1.dat m1.wrl m2.dat M2.wrl 22 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  23. 23. • Interação do usuário com o sistema #config_tranport ARTKSM1 # Single ARToolKit Marker configuration Data/Markers/shovell.patt # Marker 37.0 # Width(mm) 0.0 0.0 # Central USE_DEFAULT # Marker cover VRML wrl/Action/ssd.dat # Symbolic model # Collision point DEFAULT_IPOINT # Point model 20.0 0.0 0.0 # Translation (x,y,z) (mm) 400.0 # Action radius of the point Atuação 23 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  24. 24. COMPORTAMENTO DE CLICKS Criando 24 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  25. 25. Comportamento? • Controle do feedback do sistema ao receber estimulo do usuário. • Baseado em máquina de estados (grafo de cena). • Ações  Comandos • Estados  Blocos de comandos 25 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  26. 26. Exemplo de estado • Inicia estado • Ponto 1 estático, exibe tudo • Ponto 1 estático, exibe tudo • Ponto 1 estático, exibe tudo • Finaliza estado • Outros comandos vide manual do basAR! BEGIN_STATE 1 1 STAT BOTH 2 STAT BOTH 3 STAT BOTH END_STATE 26 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  27. 27. O que é click? • Seleção  Ação  Liberação • Selecionar um ponto onde a ação é alterar o fluxo de execução para outro estado, onde as ações e atributos dos pontos podem ser alterados. 27 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  28. 28. Mapa de atitudes: • Clicando um ponto – Configuração do sistema • Modelos do ponto • Posicionamento do ponto – Animações simuladas • Matrizes de posicionamento 28 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/Collision between actuator and action point Move action point System Controlled User controlled Release point Test relseaseAttract point Repels point Reactive zone: collision of the moving point with others action points SelectionManipulationRelease Point selected If selectable Configure System Release point
  29. 29. Mudança de estado • A mudança de estado pode ser realizada pelo sucesso dos comandos de movimentação (Vide tutorial sobre movimentação) ou utilizando um ponto com uma ação de mudança de estado. • Com o click do atuador no ponto de mudança de estado é possível mudar os atributos e reconfigurar a atitude e exibição do ambiente. 29 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  30. 30. Tipos de estados Estado de trabalho • Este tipo de estado espera uma ação ser completada para que ocorra mudança de estado BEGIN_STATE 4 1 ... 2 ... END_STATE Estado de configuração • Este tipo de estado, após aplicar as alterações de comportamento, altera automaticamente o estado. BEGIN_STATE 4 1 ... 2 ... END_STATE GO_TO 5 30 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  31. 31. Comando que habilita mudança de estado • Mudar estado (Change State) – CHGST • 1 CHGST ONLY_OBJECT 4 31 Point ID CHGST Audio OverplayNextStateShowMode basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  32. 32. Funções de controle matemáticas • Permitem a construção de lógicas para auxiliar no controle do fluxo do programa. • Permitem loops (For, while, do-while) • Permitem colocar peso nos nós ( Inteligência Artificial) 32 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  33. 33. Variáveis por ponto 33 A B Subsistema de comandos matemáticas • Cada ponto tem uma variável A e B. basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  34. 34. Comandos entre as variáveis • Carregar Valor: • Adicionar valor • Subtrair entre variaveis • Swap • Inverter sinal • Multiplicar • Comparar 34 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  35. 35. Comandos de carregar valor • Carregar valor na variável A. A <= Value – LOADA – 1 LOADA 25.5 • Carregar valor na variável B. B<= Value – LOADB – 1 LOADB 30 35 Point ID LOADA Value Point ID LOADB Value basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  36. 36. Comandos para adicionar valor • Somar valor em A. A <= A + Value – ADDA – 1 ADDA 15 • Somar valor em B. B <= B + Value – ADDB – 1 ADDB 35 36 Point ID ADDB Value Point ID ADDA Value basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  37. 37. Comandos para subtrair entre variáveis • Subtrair B de A. A <= A - B – AMB – 1 AMB • Subtrair A de B B <= B - A – BMA – 1 BMA 37 Point ID AMB Point ID BMA basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  38. 38. Comandos para inverter sinal • Inverte o sinal de A. A <= - A – NEGA – 1 NEGA • Inverte o sinal de B. B <= -B – NEGB – 1 NEGB 38 Point ID NEGB Point ID NEGA basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  39. 39. Comandos para multiplicar valor • Multiplica valor em A. A <= A * Valor – MULA – 1 MULA 5 • Multiplica valor em B. B <= B * Valor – MULB – 1 MULB 3 39 Point ID MULB Value Point ID MULA Value basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  40. 40. Comando de troca entre variáveis • Trocar variáveis. A <= B e B <= A – SWAB – 1 SWAB 40 Point ID SWAB basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  41. 41. Comandos de comparação • Compara A com B. Com condições. Se comparação é válida muda de estado. – A > B ( GREATER) – A < B ( LESSER) – A = B (EQUALS) – CMP – 1 CMP LESSER 7 41 Point ID CMP TYPE NextState basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  42. 42. Comandos de comparação • Compara A com Value. Com condições. Se comparação é válida muda de estado. – A > Value ( GREATER) – A < Value ( LESSER) – A = Value (EQUALS) – CMP – 1 CMP 35.5 LESSER 7 42 Point ID CMPV TYPE NextStateValue basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  43. 43. Comportamento config_basAR config_behavior config_base config_actuator app_pointM1 m1.dat m1.wrl app_arduino app_pointK m1.dat m1.wrl m2.dat M2.wrl 43 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  44. 44. Exemplo de Loop • Exemplo 1. Criar loop para contar Clicks. • Arquivo de comportamento: {basAR}/Data/config_behavior • Clicando em qualquer ponto soma contador e quando houver um total de 6 clicks para a aplicação 44 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  45. 45. Fluxograma 45 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  46. 46. Arquivo de Comportamento BEGIN_STATE 1 1 CHGST ONLY_BALL 2 2 CHGST ONLY_BALL 3 3 CHGST ONLY_BALL 4 END_STATE BEGIN_STATE 2 1 STAT ONLY_BALL END_STATE GO_TO 5 AFTER 1 BEGIN_STATE 3 2 STAT ONLY_BALL END_STATE GO_TO 5 AFTER 1 BEGIN_STATE 4 3 STAT ONLY_BALL END_STATE GO_TO 5 AFTER 1 BEGIN_STATE 5 1 ADDA 1 END_STATE GO_TO 6 BEGIN_STATE 6 1 CMPV 6 EQUALS 7 END_STATE GO_TO 1 BEGIN_STATE 7 1 STAT ONLY_BALL 1 STAT ONLY_BALL 1 STAT ONLY_BALL END_STATE 46 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  47. 47. RESUMO 47 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  48. 48. Resumo comandos utilizados – STAT: [PointID] STAT [ShowMode] <AUDIO> <OVER?> – CHGST: [PointID] CHGST [ShowMode] [NextState] <AUDIO> <OVER?> – LOADA: [PointID] LOADA [Value] – LOADB: [PointID] LOADB [Value – ADDA: [PointID] ADDA [Value] – ADDB: [PointID] ADDB [Value] – AMB: [PointID] AMB – BMA: [PointID] BMA – NEGA: [PointID] NEGA – NEGB: [PointID] NEGB – MULA: [PointID] MULA [Value] – MULB: [PointID] MULB [Value] – CMP: [PointID] CMP [GREATER/LESSER/EQUALS] [NEXTSTATE] – CMPV: [PointID] CMPV [Value] [GREATER/LESSER/EQUALS] [NEXTSTATE] 48 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  49. 49. Ajuda online • Videos exemplificando cada comportamento disponível e os arquivos utilizados neste tutorial estão disponíveis em: https://sites.google.com/site/christophercerquei ra/projetos/ear/basar/cursos 49 basAR: Math.IA sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  50. 50. Math.IA Curso basAR Christopher Shneider Cerqueira – christophercerqueira@gmail.com Claudio Kirner – ckirner@gmail.com https://sites.google.com/site/christophercerqueira/projetos/ear/basar http://www.ckirner.com/basar 50

×