FURB – Universidade Regional de Blumenau DSC – Departamento de Sistemas e Computação Grupo de Pesquisa em Computação Gráfica, Processamento de Imagens e Entretenimento Digital Disciplina: Sistemas Multimídia - prof. Dalton Solano dos Reis Projeto - Sistema Multimídia – 2014/2 Equipe 02 (nomes): JEFFERSON CRISTIAN GUBETTI / JONATHAN RODRIGUES EV / PRISCILA KORNELY ASSINI Título: PROJEÇÃO DE OBJETOS GRÁFICOS EM 3D NO VISEDU-MAT Problema: Atualmente existe uma dificuldade em relação a visualização de superfícies 3D nas atuais projeções 2D, pois para alcançar um resultado mais próximo ao real são utilizados truques que enganam a visão humana para enxergar os objetos na terceira dimensão. Além de nem sempre funcionar como esperado, algumas pessoas não conseguem de forma alguma serem "enganadas" por esses truques. Dúvidas referentes ao projeto: ● O resultado será satisfatório (não causará desconforto nos usuários com uso prolongado)? ● Todos os tipos de óculos funcionarão bem? ● É possível usar projeção holográfica para melhorar a representação das superfícies em 3D? ● Qual será o Custo x Benefício dos equipamentos necessários (projetor, óculos) para obter resultados aceitáveis? ● Existe documentação suficiente das tecnologias adotadas? Elas suprirão as dúvidas que aparecerem durante o desenvolvimento? Objetivos: Incluir ao VISEDU-MAT: Visualizador de Material Educacional, Módulo de Matemática a opção de projeção 3D de objetos gráficos. Relevância: A relevância do projeto encontra-se no fato de complementar o VISEDU-MAT com o módulo de projeção 3D, tornando a plataforma mais atrativa e possivelmente ampliando o público de usuários, visto que a projeção 3D ainda é pouco explorada nas áreas educacionais, e apresenta grande potencial para facilitar a aprendizagem de diversos assuntos. Hardware escolhido: ● Projetor MX720 da BenQ, com uma resolução XGA (1024 x 768), 3.500 ANSI Lumens e um alto contraste de 13.000:1 ● Óculos Ativo: G05-DLP 3D ● Óculos Anaglifo ● Óculos Polarizado (ou passivo) 1 Etapa 02 (N3) A seguir serão descritos conceitos teóricos relacionados ao projeto de pesquisa proposto. 2.1 CENÁRIO DO TRABALHO PROPOSTO O trabalho apresentado propõe-se em incluir a opção de projeção em 3D na ferramenta VISEDU-MAT para auxiliar e facilitar a aprendizagem de seus usuários. 2.2 TRABALHOS CORRELATOS Foram selecionados como trabalhos correlatos a este, o Eureka.in, a empresa Creatura3D e o Three.js. 2.2.1 EUREKA.IN Criado pela empresa XD EDUCATION, o Eureka.in é considerado o mais abrangente e inovador software educativo disponível no mercado mundial, disponibilizando mais de 2.500 Objetos de Aprendizagem bilíngue (Português/Inglês) em vídeos 3D e 3D Estereoscópico com textos, imagens, simulações interativas, laboratórios virtuais, testes e links de internet para disciplinas de Matemática, Química, Física e Biologia. São mais de 500 simulações interativas e 250 aplicações 3D Estereoscópicas (vídeos e simulações) distribuídas entre as disciplinas (XD EDUCATION, 2012). É um produto que segue os parâmetros curriculares exigidos pelo MEC e auxilia o professor na explicação de um conteúdo de difícil compreensão dos alunos, criando um ambiente motivador e atraente. Após estudos realizados, conforme Figura 1, a empresa afirma que com a utilização dos Objetos de Aprendizagem de uma forma plena - com utilização de vídeos em 3D e 3D Estereoscópicos, textos e imagens, simulações e interatividade - garantem uma retenção da informação muito superior aos métodos tradicionais. 2 Figura 1 - Estudo realizado sobre a taxa de Retenção da Memória. Fonte: XD EDUCATION (2012). Além deste software a empresa também trabalha com a locação e venda de projetores e óculos para instituições de ensino. Sendo representantes oficiais das marcas de projetores BenQ (marca do projetor que será utilizado para fazer demonstrações do trabalho proposto) e NEC, e das marcas de óculos 3D - tecnologia ativa e passiva - XpanD e Volfoni. 2.2.2 CREATURA3D A empresa Creatura3D é focada em agências de marketing promocional e empresas, e atua no mercado a mais de oito anos. Tendo como objetivo a criação de animações produzidas com efeito 3D, que geram uma incrível sensação de experiência real, disponibilizando às empresas uma forma diferencial de apresentar ideias, produtos e conceitos (Creatura 3D, 2009). Sua especialidade é em conteúdo estereoscópico que está disponível nas tecnologias mais populares da atualidade: 3D Polarizado, 3D Anaglyph e agora também nas novas TV 3D, que não precisam de óculos para visualização do efeito. Entre seus produtos, encontramse uma animação 3D com efeito polarizado e ator virtual para a convenção anual de vendas da Lacta de 2008, animação 3D para divulgação de lançamentos da empresa Nokia em 2008, entre outros. 2.2.3 THREE.JS O Three.js é uma biblioteca que permite a criação de animações em 3D utilizando a linguagem JavaScript como parte de um site, sem depender de plugins do navegador. Isto é possível graças ao advento de WebGL. Sua versão inicial foi lançada por Ricardo Cabello para GitHub em abril de 2010. 3 Algumas características do Three.js são: ● É executado em todos os navegadores suportados por WebGL; ● Está disponível sob a licença MIT e está hospedado em um repositório no GitHub; ● Renderers: Canvas, SVG e WebGL; ● Efeitos: anaglyph, cross-eyed e parallax barrier; ● Cenas: adicionar e remover objetos em tempo de execução; ● Câmeras: perspectiva e ortográfica; ● Geometria: avião, cubo, esfera, toro, texto 3D e muito mais; modificadores: torno, extrusão e tubo; ● Carregadores de dados: binário, imagem, JSON e cena; ● Apoio: documentação da API está em construção, fórum público e wiki em pleno funcionamento; ● Exemplos: mais de 150 arquivos de exemplos de codificação mais fontes, modelos, texturas, sons e outros arquivos de suporte. 2.2.4 COMPARAÇÃO ENTRE OS TRABALHOS CORRELATOS No Quadro 1 pode ser observado as principais características entre o trabalho proposto e os correlatos. Características Proposto óculos ativo óculos passivo (polarizado) óculos anaglifo sem óculos Eureka.in Creatura3D X X X Three.js X X X X X Quadro 1 – proposto versos correlatos 2.3 CONCEITOS RELACIONADOS A SISTEMAS MULTIMÍDIA A seguir serão apresentados conceitos necessários para a realização do projeto, referentes a estereoscopia e técnicas para sua visualização, além de uma breve explicação sobre o hardware que será utilizado. 2.3.1 ESTEREOSCOPIA Estereoscopia é definida como a visualização de um mesmo foco por dois mecanismos de captação de imagens. No caso da visão humana, cada um dos olhos capta uma imagem, que o cérebro interpreta combinando-as para gerar uma “única imagem”. Para criar um efeito 4 de proporção e profundidade, uma imagem estereoscópica é projetada a partir de duas imagens levemente distintas, possuindo pequenas diferenças no que diz respeito ao enquadramento (MALARD, 2008). Existem técnicas para facilitar a percepção destes efeitos, tais como iluminação, perspectiva, oclusão e sombra (MASCHIO, 2008). 2.3.2 TÉCNICAS PARA VISUALIZAÇÃO O efeito de estereoscopia pode ser reproduzido utilizando algumas técnicas diferentes, onde cada técnica depende de um hardware específico. A seguir serão apresentadas as principais técnicas de visualização de imagens estereoscópicas. 2.3.2.1 ESTÉREO POR DISPARIDADE CROMÁTICA (ChromaDepth) Esta forma se baseia no uso das cores para definir a profundidade dos elementos. As lentes dos óculos com esta tecnologia tem a propriedade de desviar a luz de acordo com a sua cor, proporcionando a disparidade entre a visão do olho esquerdo e direito necessária para o efeito tridimensional. Nesta técnica todos os objetos em cores quentes (próximas ao vermelho) parecem estar mais perto do observador, enquanto os objetos de cores azuis (cores frias) parecem estar mais distantes. As demais cores reproduzem a profundidade entre as cores vermelha e azul, gradativamente, conforme pode ser visto na Figura 2. Figura 2 - Óculos com filtro ChromaDepth e diferença na distância percebida para diferentes cores. Fonte: (SISCOUTTO et al, 2006, p. 232) Esta técnica tem um baixo custo, porém não permite o uso das cores de forma natural e de fácil controle, ou seja, as cores dos objetos em uma cena devem ser escolhidas conforme o padrão de profundidade de cada cor. 5 2.3.2.2 EFEITO PULFRICH Se baseia na característica da visão humana de perceber luz menos intensa de forma mais lenta. Para criar o efeito tridimensional é usado um filtro que torna a visão mais escura para um dos olhos, assim ao observar uma animação os olhos têm uma velocidade diferente de percepção, tendo um pequeno deslocamento entre as imagens vistas por cada olho, gerando então a sensação de profundidade. Os problemas desta técnica são a falta de um controle maior da profundidade e a limitação de só funcionar com cenas em movimento (SISCOUTTO et al, 2006, p. 231). Na Figura 3, a esquerda pode-se ver o óculos com filtro em uma das lentes para criar o efeito Pulfrich e a direita quadros de uma animação, assim o olho sem filtro percebe o quadro atual 2 e o olho com filtro ainda está visualizando o quadro 1. Figura 3 - Exemplo do efeito Pulfrich Fonte: (SISCOUTTO et al, 2006, p. 231) 2.3.2.3 ANAGLIFO A técnica do anaglifo utiliza a divisão da imagem em seu espectro de cor, onde aloca uma gama de cores para o olho esquerdo e outra gama complementar para o olho direito. Para visualizar uma imagem em anaglifo deve-se usar um óculos especial com filtros que permitem somente a passagem das cores alocadas para cada olho. O filtro mais comum é utilizar o vermelho em uma das lentes e o azul ou ciano na outra lente. É uma técnica de baixo custo, pois o óculos é relativamente simples, e não é necessário um equipamento de projeção especial. Na Figura 4, podemos notar a sua esquerda um anaglifo clássico com imagem em escala de cinza quando visto a olho nu, e na sua direita um óculos especial para visualização de anaglifos, com filtro vermelho e azul. 6 Figura 4 - Exemplo de anaglifo Fonte: (TOMOYOSE, 2010, p. 41) 2.3.2.4 CROSS-EYED Método que dispensa o uso de qualquer equipamento externo para reproduzir o efeito de estereoscopia. A técnica consiste em projetar imagens duplicadas com ângulos diferentes, de modo a ficarem uma no lado da outra. Para visualizar a estereoscopia, o observador terá que cruzar a visão, simulando o efeito de estrabismo. A Figura 5 é de uma imagem preparada para o uso desta técnica. Figura 5 - Imagem cross-eyed Fonte: (AEGIANDYAD, 2014) 2.3.2.5 OBTURADOR (SHUTTER VIEW) Tecnologia que utiliza para seu funcionamento óculos obturadores. Também chamado de 3D ativo, pois os óculos estão sincronizados com o dispositivo que projeta as imagens. Seu funcionamento consiste em bloquear uma das lentes (que é realizado pelo dispositvo projetor) enquanto é exibido um efeito estereoscópico para a outra lente. Enquanto o efeito é exibido, 7 as lentes do lado direito e esquerdo alternam entre bloqueada e visível diversas vezes por segundo, gerando para o espectador o efeito estereoscópico. Esta é uma das tecnologias que se comparada com as demais, alcança melhor qualidade nos efeitos gerados. Porém, possui um custo elevado, já que necessita de um equipamento de projeção específico (monitor, televisão, projetor), além dos próprios óculos obturadores serem o modelo de óculos de maior custo, e em muitos casos não possuem compatibilidade com outros equipamentos de projeção ativa. 2.3.2.6 POLARIZADOR Tecnologia que faz uso de óculos polarizado, também denominado passivo. O princípio da técnica é a polarização da luz, realizado pelos óculos. A projeção exibe imagens duplicadas, com as luzes ortogonalmente polarizadas, e cada lente do óculos filtra uma imagem diferente, criando no espectador a sensação de estereoscopia. 2.3.2.7 PARALLAX BARRIER Tecnologia que dispensa o uso de óculos, podendo ser identificado o efeito 3D a olho nu, porém necessita de hardware específico na tela, além do software estar preparado, para que o efeito seja bem sucedido. Duas perspectivas de imagens são projetadas entrelaçadas na tela ao mesmo tempo, exibidas em faixas verticais. Uma camada com uma barreira, chamada de barreira parallax, precisa existir na tela para que o efeito funcione, pois ela é reponsável por filtrar a imagem que cada olho está enxergando. Com perspectivas diferentes sendo identificadas por cada olho, como em qualquer tecnologia de visualização 3D, o cérebro fica encarregado de montar a cena em 3 dimensões. Na Figura 6 é possível notar as características desta tecnologia. 8 Figura 6 - Exemplo parallax barrier Fonte: (STRICKLAND, 2011) A maior desvantagem dessa tecnologia está no fato que ela funciona em um ângulo de visão relativamente estreito, onde o espectador precisa ficar o mais próximo do centro da tela e respeitar uma certa distância dependendo do tamanho da tela. Se ele estiver muito para a esquerda ou muito para direita começa a confundir o cérebro, pois ele será capaz de visualizar as duas imagens ao mesmo tempo. 2.3.3 HARDWARE Essa seção apresenta as características dos hardwares que são utilizados no trabalho proposto para reproduzir o efeito 3D. 2.3.3.1 PROJETOR MX720 BENQ É um projetor 3D com resolução XGA (1024 x 768), alto contraste de 13.000:1, sua tela pode ser projeta no range de 37” até 300” e sua frequência vertical é de até 120Hz. Possui diversos conectores de entrada e saída, como: entrada de computador (D-sub); saída para monitor (D-sub); vídeo composto (RCA); entrada USB (mini B); entrada RJ45, porém a mais importante é a entrada HDMI (por estar presente na maioria dos dispositivos e apresentar uma qualidade superior de imagem e áudio). Suas conexões podem ser observadas na Figura 7. 9 Figura 7 - Projetor MX720 da BENQ Fonte: BENQ BRASIL (2009). 2.3.3.2 ÓCULOS ANAGLIFO Utilizado para perceber o resultado de projeções estereoscópicas anaglifas, cada lente do óculos funciona como filtro, sendo composta por duas cores diferentes, comumente ciano e e vermelho. É o tipo de óculos mais simples para uso em estereoscopia, logo, o de menor custo. A Figura 8 mostra um modelo de óculos anaglifo. Figura 8 - Exemplo de óculos anaglifo Fonte: Aliexpress (2014). 2.4 AMBIENTES UTILIZADOS NO DESENVOLVIMENTO Para o desenvolvimento do projeto será utilizado a API Three.js, construída com JavaScript, e de código aberto, que utiliza as tecnologias WebGL e HTML5 para a construção de ambientes gráficos, incluindo a possibilidade de utilizar estereoscopia. É necessário um bom grau de conhecimento de JavaScript para utilizar a API Three.js de modo a aproveitar seus recursos. 2.5 REQUISITOS PRINCIPAIS DO PROBLEMA A SER TRABALHADO A ferramenta proposta deverá seguir os seguintes requisitos: a) Permitir a projeção de figuras geométricas em 3D (Requisito Funcional - RF); b) Permitir que o usuário inclua e remova objetos da cena (RF); 10 c) Permitir que o usuário salve uma cena (RF); d) Utilizar a API Three.js no desenvolvimento de cenas com estereoscopia (RNF); e) Utilizar óculos do tipo anaglifo para visualizar o efeito de estereoscopia (RNF). 2.6 ESPECIFICAÇÃO Abaixo, na Figura 9, é possível observar o diagrama inicial das classes do trabalho proposto. Figura 9 – Diagrama de classes da aplicação. Fonte: Elaborada pelo autor na ferramenta Sketchboard (2014). Etapa 03 (N4) A seguir serão descritos conceitos relacionados com a implementação do projeto de pesquisa proposto. 3.1 IMPLEMENTAÇÃO A implementação da inclusão da opção de projeção de objetos gráficos em 3D Anaglifo no VISEDU-MAT foi feita no ambiente de desenvolvimento online chamado Koding, que disponibiliza uma máquina virtual rodando a versão 14.04 do sistema operacional Ubuntu. Foi utilizado a biblioteca gráfica 3D chamada tree.js, mais especificamente a classe AnaglyphEffect. Abaixo serão apresentados e explicados alguns 11 trechos de códigos desenvolvidos e adaptados. ● Import da classe AnaglyphEffect disponível na biblioteca tree.js; ● Checkbox para habilitar/desabilitar o efeito anaglifo e slider para selecionar qual o Field of View (FOV) da cena com o efeito anaglifo ativo (necessário para ajustar quando um zoom é aplicado na cena); ● Função que altera o estado do slider conforme o checkbox estiver selecionado, além de alterar a descrição da cena entre “3D” e “3D Anaglifo”; ● Criação de um novo renderizador para a cena, que instância um objeto da classe AnaglyphEffect do tree.js; ● Conforme o checkbox estiver selecionado o render será escolhido em tempo de execução; Além disso, foram realizados alguns ajustes na classe AnaglyphEffect para que ela permitisse um FOV dinâmico para a cena renderizada com o efeito 3D Anaglifo. Sendo assim, nesse projeto é possível alterar a opção da distância entre os objetos das duas câmeras que representam ambos os olhos humanos, dessa forma, independente do zoom aplicado na cena é possível ajustar essa distância de modo que a projeção em 3D Anaglifo fique confortável para cada usuário. 3.2 RESULTADOS E DISCUSSÃO Com os resultados obtidos na implementação do projeto foi possível fazer a projeção 12 3D utilizando a técnica do anaglifo, conforme esperado. Como dito anteriormente, este método possui um custo baixo e um resultado satisfatório. O lado positivo é que pelo baixo custo, existe mais possibilidade de instituições de ensino utilizá-lo na aprendizagem. Porém, o lado negativo é que esse método causa desconforto e cansaço visual se utilizado por um tempo prolongado, além de não causar nos usuários a sensação de estereoscopia de modo tão intenso quanto técnicas mais sofisticadas. 3.3 CONCLUSÕES A projeção de objetos em 3D ajuda bastante na aprendizagem, tornando alguns assuntos de diversas disciplinas mais fáceis de serem entendidos e por vezes mais interessantes. Porém, é necessária atenção ao implementar softwares de ensino, pois dependendo da técnica utilizada os custos do software e aparelhos atrelados podem variar bastante e nem todas instituições de ensino têm a possibilidade de gastar com esse tipo de tecnologia. 3.4 EXTENSÕES Uma possível extensão para o projeto seria a implementação da projeção utilizando outras técnicas, para que possam ser comparadas quanto a eficiência da sensação 3D, desconfortos com o uso prolongado e custo. Outra extensão seria desenvolver um cálculo que ajuste o FOV da cena em 3D Anaglifo automaticamente, sem que o usuário precise ajustar manualmente até ter a sensação de visualizar a cena gráfica em 3D. Além disso, como a biblioteca Tree.js oferece diversos tipos de implementações, seria interessante utilizar o sideby-side para verificar a qualidade da representação do VISEDU-MAT no projetor 3D. 13 REFERÊNCIAS BIBLIOGRÁFICAS AEGIANDYAD. Ash and poplar autumn sunset in lloyd park. [S.I.]. 2014. Disponível em: <http://aegiandyad.deviantart.com/art/Ash-And-Poplar-Autumn-Sunset-In-Lloyd-Park491183066>. Acesso em 28 out. 2014. ALIEXPRESS. 10pcs red blue 3D glasses dimensional anaglyph movie. [S.I.], 2014. Disponível em: <http://pt.aliexpress.com/item/10pcs-Red-Blue-3D-Glasses-DimensionalAnaglyph-Movies-Free-shipping/452201883.html>. Acesso em: 22 out. 2014. BENQ BRASIL. [S.I.], 2009. Disponível em: <http://www.benqbrasil.com.br/product/projector/mx720/specifications/>. Acesso em: 22 out. 2014. CREATURA 3D: esteroscopia, 3D polarizado, 3D anaglyph, TV3D. [S.I.], 2009. Disponível em: <http://www.creatura3d.com/efeito3d.html>. Acesso em: 21 out. 2014. KODING: Say goodbye to your localhost and code in the cloud. [S.I.], 2014. Disponível em: <https://www.koding.com/>. Acesso em: 29 nov. 2014. MALARD, Maria L. Princípios teóricos da estereoscopia. Escola de Arquitetura da UFMG, Belo Horizonte, 2008. Disponível em: <http://www.arq.ufmg.br/eva/aivits/Princ%EDpios%20Te%F3ricos%20da%20Estereoscopia. pdf>. Acesso em: 22 out. 2014. MASCHIO, Alexandre V. A Estereoscopia: Investigação de aquisição, edição e exibição de imagens estereoscópicas em movimento. [S.I.], 2008. Disponível em: <http://www.faac.unesp.br/Home/Pos-Graduacao/Design/Dissertacoes/alexandre.pdf>. Acesso em: 22 out.2014. SISCOUTTO, Robson A. et al. Fundamentos e Tecnologia de Realidade Virtual e Aumentada - Livro do Pré-Simpósio, VIII Symposium on Virtual Reality. Porto Alegre: SBC, 2006. c. 13, p. 221-245. SKETCHBOARDME: Visual communication with remote teammates. [S.I.], 2014. Disponível em: <http://www.sketchboard.io/>. Acesso em: 21 out. 2014. STRICKLAND, Jonathan. How nintendo 3DS works: the parallax barrier. [S.I.], 2011. Disponível em: <http://electronics.howstuffworks.com/nintendo-3ds5.htm>. Acesso em: 29 out. 2014. TOMOYOSE, Alexandre N. Comparação e classificação de técnicas de esteroscopia para realidade aumentada em jogos. 2010. 127 f. Dissertação (Mestrado em Engenharia) - Escola Politécnica da Universidade de São Paulo. Departamento de Engenharia de Computação e Sistemas Digitais, São Paulo. 14 TREEJS: Javascript 3D library. [S.I.], 2014. Disponível em: <http://www.treejs.org/>. Acesso em: 29 nov. 2014. XD EDUCATION: Tecnologia e educação. [S.I.], 2012. Disponível em: <http://www.xdeducation.com.br/>. Acesso em: 20 out. 2014. WIKIPEDIA. Three.js. [S.I.], 2014. Disponível em: <http://en.wikipedia.org/wiki/Three.js> . Acesso em: 22 out. 2014. 15 FICHA DE AVALIAÇÃO A SP E C T O S A V A LI A D O S Av ali Et aç ap ão a 1 N2 Pe No so ta O problema está claramente formulado? O objetivo está claramente definido e é passível de ser alcançado? Apresenta um grau de relevância em computação que justifique o desenvolvimento? Et ap a2 O cenário descrito demonstra aonde o trabalho está inserido? São apresentados 3 trabalhos correlatos? As principais características entre o trabalho proposto e os correlatos foram descritas? Conceitos relacionados a Sistemas Multimídia são suficientes e têm relação com o tema proposto? O ambiente a ser utilizado foi detalhado? Os requisitos a serem desenvolvido foram claramente descritos? É apresentado o diagrama/fluxograma e este é coerente com o trabalho proposto? Av ali Et aç ap ão a 3 N4 São descritos os principais trechos de códigos utilizados na implementação? São apresentados os resultados dos testes/avaliações fazendo comentários sobre os mesmos? As conclusões/extensões estão descritas? Ge ral As referências bibliográficas são apresentadas e obedecem às normas da ABNT? As informações retiradas de outros autores estão devidamente citadas no texto? A exposição do assunto é ordenada (organização, apresentação gráfica, idéias e linguagem)? Co m e n t á r i o s 16 : 17