Renan Augusto Dembogurski. Geração Interativa de Malhas em Multiresolução através de Marcadores em Realidade Aumentada

Tamanho: px
Começar a partir da página:

Download "Renan Augusto Dembogurski. Geração Interativa de Malhas em Multiresolução através de Marcadores em Realidade Aumentada"

Transcrição

1 UNIVERSIDADE FEDERAL DE JUIZ DE FORA INSTITUTO DE CIÊNCIAS EXATAS PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Renan Augusto Dembogurski Geração Interativa de Malhas em Multiresolução através de Marcadores em Realidade Aumentada Juiz de Fora 2013

2 UNIVERSIDADE FEDERAL DE JUIZ DE FORA INSTITUTO DE CIÊNCIAS EXATAS PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Renan Augusto Dembogurski Geração Interativa de Malhas em Multiresolução através de Marcadores em Realidade Aumentada Dissertação apresentada ao Programa de Pós-Graduação em Ciência da Computação, do Instituto de Ciências Exatas da Universidade Federal de Juiz de Fora como requisito parcial para obtenção do título de Mestre em Ciência da Computação. Orientador: Rodrigo Luis de Souza da Silva Coorientador: Marcelo Bernardes Vieira Juiz de Fora 2013

3 Ficha catalográfica elaborada através do Programa de geração automática da Biblioteca Universitária da UFJF, com os dados fornecidos pelo(a) autor(a) Dembogurski, Renan Augusto. Geração Interativa de Malhas em Multiresolução através de Marcadores em Realidade Aumentada / Renan Augusto Dembogurski f. : il. Orientador: Rodrigo Luis de Souza da Silva Coorientador: Marcelo Bernardes Vieira Dissertação (mestrado acadêmico) - Universidade Federal de Juiz de Fora, Instituto de Ciências Exatas. Programa de Pós- Graduação em Ciência da Computação, Deformação de malhas. 2. Malhas Semi-Regulares Adaptativas Parametrização. 4. Realidade Aumentada. I. de Souza da Silva, Rodrigo Luis, orient. II. Bernardes Vieira, Marcelo, coorient. III. Título.

4 Renan Augusto Dembogurski Geração Interativa de Malhas em Multiresolução através de Marcadores em Realidade Aumentada Dissertação apresentada ao Programa de Pós-Graduação em Ciência da Computação, do Instituto de Ciências Exatas da Universidade Federal de Juiz de Fora como requisito parcial para obtenção do título de Mestre em Ciência da Computação. Aprovada em 25 de Janeiro de BANCA EXAMINADORA Prof. D.Sc. Rodrigo Luis de Souza da Silva - Orientador Universidade Federal de Juiz de Fora Prof. D.Sc. Marcelo Bernardes Vieira Universidade Federal de Juiz de Fora Prof. D.Sc. Leandro Schaeffer Marturelli Universidade Federal do Rio de Janeiro Prof. D.Sc. Eduardo Barrére Universidade Federal de Juiz de Fora

5 A minha mãe e meu irmão. A minha namorada, Lidya.

6 AGRADECIMENTOS Agradeço a todas as pessoas que me ajudaram nessa caminhada árdua. De forma mais específica, agradeço a minha mãe por ser uma ouvinte paciente ao longo de incontáveis horas e ao meu irmão por sempre me apoiar e ajudar nos trabalhos desenvolvidos. Agradeço a mulher da minha vida, Lidya, a pessoa mais especial que já conheci e sem a qual não estaria escrevendo esse agradecimento. Gostaria de agradecer aqui também meus amigos, Carlão, Viviz, Tadeu, Zezão, Dhiego, Barra entre outros. Agradeço porque vocês contribuíram diretamente para o meu sucesso, seja com palavras de amizade ou de trollagem. Agradeço a CAPES pela bolsa que me permitiu estudar em regime integral no mestrado. Agradeço aos professores que me ajudaram em meu caminho, cada um do seu jeito.

7 Ver o bem e não fazê-lo é sinal de covardia. Confúcio

8 RESUMO Este trabalho apresenta um método que permite a deformação de um terreno pela modificação do seu mapa de alturas em um ambiente de realidade aumentada. A estrutura hierárquica de malhas A4-8 foi utilizada para representar o terreno. Essa estrutura define um espaço paramétrico para calcular as coordenadas de um terreno no espaço Euclidiano R 3. Em especial, este trabalho lida com o problema de modelagem de terrenos esféricos. Uma métrica de erro dependente do observador e da geometria do terreno utilizada tanto para sua observação quanto para sua modelagem. Os resultados demonstram que o uso da malha A4-8 em conjunto com o sistema de realidade aumentada tangível é flexível para modelar terrenos esféricos e pode ser facilmente modificada para terrenos com a topologia do cilindro e do toro. O desenvolvimento de um método de geração de malhas eficiente e de uso intuitivo, baseado em marcadores de realidade aumentada, é a principal contribuição deste trabalho. Palavras-chave: Deformação de malhas. Malhas Semi-Regulares Adaptativas 4-8. Parametrização. Realidade Aumentada.

9 ABSTRACT This work presents a method that allows the deformation of a terrain by modifying your heightmap in an augmented reality environment. The hierarchical structure of A4-8 meshes was used to represent terrains. This structure defines a parameter space to calculate the coordinates of a field in the R 3 Euclidean space. In particular, this paper deals with the problem of modeling spherical terrains. An error metric dependent on the observer and the geometry of the land used for its observation and modeling. The results demonstrate that the use of A4-8 mesh combined with the tangible augmented reality system is flexible to shape spherical terrains and can be easily modified to deal with other topologies, such as the torus and the cylinder. The development of an efficient and intuitive to use method for mesh generation, based on augmented reality markers, is the main contribution of this work. Keywords: Mesh Deformation. 4-8 Semi-regular Adaptive Meshes. Parametrization. Augmented Reality.

10 LISTA DE FIGURAS 1.1 Um modelo 3D criado pela interface intouch (GREGORY et al., 1999) Exemplo da interface 2D Teddy (IGARASHI et al., 2007) Seleção de parte de um modelo no sistema 3DARModeler (DO; LEE, 2010) Visualização de parte da superfície, diferentes cores representam as características geológicas de cada região (FAETH; HARDING, 2009) Deformação interativa de uma submalha (FAETH; HARDING, 2009) Estrutura de uma malha 4-8, em (a) um bloco básico destacado em roxo e em (b) dois passos de refinamento, o primeiro gera os vértices em azul e o segundo, os vértices em vermelho (a) Protótipo de subdivisão quaternária e (b) protótipo de subdivisão binária Refinamento e simplificação da malha A Níveis 0 5 de uma bintree triangular Refinamento e simplificação do diamante Divisão forçada de um triângulo Cilindro sendo conformado em uma esfera. No meridiano da esfera as coordenadas das duas bordas do plano são conectadas (NOEL, 2010) Wedgies aninhados em 1D, com os dependentes de v (DUCHAINEAU et al., 1997) Visão geral do método (a) Vértice de controle v c e (b) a atualização da sua posição devido ao refinamento da malha. A esfera azul representa o vértice de controle v c e a esfera vermelha é a posição do marcador móvel Início do processo de expansão. O vértice de controle é v c no domínio discreto e v c no domínio contínuo. O raio que define a área de deformação é r d e d ic é a distância em R 3 entre o vértice de controle v c e um de seus vizinhos v i O conjunto V dc, em verde, representa os vértices que possuem a propriedade I(u, v). No exemplo, todos os vizinhos estão dentro da área de deformação. 42

11 3.5 Exemplo de expansão na direção diagonal (a) e na direção vertical/horizontal (b). Um passo do algoritmo de expansão após todos os vizinhos de v c serem computados pode ser visto em (c) Tratamento de bordas no caso de vértices se expandindo além das dimensões do terreno. Para a latitude, se um vértice v extrapola as dimensões do terreno, a expansão é interrompida naquela direção. No caso da longitude, a coordenada u do vértice é modificada para que ele possa continuar expandindo Exemplo de propagação de erro correta. No triângulo da esquerda (a) valores de altura para os vértices do triângulo T e no triângulo da direita (b) os respectivos valores de erro Exemplo de expansão hierárquica. Em (a) ocorre o primeiro caso, passo na vertical e caminhada diagonal. Em (b) acontece o segundo caso, passo diagonal e caminhada vertical, ambos na iteração de valor zero. Já em (c) repete-se o primeiro caso e em (d) o segundo, agora para iteração de valor um Visualização de um terreno esférico. Janela de visão local (a) e global (b) Mudanças na malha provocadas pela distância entre câmera e terreno. Posição inicial do terreno em (b), câmera aproximada do terreno (c) e afastada (a) Uma sequência de quadros espaçados no tempo que demonstram a malha sendo deformada utilizando o método proposto Resultado da tesselagem para valores diferentes de erro máximo. Em (a) o valor de erro utilizado foi dist max = 1.0 e em (b) dist max = Visualização de diferentes áreas de deformação. O valor do raio de deformação utilizado em (a) foi r d = 150km, em (b) r d = 300km e em (c) r d = 600km Deformação de terrenos utilizando a função de distribuição Gaussiana. A deformação obtida para um valor de σ = 0.17 e média µ = 1 pode ser visto em (a). Em (b), σ = 0.75 e µ = Tratamento de bordas. Em (a) é possível ver o terreno deformado na região da borda sem o tratamento. Em (b) a mesma região do terreno, agora deformada com tratamento de borda

12 4.8 Visualização de um terreno final gerado através do método proposto. Escala local em (a) e global em (b)

13 LISTA DE TABELAS 4.1 Tempo médio de renderização do terreno em segundos quando uma quantidade de vértices é modificada em uma determinada latitude. Resolução máxima de vértices Tempo médio de renderização do terreno em segundos quando uma quantidade de vértices é modificada em uma determinada latitude. Resolução máxima de vértices Tempo médio de renderização do terreno em segundos quando uma quantidade de vértices são modificados em uma determinada latitude. Resolução máxima de vértices

14 LISTA DE SÍMBOLOS v Ponto ou coordenada discreta v = (u, v), com u, v N. v Ponto ou coordenada contínua v = (x, y, z), com x, y, z R. v c v c Vértice de controle no domínio discreto. Vértice de controle no domínio contínuo. d ic Distância Euclidiana em R 3 entre um vetor v i e o vértice de controle v c. f(u, v) Função de mapeamento que realiza a passagem do domínio discreto para o contínuo. I(u, v) Função que indica se um vértice v = (u, v), ao ser mapeado no domínio contínuo, está a uma determinada distância do vértice de controle v c. dist( v) Erro dependente do observador. É a distância entre a posição correta no espaço de tela de um vértice v e sua aproximação pela triangulação T.

15 SUMÁRIO 1 INTRODUÇÃO DEFINIÇÃO DO PROBLEMA E OBJETIVOS OBJETIVOS TRABALHOS RELACIONADOS Deformação de Malhas em Realidade Aumentada Interfaces de Usuário em 3D FUNDAMENTOS MALHAS REGULARES ADAPTATIVAS Construção da Estrutura Hierárquica Abordagens para Construção da Malha A Representação da Estrutura Hierárquica Bintree Triangular PARAMETRIZAÇÃO Partição do Espaço de Parâmetros MÉTRICA DE ERRO Erro Geométrico Erro Dependente do Observador MÉTODO PROPOSTO VISÃO GERAL DO MÉTODO DEFINIÇÃO DO PONTO DE CONTROLE DEFINIÇÃO DA ÁREA DE DEFORMAÇÃO Crescimento de Região Visão Geral do Algoritmo Função Recursiva de Expansão Tratamento de Borda PROPAGAÇÃO DE ALTURAS E ERROS Cálculo e Propagação de Alturas Métrica e Propagação de Erro

16 4 RESULTADOS VISUALIZAÇÃO DO TERRENO ESFÉRICO EXPERIMENTOS REALIZADOS PARTICULARIDADES CONCLUSÃO REFERÊNCIAS

17 15 1 INTRODUÇÃO A deformação de malhas representa um recurso importante para a área de modelagem de objetos por permitir a modificação de uma superfície para atender a um determinado fim. Devido à sua importância, várias técnicas de deformação foram desenvolvidas ao longo do tempo, como visto em (BARR, 1984; SEDERBERG; PARRY, 1986; COQUILLART, 1990; SINGH; FIUME, 1998; SUMNER et al., 2007). Algumas destas técnicas levam em consideração a decomposição de superfícies muito detalhadas em níveis hierárquicos (KOBBELT et al., 2000; SHA et al., 2007). A representação de superfícies em múltiplos níveis de detalhamento permite que alterações sejam feitas em qualquer um desses níveis, resultando em um controle fino da malha. Uma estrutura hierárquica que possui propriedades favoráveis para a representação e modelagem de terrenos em vários níveis de detalhe é a malha semi-regular adaptativa 4-8 (malha A4-8). Através dessa estrutura, é possível representar terrenos com diferentes resoluções, permitindo controle pontual sobre a malha gerada. A A4-8 também pode definir um espaço paramétrico para calcular as coordenadas de um terreno no espaço Euclidiano R 3. Modificar superfícies em vários níveis de detalhe é de interesse para área de Interfaces de Usuários em 3D (GREGORY et al., 1999; SANTHANAM et al., 2004; IGARASHI et al., 2007), porque muitos aplicativos desenvolvidos nesta área permitem um alto nível de interação entre usuários e modelos virtuais. No caso de aplicativos que envolvam modelagem de objetos, é possível desenvolver interfaces 3D nas quais o usuário consiga interagir com modelos 3D, como também controlar e modificar de maneira pontual a superfície de um modelo através de estruturas hierárquicas. Um dos possíveis meios para interação com modelos em 3D é a realidade aumentada. Nela, elementos reais e virtuais são combinados para criar a impressão de que coexistem em uma mesma cena. Tal efeito pode ser alcançado através de diversas tecnologias como sistemas de projeção ótica, monitores e dispositivos portáteis. Para interagir com os modelos virtuais foi desenvolvida uma interface chamada Tangible Augmented Reality (TAR) (BILLINGHURST HIROKAZU KATO, 2001), onde cada objeto virtual é associado a um objeto físico e o usuário interage com os objetos virtuais manipulando os objetos tangíveis.

18 16 Esta dissertação propõe um método para deformar terrenos esféricos através da combinação da estrutura da A4-8 com marcadores fiduciais. A ideia é visualizar uma malha associada a um marcador físico e modificá-la utilizando outro marcador físico móvel. A interface 3D final permite que um usuário rotacione e translade livremente um modelo 3D utilizando suas mãos, permitindo também que o usuário modifique sua superfície em vários níveis de detalhe. O método proposto permite um alto nível de interação com o modelo. O usuário interage com o modelo movendo manualmente o marcador físico móvel ao longo da superfície a ser alterada. O método proposto pode ser utilizado na construção de ambientes de jogos. 1.1 DEFINIÇÃO DO PROBLEMA E OBJETIVOS O problema tratado nesta dissertação é como deformar terrenos que possuem a topologia da esfera (terrenos esféricos) em múltiplos níveis de detalhamento através de interação por realidade aumentada. 1.2 OBJETIVOS O principal objetivo desta dissertação é apresentar um método interativo para deformar terrenos em tempo real. Como objetivos secundários temos: Demonstrar, através de uma aplicação do método proposto, que o desempenho de um aplicativo que utiliza a metodologia proposta pode ser mantido em diferentes níveis de resolução do terreno. Apresentar uma interface 3D para deformar terrenos em tempo real. No contexto de Realidade Aumentada, tempo real é definido como quadros por segundo. 1.3 TRABALHOS RELACIONADOS Serão apresentados nesta seção diferentes abordagens para deformar malhas através de realidade aumentada. Todas as abordagens relacionadas utilizam interfaces de usuário em 3D.

19 17 A seção apresenta métodos para modelar objetos 3D em multiresolução através de realidade aumentada. Na seção são apresentados diferentes tipos de interfaces de usuário 3D, onde há interação através de realidade aumentada DEFORMAÇÃO DE MALHAS EM REALIDADE AUMENTADA Não existem muitos trabalhos que lidam com o problema da deformação de malhas através de realidade aumentada. O foco da maioria dos estudos envolvendo modelagem de objetos e realidade aumentada está nos modelos de deformação em geral, ou no desenvolvimento de aplicativos para áreas como a de simulação de operações cirúrgicas (NEALEN et al., 2006), modelagem de roupas (BARAFF; WITKIN, 1998; NEALEN et al., 2006) e modelagem de acidentes (O BRIEN; HODGINS, 1999). Um trabalho que permite a modificação interativa de malhas poligonais em multiresolução através de uma interface 3D pode ser encontrado em (GREGORY et al., 1999). Os autores propõem uma interface chamada intouch, que contém uma cena 3D para visualização do modelo e um menu 2D para realização de operações pelo usuário. O modelo é editado na cena através de um dispositivo háptico. A interface possui um subsistema de edição de malhas em multiresolução, que utiliza como entrada a posição da sonda do dispositivo háptico projetada na cena e a direção da força aplicada. A medida que o usuário movimenta a sonda, uma modificação na superfície do modelo ocorre de acordo com a operação selecionada. A estrutura hierárquica escolhida para representar o modelo foi a malha poligonal de subdivisão. O subsistema de edição de malhas recebe um triângulo, um ponto de contato e um vetor de movimento como entrada. Quando a malha é modificada em uma determinada resolução, um conjunto de vértices é movido. A modificação é propagada para os níveis de maior e menor detalhe, através de subdivisões na malha e suavização respectivamente. Um exemplo de modelo criado pela interface intouch pode ser visto na Figura 1.1. No modelo contido nessa dissertação, o ponto de controle para deformação é um vértice da malha e a deformação é propagada apenas para os níveis de resolução maiores que o desse ponto. A visualização do modelo através da interface intouch sempre mostra o nível mais refinado da malha. Esse fato pode tornar a interface inviável para deformações que utilizem um número elevado de triângulos em tempo real. Um fator importante a ser mencionado

20 18 Figura 1.1: Um modelo 3D criado pela interface intouch (GREGORY et al., 1999). é que, em regiões distantes do observador, um nível de resolução elevado pode ser desnecessário na visualização do objeto. Nesta dissertação o nível de detalhe depende não só da geometria do objeto, mas também da distância em relação ao observador. Outro trabalho que segue a mesma ideia da interface intouch pode ser visto em (FOS- KEY et al., 2005). Os autores apresentam um sistema chamado ArtNova para modelagem de objetos 3D utilizando interface háptica. Diferente da interface citada anteriormente, o sistema ArtNova possui diversas técnicas de visualização dinâmica, como navegação baseada na visão e reposicionamento automático. É importante mencionar que nos trabalhos citados o objeto a ser deformado não consiste de milhares de triângulos como as malhas que adaptam terrenos reais. Não foi encontrado nenhum trabalho na literatura que lidasse diretamente com a interação entre usuário e modelos 3D compostos de milhares de triângulos em multiresolução através de realidade aumentada tangível INTERFACES DE USUÁRIO EM 3D A área que estuda as interfaces de usuário que apresentam interação 3D é chamada de interfaces de usuário em 3D (BOWMAN et al., 2004). Esta área busca estudar as melhores abordagens para criar interfaces que proporcionem uma experiência diferenciada para os usuários. Para alcançar este objetivo, as interfaces desenvolvidas apresentam diversas características distintas. Dentre as características que tornam as interfaces de usuário em 3D diferenciadas, é possível destacar a promoção de imersão em ambientes virtuais, resolução de problemas

21 19 relacionados a tarefas importantes como navegação e manipulação e a capacidade de serem imperceptíveis quando em uso. Um survey que relaciona em detalhes as categorias e objetivos desta área pode ser encontrado em (BOWMAN; FROHLICH, 2005; BOWMAN et al., 2008) As interfaces em 3D que lidam com a manipulação de objetos virtuais através de realidade aumentada são de interesse para esta dissertação. Em específico, é possível citar o trabalho desenvolvido em (IGARASHI et al., 2007), onde o usuário faz esboços de forma livre em uma interface 2D chamada Teddy que depois são utilizados para gerar uma malha poligonal 3D plausível (Fig. 1.2). Figura 1.2: Exemplo da interface 2D Teddy (IGARASHI et al., 2007). Um trabalho que utiliza realidade aumentada tangível como interface 3D para modelar objetos 3D pode ser encontrado em (DO; LEE, 2010), onde os autores apresentam um sistema de modelagem 3D em um ambiente de realidade aumentada chamado 3DARModeler. Com este sistema é possível criar um modelo 3D através de uma ou várias geometrias primitivas, aplicar texturas, adicionar animações, estimar fontes de luz real e projetar sombras no mesmo. A diferença entre a interface deste sistema e a que foi desenvolvida nesta dissertação relaciona-se a modelagem de objetos. No sistema 3DARModeler os objetos são modelados pela combinação de geometrias primitivas, sendo estas estáticas. Em outras palavras, a malha não pode ser deformada de acordo com a vontade do usuário. Já no caso desta dissertação, a proposta é mudar dinamicamente a geometria de uma superfície em múltiplos níveis de detalhe, provendo controle preciso sobre a malha e maior interação entre

22 20 usuário e modelo. Um outro fator que distingue essas interfaces é o método de seleção dos objetos de interesse. No sistema 3DARModeler, uma parte do objeto é selecionada apontando-se um marcador físico para um ponto de controle representado por um objeto virtual, que indica se o modelo está sendo apontado (Fig. 1.3). Como cada marcador físico possui um sistema próprio de coordenadas, apontar um marcador móvel em direção a outro, para selecioná-lo, pode ser uma tarefa difícil e imprecisa. A seleção de parte do objeto, utilizando o método proposto nesta dissertação, é mais intuitiva. A posição de um marcador fiducial é projetada na superfície de um objeto e o ponto mais próximo dessa posição, pertencente à malha, é escolhido como ponto de controle. É possível, também, modificar a posição do marcador fiducial movendo-o ao longo da superfície, modificando os pontos de controle resultantes. Figura 1.3: Seleção de parte de um modelo no sistema 3DARModeler (DO; LEE, 2010). Um trabalho que utiliza dispositivos de resposta de força como interface para modelar objetos 3D pode ser visto em (FAETH; HARDING, 2009), onde os autores apresentam um método que permite a um geocientista interagir com superfícies pintando-as de acordo com sua maleabilidade. Em um passo inicial, o geocientista classifica as regiões da superfície de acordo com suas características geológicas. Três parâmetros de deformação, alongamento, compressão e rasgo são mapeados nas três cores primárias de uma sistema de cores RGB, para que seja possível definir para cada área uma característica. Os autores utilizam um mapa de calor baseado na cor que o ferro adquire ao ser aquecido. Uma cor mais escura repre-

23 senta um material mais rígido, enquanto cores próximas ao vermelho, laranja ou branco, representam materiais mais maleáveis (Fig. 1.4). 21 Figura 1.4: Visualização de parte da superfície, diferentes cores representam as características geológicas de cada região (FAETH; HARDING, 2009). O geocientista utiliza um dispositivo háptico chamado Phantom para deformar a superfície do modelo 3D. Utilizando a parte móvel do dispositivo, chamada stylus, o usuário determina o local onde será feita a deformação. Uma pinça virtual serve como guia à medida que o usuário movimenta a stylus. Determinado este local, o usuário pressiona um botão na parte móvel do dispositivo e continua movimentando-a, agora para determinar o deslocamento que será convertido em deformação através de um algoritmo proposto pelos autores. A Figura 1.5a mostra um momento na seleção de região de deformação e a Figura 1.5b mostra o dispositivo háptico. (a) (b) Figura 1.5: Deformação interativa de uma submalha (FAETH; HARDING, 2009). Muitos trabalhos na bibliografia utilizam aparelhos específicos para interagir com os modelos, o que às vezes inviabiliza sua reprodução, ou cria a necessidade de treino prévio

24 22 do usuário. A interface desenvolvida nesta dissertação, ao contrário, necessita apenas de um marcador móvel e um dispositivo de captura de vídeo para que o usuário consiga interagir com um modelo 3D intuitivamente em tempo real.

25 23 2 FUNDAMENTOS 2.1 MALHAS REGULARES ADAPTATIVAS 4-8 Uma malha poligonal é definida pelo par M := (V, F ), onde V é o conjunto de vértices V := { v i := (x i, y i, z i ) R 3, i = 1,..., n} e F é um complexo simplicial abstrato que contém informação de conectividade como, por exemplo, a topologia. Em particular, se considerarmos uma malha triangular cada elemento no complexo F se enquadra em algum desses tipos: vértice {i}, aresta {i, j} e face {i, j, k} ((PATANè; SPAGNUOLO, 2003)). Para criar um modelo virtual de um terreno real, é necessário considerar a informação que descreve os elementos da malha, ou seja, a conectividade e a geometria da mesma. A conectividade da malha, ou topologia, descreve a relação de incidência entre os elementos da malha. A geometria da malha especifica a posição e outras características de cada vértice. Tipicamente é possível distinguir a conectividade de uma malha entre irregular e (semi- )regular. As malhas irregulares não possuem restrição na valência (número de arestas incidentes) de um vértice, enquanto as malhas regulares são formadas por um domínio base irregular que sofre refinamento regular recursivo. A conectividade da malha representa, assim, um fator de vital importância no desenvolvimento de aplicativos que realizem a modelagem de objetos e geralmente guia a escolha dos algoritmos a serem utilizados. Neste trabalho foram utilizadas malhas semi-regulares devido à sua estrutura paramétrica previsível e conectividade mais compreensível que no caso das malhas irregulares. Uma malha pode ser definida como regular, ou de topologia regular, se todas as faces e vértices possuem as mesmas propriedades combinatórias como, por exemplo, mesmo tamanho e mesma valência (AKLEMAN; CHEN, 2005). No caso das malhas semi-regulares, todas as faces ou todos os vértices possuem a mesma estrutura topológica, mas não ambos (AKLEMAN et al., 2005). Dentre as várias categorias de malhas regulares, é necessário escolher uma que, além de representar um terreno, possa dar suporte a métodos de refinamento e simplificação. As malhas semi-regulares do tipo 4-8 (valência dos vértices igual a 4 ou 8, exceto nas bordas) se encaixam no perfil desejado para resolver o problema tratado nesta dissertação

26 24 (Fig. 2.1). A malha semi-regular 4-8 é uma estrutura hierárquica para subdivisão de superfícies, ou um complexo celular homeomorfo ao ladrilho de Laves [4, 8 2 ] (VELHO; GOMES, 2000). Várias vantagens desta estrutura podem ser mencionadas: são quadrangulações trianguladas refináveis, então combinam as propriedades estruturais de malhas triangulares e quadrangulares; suportam refinamento uniforme e não uniforme, tornando possível a geração de tesselagens adaptadas em multiresolução; o refinamento é composto de dois passos de subdivisão binária, permitindo fatoração dos esquemas de subdivisão; são construídas utilizando bisseções, que são fáceis de implementar e produzem transição gradual de resolução. As malhas semi-regulares 4-8 podem ser classificadas como adaptativas e não-adaptativas. No caso das malhas não-adaptativas, existe apenas uma hierarquia na malha, ou seja, as modificações feitas em uma região da malha afetam a resolução da malha globalmente. Já no caso das malhas adaptativas, existe uma família de hierarquias, de forma que não há interferência entre modificações locais em cada nível. Esta dissertação utiliza malhas adaptativas para que seja possível deformar um terreno em diferentes níveis de detalhe independentes entre si e visualizá-lo em diferentes resoluções através de simplificações ou refinamentos. Um exemplo desta estrutura pode ser visto na Figura 2.1, onde é mostrado um bloco básico da estrutura e dois passos de refinamento consecutivos realizados sobre ele CONSTRUÇÃO DA ESTRUTURA HIERÁRQUICA As tesselagens de uma malha A4-8 são ladrilhamentos refináveis. Esta propriedade significa que é possível subdividir um ladrilho menos detalhado e obter um semelhante mais detalhado, ou seja, é possível construir uma tesselagem em multiresolução usando refinamento. Existem dois métodos alternativos de construção: subdivisão quaternária e subdivisão binária intercalada.

27 25 (a) (b) Figura 2.1: Estrutura de uma malha 4-8, em (a) um bloco básico destacado em roxo e em (b) dois passos de refinamento, o primeiro gera os vértices em azul e o segundo, os vértices em vermelho (a) (b) Figura 2.2: (a) Protótipo de subdivisão quaternária e (b) protótipo de subdivisão binária. Considere uma malha M = (V, A, P), onde V, A e P é o conjunto de vértices, arestas e faces (polígonos) pertencentes à esta malha, respectivamente. Considere também, que o conjunto de vértices de valência igual a quatro é V 4 e o de valência igual a oito é V 8. O procedimento de refinamento subdivisão quaternária de uma malha M pode ser visto na Figura 2.2a e é descrito através dos seguinte passos: 1. Divida todas as arestas a A em seus pontos médios m; 2. Subdivida todas as faces f P em quatro novas faces, ligando o vértice de valência 4, v V 4, ao ponto médio m da aresta oposta e ligando m aos pontos médios das duas outras arestas. O procedimento de subdivisão binária intercalada é ilustrado pela Figura 2.2b e é realizado através dos seguintes passos: 1. Divida as arestas a = (v i, v j ) A que são formadas por dois vértices de valência 8, v i, v j V 8 ;

28 2. Subdivida todas as faces f P em duas sub-faces, ligando o vértice de valência 4, v V 4, ao ponto médio m da aresta oposta Abordagens para Construção da Malha A4-8 Uma malha A4-8 pode ser construída através de duas abordagens: top-down e bottom-up. A abordagem top-down, também chamada método de refinamento, se caracteriza por criar uma malha na menor resolução possível e, progressivamente, aumentar a resolução através da criação de novos triângulos e adição dos mesmos à malha. Já a abordagem bottom-up, ou método de simplificação, cria uma malha na maior resolução possível e, de maneira análoga, reduz a resolução pela união de triângulos presentes na malha (Fig. 2.3). Refinamento Simplificação Figura 2.3: Refinamento e simplificação da malha A4-8. A abordagem bottom-up é mais custosa em termos de processamento, então geralmente é utilizada para criar malhas estáticas, pré-processadas. A abordagem top-down cria uma malha mais simplificada e consome menos recursos, então é preferida quando necessita-se modificar a malha dinamicamente. Existem também sistemas que utilizam uma abordagem híbrida, simplificando ou refinando a malha a cada quadro, permitindo que uma técnica de coerência quadro-a-quadro seja implementada. Estes sistemas não são classificados como top-down ou bottom-up. Nesta dissertação, a malha é construída utilizando-se uma abordagem estritamente top-down no processo de tesselagem. Em outras palavras, a malha inicial a cada quadro sempre possui a menor resolução possível e a tesselagem é responsável por refinar a malha de acordo com a necessidade. Não existe assim, na verdade, simplificação na malha quando ela passa de uma resolução maior para uma menor. Todas as resoluções são alcançadas através do processo de refinamento, que é aplicado aos triângulos da malha (visto na Sec.

29 ), partindo-se da malha inicial de menor resolução. Desta maneira, é possível que o aplicativo final mantenha sua eficiência mesmo com modificações sendo feitas na malha em tempo real REPRESENTAÇÃO DA ESTRUTURA HIERÁRQUICA Uma malha M A4-8 pode ser representada através de uma estrutura em árvore de triângulos. Dependendo do tipo de refinamento utilizado, a árvore é quaternária ou binária. Esta dissertação utilizou uma estrutura de árvore binária triangular, ou bintree triangular (DUCHAINEAU et al., 1997), para representar um terreno Bintree Triangular Considere uma malha A4-8 M que possui um conjunto de vértices V R 2 dado por V := { v i := (u i, v i ) R 2, i = 1,..., n}, onde n é o número de vértices. A bintree triangular é uma árvore binária onde, geometricamente, cada nó da árvore representa um triângulo. O triângulo raiz, T = ( v a, v 0, v 1 ) onde v a, v 0, v 1 V, é definido como um triângulo reto isósceles no nível menos refinado, (l = 0). No próximo nível, l = 1, os filhos da raiz são definidos através da inserção da aresta definida entre o vértice ápice v a e o ponto médio v c V da aresta base ( v 0, v 1 ). O filho à esquerda é T 0 = ( v c, v a, v 0 ) e o filho à direta é T 1 = ( v c, v 1, v a ). Repetindo recursivamente este processo, obtém-se o restante da árvore. A Figura 2.4 ilustra alguns níveis de uma bintree triangular. Um triângulo T b é considerado triângulo base de T, caso divida a aresta base ( v 0, v 1 ) de T. O vizinho à esquerda T 0 é um triângulo que divide a aresta esquerda ( v a, v 0 ) e o vizinho à direita T 1, o que divide a aresta direita ( v 1, v a ). Um passo do processo de refinamento substitui T pelos triângulos T 0 e T 1. Se o triângulo T não possui vizinho na base, apenas T é refinado. Este processo de refinamento pode ser repetido enquanto for possível obter um vértice v c no conjunto de dados. O processo de simplificação funciona de maneira análoga. Quando dois triângulos T e T b estão no mesmo nível l (ou seja, no mesmo nível de detalhe), o par (T, T b ) é referido como um diamante. A operação de refinamento sobre o diamante é realizada dividindo os dois triângulos, gerando assim quatro novos filhos: (T 0, T 1 ), filhos de T e (T b0, T b1 ), filhos de T b. Se o triângulo T b não existir, somente T é refinado. A operação de simplificação une os filhos (T 0, T 1, T b0, T b1 ), os substituindo na malha

30 28 v a l = 0 l = 1 T v a T T 0 1 v 0 v 1 v 0 v c v 1 l = 2 l = 3 T0 T 1 l = 4 l = 5 T T 1 T T Figura 2.4: Níveis 0 5 de uma bintree triangular. pelos seus pais (T, T b ). Neste caso, (T 0, T 1, T b0, T b1 ) formam um diamante simplificável (Fig. 2.5). T Refinamento T 0 T 1 T b T b T b 0 1 Simplificação Figura 2.5: Refinamento e simplificação do diamante. Um triângulo T em um nível l não pode ser dividido imediatamente caso seu triângulo base T b esteja em um nível l menor (menos refinado). Para dividir T, é preciso antes forçar a divisão de T b, o que pode exigir outras divisões forçadas. O procedimento de divisão forçada evita que a bintree triangular apresente descontinuidades e pode ser visto na Figura 2.6. É importante ressaltar que a estrutura descrita nesta seção precisa ser adaptada de forma que uma malha A4-8 possa representar um terreno esférico. À medida que a bintree triangular é construída, conecta-se os vértices dos triângulos de borda da malha para que o plano seja conformado de acordo com a topologia do cilindro. No decorrer do refinamento da malha, os vértices são mapeados de acordo com alguma função f e o

31 29 Divisão Forçada T T b Figura 2.6: Divisão forçada de um triângulo. Figura 2.7: Cilindro sendo conformado em uma esfera. No meridiano da esfera as coordenadas das duas bordas do plano são conectadas (NOEL, 2010). cilindro conforma-se em uma esfera. Os vértices do plano na latitude que passa pelos polos são mapeados em uma mesma coordenada na esfera (Fig. 2.7). Outro fator importante a ser lembrado é que, para cada vértice v V, devem ser armazenados dois valores, w e ε. O primeiro valor, w, representa a altura do vértice definida como w = g(f(u, v)) = g(x, y, z), onde f é uma função de mapeamento f : R 2 R 3 e g é uma função que utiliza as coordenadas do vértice mapeado, x, y e z, para calcular um valor de altura. O escalar obtido é armazenado em uma matriz de escalares nas coordenadas u e v do vértice v. A matriz de escalares que contém todas as alturas dos vértices v V forma o chamado mapa de alturas M a. Através de modificações em M a utilizando g, é possível deformar a superfície de um objeto contínuo (terreno esférico) como será mostrado nesta dissertação. O segundo valor, ε, representa o valor erro de cada vértice v V. Este valor será detalhado na Seção De maneira resumida, é possível dizer que o erro de um vértice é definido como ε = ε T, onde ε T é o erro do triângulo que tem v como vértice ápice. Na prática, o valor de erro de um triângulo ε T, para T = ( v a, v 0, v 1 ), é armazenada em uma matriz de escalares no índice u e v do vértice ápice v a de T. A matriz de escalares com todos os erros dos vértices v V é chamada de mapa de erros M e.

32 Os valores de erro e altura de cada vértice da malha são utilizados pelo processo de tesselagem para decidir se um triângulo T, do qual o vértice pertence, deve ou não ser refinado ou simplificado. A resolução da malha também é um fator importante a ser considerado. Esta dissertação utiliza na malha valores de resolução que sejam uma potência do número dois acrescido do valor um, como por exemplo, 1025, 2049 e Esta escolha garante não só a agilidade nos cálculos realizados, como também permite que a passagem de uma determinada resolução para outra seja feita através de cálculos simples sem a necessidade de tratamentos. Considere como exemplo uma resolução de valor cinco e uma de valor quatro, ou seja uma malha 5 5 e outra 4 4. Realizando o refinamento, ou seja, dividindo a soma entre o menor e o maior valor de coordenada (u ou v) na malha por dois, percebe-se que no primeiro caso obtem-se a coordenada = 2 e no segundo caso = 1.5. Isso significa que, um valor que é uma potência do número dois acrescido do valor um, sempre permite a passagem de uma resolução para outra com um valor inteiro de coordenada resultante. Se fosse escolhido um valor qualquer para resolução, seria necessário em vários casos realizar o tratamento da coordenada resultante do refinamento, como no segundo caso mostrado acima PARAMETRIZAÇÃO Uma superfície paramétrica no espaço Euclidiano R 3 é definida por uma equação paramétrica de dois parâmetros, chamados neste trabalho de u e v. Em especial, deseja-se um mapeamento f : Ω S, onde f é uma função de mapeamento, Ω é um subconjunto aberto Ω R 2 e S é uma superfície S R 3. Esta dissertação utilizou a projeção ortográfica como função f para mapear Ω em S, mais especificamente, um plano, representado pela malha A4-8, em uma esfera. Considere, assim, que o conjunto de vértices V de uma malha A4-8 representa Ω e que todos vértices v V estão associados à coordenadas u e v no plano. Considere também, que 0 u m u e 0 v m v. Para definir uma função f em termos de latitude e longitude de um vértice v V,

33 31 calcula-se a latitude de v através da Equação 2.1 e sua longitude pela Equação 2.2. latitude = (v π) m v π 2. (2.1) longitude = (2u π) m u π. (2.2) Considere agora que o raio da esfera definida por S é r. O domínio V e a superfície S podem ser escritos através das Equações 2.3 e 2.4, respectivamente. V = {(u, v) R 2 : 0 u m u, 0 v m v }. (2.3) S = {(x, y, z) R 3 : x 2 + y 2 + z 2 = r 2 }. (2.4) A função de mapeamento do plano na esfera é dada por: f(u, v) = r cosseno(longitude) cosseno(latitude), r seno(longitude) cosseno(latitude), r seno(latitude). (2.5) Deste ponto em diante, v será utilizado como notação para descrever um vértice que pertence a V, ou seja, um vértice da malha no domínio discreto. Já v, será utilizado quando o vértice estiver no domínio contínuo, ou seja, é o vértice de coordenadas x, y e z mapeado por f(u, v). Vale ressaltar que a função f não é bijetora, ou seja, a função f mapeia um vértice no espaço Euclidiano R 3, mas a sua função inversa f 1, pode mapear diversos vértices em uma mesma coordenada em V dependendo da latitude e longitude. Outro problema a ser mencionado é que a projeção não preserva a área, ou seja, esta é reduzida de acordo com a proximidade dos polos. Estes problemas influenciam diretamente a deformação de terrenos. O vértice v c R 3 utilizado para iniciar o processo de deformação (vértice de controle), não pode ser definido em S e depois mapeado para o plano. De maneira análoga, um conjunto de vértices v V que represente todos os vértices dentro de alguma área de deformação, não pode ser definido diretamente em V, já que a projeção utilizada não preserva área. Desta forma, o vértice de controle v c S é definido partindo-se do domínio discreto para o contínuo.

34 32 Já o conjunto de vértices dentro da área de deformação é definido partindo-se do domínio contínuo para o discreto. Todo o processo de mudança de domínios, do discreto para o contínuo e vice-versa, é de vital importância para deformação de terrenos proposta neste trabalho. Além de ser necessário passar de um domínio para o outro na definição do vértice de controle e na determinação do conjunto de vértices na área de deformação, é preciso realizar essa passagem para observar a deformação no terreno. Quando o conjunto de vértices a serem deformados é definido, os valores de altura são calculados no domínio contínuo para cada um desses vértices. O cálculo é realizado através de uma função g e os valores obtidos são posteriormente armazenados no mapa de alturas. Na próxima vez que o terreno for visualizado, a função de mapeamento f transmitirá o valor calculado por g para a superfície S no domínio contínuo. A deformação do terreno é, então, a modificação feita nos valores de altura w dos vértices dentro da área de deformação no domínio discreto. Esta modificação é transmitida para o domínio contínuo através da modificação do raio r na função de mapeamento. Substitui-se o raio r da esfera por r = r+w na Equação de mapeamento 2.5, transmitindose para cada coordenada obtida pela função f a modificação de altura calculada PARTIÇÃO DO ESPAÇO DE PARÂMETROS Para obter uma partição N V que represente todos os vértices v com uma determinada característica, é preciso discretizar o objeto contínuo representado por S. De maneira mais específica, deseja-se obter uma partição de V contendo todos os vértices v que, mapeados por f(u, v), se encontrem a uma determinada distância de um vértice de controle v c R 3. Em outras palavras, deseja-se todos os vértices v V que estejam dentro de uma área de deformação definida no espaço Euclidiano R 3. Para obter N, calcula-se inicialmente a distância Euclidiana em R 3 entre os vértices v T = [x, y, z] T e o vértice de controle v T c = [x c, y c, z c ] T para todos os vértices v V. Essa distância é definida como d ic e obtida através da seguinte equação: d ic = (x x c ) 2 + (y y c ) 2 + (z z c ) 2. (2.6)

35 33 Depois, define-se uma função que classifica os vértices v i através de 1, se d ic d I(u, v) = 0, caso contrário, (2.7) onde I(u, v) é uma função que utiliza as coordenadas u e v de um vértice v para indicar se ele está ou não dentro de uma área de deformação e d R +. Esta classificação do vértice de acordo com a função I será chamada de propriedade I(u, v). Se a função resultar no valor um, o vértice possui a propriedade, caso contrário, não a possui. Se o vértice possui a propriedade I(u, v), ele é colocado no conjunto de vértices que está dentro da área de deformação. Este conjunto de vértices será chamado de V d. Importante ressaltar que o conjunto V d é definido no domínio discreto, mas a distância é calculada no domínio contínuo. Isso ocorre porque, se a distância fosse calculada no domínio discreto, a área de deformação resultante seria distorcida pelo mapeamento de acordo com sua localização na esfera. 2.3 MÉTRICA DE ERRO Por motivos de simplificação, esta dissertação utilizou a métrica de erro proposta no algoritmo Malhas Otimamente Adaptáveis em Tempo Real (ROAM ). O algoritmo usa a malha A4-8 para adaptar um terreno e a estrutura hierárquica da bintree triangular, já detalhada na Seção , para representá-lo. De forma a decidir se um triângulo deve ser refinado ou simplificado, o algoritmo ROAM utiliza o conceito de espaços aninhados. Sendo C o conjunto de descendentes de um vértice v i V, o erro ε vi e vj, j C. Isso significa que a métrica de erro garante a monotonicidade dos valores de erro, ou seja, os pais em nível menos refinado sempre possuem um valor de erro maior do que seus filhos, que estão em níveis mais refinados do terreno. A ideia da métrica é garantir que as áreas mais relevantes do terreno estejam mais refinadas do que as menos relevantes. No primeiro caso, as regiões montanhosas ou mais próximas do observador e no segundo, as regiões planas ou distantes do observador. Para utilizar a métrica de erro do algoritmo ROAM, calcula-se o erro geométrico e o erro dependente do observador para cada triângulo.

36 34 Outro algoritmo que possui uma métrica de erro mais refinada, considerado uma evolução do ROAM, é chamado Refinamento sem Estados de Uma Passagem Adaptativo (SOAR). A métrica deste algoritmo é baseada no conceito de esferas aninhadas e pode ser vista em detalhes no trabalho (LINDSTROM; PASCUCCI, 2001). Os resultados visuais obtidos através dessa métrica são mais refinados, porém o algoritmo possui um custo de processamento elevado para um aplicativo em tempo real. Este fato inviabilizou sua utilização nesta dissertação ERRO GEOMÉTRICO O algoritmo ROAM usa o conceito de wedgie para definir o erro geométrico. Considere que T é um triângulo da bintree triangular e a mesma notação de vizinhança da Seção será utilizada. Um wedgie é definido como o volume do mundo que contém os vértices (u, v, w), de forma que (u, v) T e w w T ( v) e T, para uma determinada espessura de wedgie ε T 0. O segmento de linha de (u, v, w e T ) até (u, v, w + e T ) é chamado espessura de segmento para um vértice v. Os erros aninhados dos wedgies são calculados de maneira bottom-up. Assume-se ε T = 0 para todos os triângulos no nível mais refinado possível. A espessura do wedgie de um triângulo T é calculada em função das espessuras dos wedgies de seus filhos, ε T0 e ε T1. Consideranto um triângulo T de vizinhos T 0 à esquerda e T 1 à direita, calcula-se ε T como ε T = max(ε T0, ε T1 ) + w( v c ) w T ( v c ), (2.8) onde v c é o vértice obtido pela bisseção da aresta oposta ao vértice ápice do triângulo T e w T ( v c ) é dado por w T ( v c ) = (w( v 0) + w( v 1 )). (2.9) 2 A ideia do erro geométrico é levar em consideração o nível na estrutura hierárquica e a altura w dos vértices para definir o critério de refinamento ou simplificação da malha. Isso quer dizer que, quanto menos refinado um triângulo, ou quanto menor a sua altura, menor o seu erro geométrico. A Figura 2.8 mostra um exemplo univariado de wedgies aninhados, juntamente com a

37 35 cadeia de wedgies que dependem de um determinado vértice v. v Figura 2.8: Wedgies aninhados em 1D, com os dependentes de v (DUCHAINEAU et al., 1997) ERRO DEPENDENTE DO OBSERVADOR O erro dependente do observador, chamada de distorção geométrica da tela, é simplesmente um cálculo de distorção geométrica. Este cálculo representa a distância entre a posição onde cada vértice da superfície S deveria estar no espaço de tela e onde a triangulação toca a tela. Seja s( v) a posição correta no espaço de tela de um vértice v dado por f(u v, v v ) e s T ( v) sua aproximação pela triangulação T. O erro neste ponto é definido por: dist( v) = s( v) s T ( v) Na imagem inteira, o erro máximo é dado por dist max = max v Vf (dist( v)), onde V f é o conjunto de vértices v da malha que, ao serem mapeados na esfera, estão dentro do frustum de visão (região do espaço que pode aparecer na tela). Na prática, é calculado um limite superior para a distorção máxima. Para cada triângulo T na triangulação, um limite local é calculado, projetando o wedgie no espaço de tela. O limite é definido como o maior tamanho das espessuras ε T de todos os vértices v T projetadas na tela. Este limite é definido dinamicamente pelo usuário e permite

38 que a malha seja forçada a se modificar para representar um determinada resolução do terreno. 36

39 37 3 MÉTODO PROPOSTO 3.1 VISÃO GERAL DO MÉTODO Para deformar um terreno através da modificação do seu mapa de alturas, é proposto um método que possui as seguintes etapas: Definição dos pontos de controle; Definição da área de deformação; Propagação de alturas e erros. A primeira etapa define onde será feita a deformação no terreno através de pontos de controle. A segunda etapa utiliza os pontos de controle para definir uma área de deformação, ou seja, o conjunto de vértices v V que serão modificados. A última etapa descreve a propagação de valores de altura e erro para os vértices do terreno contidos na área de deformação. Vale ressaltar que o método é uma parte de um sistema que realiza outras funções como: detecção de marcadores fiduciais e cálculo da distância relativa entre eles; renderização de acordo com uma métrica de erro e translação; escala e rotação do terreno esférico. A Figura 3.1 mostra as etapas do método proposto e sua relação com o sistema. Em azul as partes do sistema independentes do método, em vermelho as etapas do método e em verde as entradas controladas dinamicamente pelo usuário. 3.2 DEFINIÇÃO DO PONTO DE CONTROLE Uma prática comum que precede a aplicação de técnicas para deformação de malhas é a definição de pontos de controle. Como o próprio nome já diz, estes pontos servem para controlar algum aspecto do processo de deformação. Eles podem ser usados, por exemplo, para controlar onde começa o processo de deformação (GREGORY et al., 1999; FOSKEY et al., 2005), ou construir uma grade que defina uma área ou volume da superfície a ser deformado (SEDERBERG; PARRY, 1986; COQUILLART, 1990).

40 38 Tesselagem Obtenção dos pontos de controle Definição da área de deformação Propagação de valores de altura e erro Raio do deformação Fluxo do sistema Renderização Threshold de erro Figura 3.1: Visão geral do método. Esta dissertação utiliza um vértice v c de controle, que define o centro da área de propagação dos valores de altura e erro, ou seja, onde começa o método aqui proposto. Ele é obtido durante a tesselagem da malha, representando o vértice v V que, ao ser mapeado na esfera, está o mais próximo possível do objeto deformador (marcador fiducial pré-definido). A medida que a tesselagem ocorre, a posição desse vértice é atualizada se algum vértice criado se encontra mais próximo do marcador fiducial. A escolha do ponto de controle só ocorre se o marcador móvel estiver no campo de visão da câmera. Deste ponto em diante, o ponto de controle será chamado de vértice de controle para facilitar o entendimento. Um exemplo de vértice de controle obtido sobre a superfície do terreno esférico pode ser visto na Figura 3.2a, onde a esfera azul representa o vértice de controle v c e a esfera vermelha é a posição do marcador móvel modificada para o sistema de coordenadas do terreno esférico. Se a posição da câmera se aproxima do terreno ou o usuário aumenta a escala do modelo, a malha passa por um processo de refinamento que pode provocar a mudança do vértice de controle. A Figura 3.2 mostra um exemplo de vértice de controle, definido como v c, antes da atualização devido ao refinamento da malha (Fig. 3.2a) e depois (Fig. 3.2b). Vale ressaltar que, se o usuário movimenta o marcador móvel, v c também muda de

41 39 (a) (b) Figura 3.2: (a) Vértice de controle v c e (b) a atualização da sua posição devido ao refinamento da malha. A esfera azul representa o vértice de controle v c e a esfera vermelha é a posição do marcador móvel. maneira dinâmica. Da mesma forma, se o modelo é rotacionado, transladado ou escalonado, a posição de v c pode ser atualizada. O método aqui proposto utiliza um vértice de controle determinado durante o processo de tesselagem, permitindo que ambas as tarefas fossem feitas em paralelo, agilizando o processo. 3.3 DEFINIÇÃO DA ÁREA DE DEFORMAÇÃO A área de deformação representa o conjunto de vértices V d V que, quando mapeados na esfera através de f(u, v), se encontram a uma distância menor ou igual a um raio em relação a um ponto de controle v c R 3 (Seção 2.2.1). Esse raio é definido dinamicamente pelo usuário girando-se o botão do meio do mouse e será chamado daqui em diante de raio de deformação, ou r d. A área de deformação é construída de acordo com um conjunto de restrições descritas a seguir. Seja V o conjunto de vértices da malha A4-8. Sub-regiões V i V, que representam partições de V dotadas de alguma propriedade I(V i ), podem ser construídas através das seguintes restrições: 1. n i=1 V i = V; 2. V i é uma região conectada, i = 1, 2,..., n; 3. V i Vj = para todo i e j, i j; 4. I(V i ) = 1 para i = 1, 2,..., n;

42 40 5. I(V i Vj ) = 0 para i j, onde V i e V j são adjacentes. A primeira restrição significa que a partição deve ser completa, ou seja, todos os vértices de V i devem estar contidos em V. A segunda, exige que todos os vértices da sub-região estejam conectados. A terceira restrição indica que sub-regiões diferentes devem ser desconexas. A quarta exige que todos os vértices v i V i devem satisfazer as propriedades I(V i ). A última restrição significa que sub-regiões distintas possuem propriedades diferentes. As restrições mostradas acima podem ser reinterpretadas de acordo com o problema desta dissertação. Uma propriedade chamada I(u, v) é definida para cada vértice da malha de acordo com a Equação 2.7, onde a distância é calculada pela Equação 2.6. Deseja-se assim, particionar o terreno em dois conjuntos desconexos, um conjunto V d que possui os vértices dotados da propriedade I(u, v) e outro complementar a este V d. Daqui em diante nesta dissertação, os vértices de V d serão chamados de internos e os vértices de V d serão chamados de externos. A formulação proposta acima segue o mesmo princípio dos processos de segmentação de imagens, onde geralmente deseja-se separar o fundo e uma região de interesse. Esta escolha deve-se ao fato de que a estrutura quase totalmente regular das malhas semiregulares permite o uso de algoritmos tradicionais de processamento de imagens. Como exemplo dessa combinação, é possível citar trabalhos que utilizam algoritmos baseados em subdivisão (ZORIN; SCHRöDER, 2000), Fourier (PENG et al., 2001) e ondaletas (KHODAKOVSKY et al., 2000) CRESCIMENTO DE REGIÃO O algoritmo utilizado nesta dissertação para determinar a área de deformação aplica a técnica de segmentação de imagens chamada crescimento de região para percorrer a malha A4-8 (STOCKMAN; SHAPIRO, 2001). Essa técnica representa a implementação da função recursiva de expansão responsável por percorrer a malha. Ela realiza uma expansão através do domínio espacial de uma imagem, partindo de sementes definidas pelo usuário (início da região de crescimento) e expandindo até pontos adjacentes, de acordo com algum critério pré-definido de filiação a determinada região. Essa técnica possui como vantagem a facilidade de implementação e o caráter de paralelismo em sua formulação, tornando-a uma ferramenta eficiente para percorrer a malha.

43 41 É utilizada aqui uma versão da técnica de crescimento de região que usa apenas uma semente como entrada, também chamada de crescimento de região por semente simples. O ponto de partida é o vértice de controle v c e a expansão ocorre enquanto houver vértices que possuem a propriedade I(u, v). Daqui em diante, o conjunto de vizinhos de v c que possuem a propriedade I(u, v) será chamado de V dc. O algoritmo para determinação da área de deformação será apresentado em duas partes. A primeira, contém as linhas gerais do algoritmo, como os dados de entrada e de saída e suas funções. A segunda parte apresenta detalhadamente a parte principal do algoritmo, ou seja, a função que marca todos os vértices que possuem a propriedade I(u, v) Visão Geral do Algoritmo O algoritmo testa, inicialmente, os vizinhos de v c expansão o conjunto V dc. Essa função expande V dc e passa para a função recursiva de a partir de v c na direção de cada um dos seus vértices vizinhos v i V dc. A visão geral do processo é apresentada no Algoritmo 1. Algoritmo 1: Visão geral do algoritmo para determinação de área de deformação. Entrada: Vértice de controle v c. Saída: Conjunto de vértices V dc. /* Funç~ao que testa e marca os vizinhos de v c. */ InicializaArea( v c ); para cada vértice interno v i vizinho de v c faça /* Funç~ao recursiva que expande na direç~ao de v i. */ DeterminaArea( v i ); fim para cada A vizinhança é percorrida na malha A4-8, porém o teste de distância é feito no espaço Euclidiano R 3 como mencionado na Seção 2.2. Um exemplo do teste de um vértice v i vizinho de v c, através da distância d ic entre os dois, pode ser visto na Figura 3.3. O conjunto final de vértices V dc pode ser visto na Figura 3.4.

44 42 v u d ic (x, y, z) v c v i f(u, v) Figura 3.3: Início do processo de expansão. O vértice de controle é v c no domínio discreto e v c no domínio contínuo. O raio que define a área de deformação é r d e d ic é a distância em R 3 entre o vértice de controle v c e um de seus vizinhos v i. v u v c d f(u, v) v i v c (x, y, z) Figura 3.4: O conjunto V dc, em verde, representa os vértices que possuem a propriedade I(u, v). No exemplo, todos os vizinhos estão dentro da área de deformação Função Recursiva de Expansão A função recursiva é responsável por caminhar pela malha na direção de cada um dos vizinhos de v c, aplicando a propriedade aos vértices. v c É possível separar as oito vizinhanças de um vértice em dois casos, direção diagonal e direção vertical/horizontal. Um vizinho está em uma direção diagonal se as duas coordenadas do vértice original no espaço paramétrico, u e v, se modificam em um passo do algoritmo naquela direção. Para a direção vertical/horizontal, um passo do algoritmo modifica apenas uma coordenada, u ou v, do vértice original. A combinação dos casos mencionados acima permite que o algoritmo percorra toda área de deformação na malha. Se a direção é diagonal, a recursão apenas repete a direção de expansão do passo anterior (Fig. 3.5a). Já no caso da direção vertical/horizontal, a recursão é chamada para direção de expansão do passo anterior e suas duas direções diagonais adjacentes (Fig. 3.5b). A situação após um passo do algoritmo para todos os vértices internos vizinhos de v c é mostrada na Figura 3.5c. A Figura 3.5b ilustra um passo do algoritmo de expansão para o vértice v 2 V dc de

45 43 v ae v ad v ae v vh v ad v 1 v 3 v 2 v u v p (a) v u v p (b) v u v p (c) Figura 3.5: Exemplo de expansão na direção diagonal (a) e na direção vertical/horizontal (b). Um passo do algoritmo de expansão após todos os vizinhos de v c serem computados pode ser visto em (c). coordenadas (u, v + 1) em relação ao vértice principal v p. Nesta figura, v vh é o vértice na direção vertical/horizontal em relação ao vértice principal, v ae e v ad são os vértices nas direções diagonais adjacentes a direção de v vh. A função recursiva de expansão está escrita no Algoritmo 2. Algoritmo 2: Função principal do algoritmo de determinação de área. /* Este teste é feito para todos os vizinhos de v c. */ se v i possui a propriedade I(u, v) então selecione direção de propagação faça caso Diagonal DeterminaArea(( v i )); caso Vertical/Horizontal DeterminaArea(( v vh )); DeterminaArea(( v ae )); DeterminaArea(( v ad )); fim se fim selec retorne;

46 44 (u = 0, v = 0) (u = M - 1, v = 0) u u v (u = M, v = 0) u Figura 3.6: Tratamento de bordas no caso de vértices se expandindo além das dimensões do terreno. Para a latitude, se um vértice v extrapola as dimensões do terreno, a expansão é interrompida naquela direção. No caso da longitude, a coordenada u do vértice é modificada para que ele possa continuar expandindo TRATAMENTO DE BORDA Quando um vértice v i V dc se encontra na borda da malha, ou seja, possui coordenada u = {0 ou m u } e/ou v = {0 ou m v }, o método precisa modificar sua rotina para promover a expansão. Se o vértice está na borda em sua coordenada u (longitude igual a 180 ), sua coordenada deve ser modificada de forma a refletir que o plano foi inicialmente conformado em um cilindro (Seção 2.2). Em resumo, se o vértice atingir a coordenada u = 0, o próximo passo do algoritmo irá modificá-la para u = m u 1. De forma análoga, se a coordenada for u = m u, o próximo passo do algoritmo modificará esta coordenada para u = 1. O pulo de uma coordenada para a longitude é proposital, refletindo que para as coordenadas u = 0 e u = m u existe uma sobreposição na malha. É importante ressaltar que se um vértice possui coordenada u de borda no terreno, qualquer modificação feita no mapa de alturas e erros para este vértice deve ser repetida na outra extremidade do mapa para evitar rachaduras no terreno. No caso da coordenada v (latitude), se um vértice atingir qualquer uma das coordenadas da borda, o algoritmo simplesmente para de propagar. Isso se deve ao fato de que, para a topologia da esfera, é necessário apenas conectar as bordas da malha no sentido leste e oeste. Para a topologia do toro, o caso seria o inverso, tornando o método facilmente modificável. Um exemplo do tratamento de bordas pode ser visto na Figura 3.6.

47 PROPAGAÇÃO DE ALTURAS E ERROS Determinada a área de deformação, ou conjunto V d V, é preciso propagar valores de alturas e erro para todos os vértices do conjunto V d. O algoritmo de propagação pode ser definido como uma extensão do algoritmo de determinação de área, já que ambos percorrem todos os vértices que possuem a propriedade I(u, v). O algoritmo final para modificação de alturas e erros utiliza a função recursiva de expansão para percorrer os vértices e novas funções para calcular altura e os erros dos vértices no conjunto V d. No caso da propagação de erro, a rotina de expansão deve ser modificada para refletir a métrica proposta pelo algoritmo ROAM CÁLCULO E PROPAGAÇÃO DE ALTURAS A função utilizada nesta dissertação para calcular os valores de alturas é a função de distribuição Gaussiana g(x) descrita pela Equação 3.1. A função tem valor máximo no vértice de controle e valor mínimo nos limiares da área de deformação. Nesta função, se o desvio padrão σ for pequeno em relação a média µ, a parte visível da deformação se concentra perto de v c, enquanto no caso inverso, a parte visível da deformação apresenta mudança abrupta de alturas nas regiões limites da área de deformação. g(x) = 1 σ (x µ) 2 2π e 2σ 2. (3.1) O processo envolve a passagem do domínio discreto para o contínuo e vice-versa. Um vértice v V é mapeado na esfera e testado, para saber se está ou não dentro da área de deformação. Se ele for um vértice interno, a distância Euclidiana em R 3 do vértice v, mapeado por f, para o vértice de controle v c, é passada para função Gaussiana definida pela Equação 3.1 e um valor de altura é obtido. Este valor é, então, associado a um escalar w e armazenado no mapa de alturas representado por uma matriz, através de suas coordenadas (u, v). O novo valor de w é acessado na próxima tesselagem, onde a função de mapeamento transmitirá a modificação feita no mapa de alturas para a superfície do terreno.

48 MÉTRICA E PROPAGAÇÃO DE ERRO A métrica de erro proposta nesta dissertação é a mesma utilizada no algoritmo ROAM, porém com uma implementação diferente. Da mesma forma que para a propagação dos valores de altura, deseja-se percorrer todos os vértices v V d para propagação de erro. Porém uma restrição fundamental da métrica de erro é que a monotonicidade seja garantida, ou seja, os pais possuem erro maior que o erro dos filhos (Seção 2.3). Essa condição seria facilmente violada utilizando apenas a função de expansão descrita pelo Algoritmo 2. Considere, por exemplo, um determinado vértice v que ao ser mapeado na esfera localiza-se próximo ao limiar da área de propagação. Este vértice tem um valor de altura baixo devido a distância que se encontra da posição de v c. Se o erro fosse propagado de maneira análoga à propagação de alturas, o vértice v teria também um valor de erro baixo, o que não é verdade para maioria dos casos. Para exemplificar o cálculo correto de erros em um triângulo T, considere a Figura 3.7. Os valores no triângulo da esquerda (Fig. 3.7a) representam as alturas w dos vértices v T. No triângulo da direita (Fig. 3.7b) os respectivos valores de erro calculados pela Equação 2.8. Os valores de erro ε = 0 de um vértice v significam que ele faz parte de um triângulo que está no último nível de resolução , (a) 17,5 (b) Figura 3.7: Exemplo de propagação de erro correta. No triângulo da esquerda (a) valores de altura para os vértices do triângulo T e no triângulo da direita (b) os respectivos valores de erro. Para propagar erros de forma correta, é necessário utilizar uma função de expansão que percorra a malha de maneira hierárquica. Os mesmos casos relativos a direções de vizinhos de um vértice v, visto na Seção , podem ser utilizados. Apenas a lógica precisa ser modificada. A malha é percorrida de maneira hierárquica utilizando o conceito de passo alternado.

49 47 Considere um número de iterações i = 0, 1, 2,..., n e um tamanho de passo p a. Sabendo que todos os nós folha da árvore binária triangular possuem erro ε T = 0 e que o erro cresce a medida que reduzimos o nível de resolução até atingir-se o nó raiz, é possível averiguar na árvore que a posição dos nós é espaçada de maneira homogênea para valores similares de erro. Considere, por exemplo, a Figura 3.8a que mostra a disposição dos vértices que possuem erro ε T = 0 em um triângulo T no maior nível de resolução. Percebe-se que é possível caminhar na estrutura percorrendo todos os vértices nesta resolução, utilizandose passos p l de tamanho ímpar na direção vertical, seguido de caminhadas nas duas direções diagonais ao vértice alcançado pelo passo inicial. Caminhada Passo inicial Incremento Passo inicial v u (a) Caminhada e = 0 T Passo inicial Incremento v u (b) e = 0 T Passo inicial Caminhada v u (c) e = 0 T v u (d) e = 0 T Figura 3.8: Exemplo de expansão hierárquica. Em (a) ocorre o primeiro caso, passo na vertical e caminhada diagonal. Em (b) acontece o segundo caso, passo diagonal e caminhada vertical, ambos na iteração de valor zero. Já em (c) repete-se o primeiro caso e em (d) o segundo, agora para iteração de valor um. De maneira mais específica é possível afirmar neste caso, que o passo inicial a cada iteração i é dado pela Equação 3.2 e o incremento do passo i c é dado pela Equação 3.3.

50 Nesse caso onde a resolução é máxima, a iteração i = 0, o passo inicial p l = 1, o incremento do passo i c = 2 na direção vertical e o passo para caminhada na diagonal p d = p l. 48 p l = 2 i. (3.2) i c = 2 p l. (3.3) Considere agora o exemplo da Figura 3.8c, dois níveis de resolução abaixo do máximo. A iteração agora é i = 1 e o passo inicial p l = 2, validando por indução as Equações 3.2 e 3.3. O motivo de i ser igual a um é que para cada iteração é possível percorrer dois níveis de resolução, um para cada caso sendo apresentado aqui. Para o nível de resolução que está imediatamente abaixo do máximo, o modelo se modifica (Fig. 3.8b). O passo inicial e o incremento são obtidos da mesma maneira que no caso anterior, seguindo as Equações 3.2 e 3.3. A iteração é novamente i = 0, p l = 1 e i c = 2. Neste caso, porém, o passo inicial é feito na direção diagonal e a caminhada pela estrutura é feita na direção vertical (o inverso do caso anterior). A recursão caminha na vertical com um passo p a = i c, sendo que para esta resolução p a = 2. A combinação destes casos permite que todos os vértices sejam percorridos, como pode ser visto na Figura 3.8d. Um algoritmo pode ser facilmente extraído destes dois casos, representando uma maneira hierárquica de percorrer a malha A4-8. A monotonicidade é garantida desta forma, pois o erro pode continuar sendo calculado por uma abordagem bottom-up. A propagação de erro está descrita no Algoritmo 3, onde d vvh, d vae e d vad as distâncias entre o vértice de controle v c e os vértices nas direções vertical/horizontal, são

51 49 diagonal esquerda e diagonal direita, respectivamente. Algoritmo 3: Algoritmo de propagação de erros. iteracao 0; propaga true; enquanto propaga = true faça passo = 2 iteracao ; incremento = 2 passo; se d vvh r d então fim se P ropagaerro( v vh passo, passo); se d vae r d então fim se P ropagaerro( v ae passo, incremento); se d vad r d então fim se P ropagaerro( v ad passo, incremento); se d vad r d e d vae r d e d vvh r d então fim se propaga false; iteracao iteracao + 1; fim enqto A função P ropagaerro() é responsável por caminhar pela estrutura como mencionado nos dois casos acima. Ela tem como argumentos o vértice alcançado pelo passo inicial e o tamanho do passo. Essa função é recursiva e caminha na direção do vértice passado como argumento. Ela pára quando um vértice v alcançado for externo. A propagação de erro utiliza a Equação 2.8 para calcular o erro ε T de cada vértice. Os valores de erro ε T de cada vértice v são associados a um escalar ε e armazenados em uma matriz de acordo com as coordenadas do vértice u e v.

52 50 4 RESULTADOS Este capítulo apresenta os resultados obtidos com o método proposto, detalhes da visualização, tabelas de desempenho do método e particularidades do problema. Para validar o método foram utilizados malhas com resoluções máximas de , e vértices. O número máximo de triângulos gerados pelo processo de tesselagem nos testes realizados foi definido como VISUALIZAÇÃO DO TERRENO ESFÉRICO Pensando na interatividade do usuário com o terreno esférico, duas janelas de visualização foram definidas. Desta forma, o usuário consegue ver os resultados da tesselagem em uma escala global e local. Na janela de visão local, a malha está imersa em um ambiente de realidade aumentada. Na janela de visão global, a mesma malha é visualizada em um ambiente puramente virtual, para que o usuário consiga visualizar o frustum local e a tesselagem do planeta, possibilitando um maior controle sobre a modelagem como um todo. (a) (b) Figura 4.1: Visualização de um terreno esférico. Janela de visão local (a) e global (b). O usuário pode realizar as operações básicas de translação, rotação e escala no terreno para melhor visualizá-lo. Para transladar o terreno, o usuário movimenta o marcador fiducial utilizando suas mãos. A rotação do terreno pode ser feita através de atalhos no teclado ou de movimentos de giro segurando o marcador. Para modificar a escala do terreno, o usuário pode utilizar o mouse ou afastar/aproximar o marcador da câmera.

53 51 Como visto anteriormente, a medida que o usuário modifica a distância do terreno para câmera, o erro dependente do observador muda e a malha se adapta através de refinamento ou simplificação. É possível modificar essa distância mudando a escala do modelo, movendo o marcador associado ao terreno ou movendo a câmera. A Figura 4.2 mostra um exemplo de mudança na malha devido a escala do terreno. A posição inicial do terreno pode ser vista na Figura 4.2b, a modificação na malha quando a câmera se aproxima do terreno é vista em 4.2c e quando se afasta na Figura 4.2a. (a) (b) (c) Figura 4.2: Mudanças na malha provocadas pela distância entre câmera e terreno. Posição inicial do terreno em (b), câmera aproximada do terreno (c) e afastada (a). 4.2 EXPERIMENTOS REALIZADOS Todos os experimentos foram feitos em um computador com processador AMD FX(tm) de seis núcleos, memória RAM de 8GB e placa de vídeo GeForce GTX 550 Ti com 2GB de mémória RAM no Sistema Operacional Windows 7. A câmera Microsoft LifeCam foi utilizada como dispositivo de captura de vídeo. A resolução de pixels foi escolhida para as janelas de visualização. O resultado da deformação de um terreno esférico com o método proposto pode ser observado na Figura 4.3. A imagem mostra uma sequência de quadros, da esquerda para direita, onde o usuário realiza um movimento com o marcador fiducial através da superfície do terreno provocando a deformação do mesmo. As matrizes contendo os valores de alturas e erros de todos os vértices v V foram inicializadas com o valor zero. Isso significa que, inicialmente, o terreno é renderizado na menor resolução possível com todos os vértices possuindo altura w = 0. A medida que o usuário deforma o terreno, a resolução e os valores de altura dos vértices mudam dinamicamente devido a vários fatores já mencionados. Vale ressaltar que é possível

54 52 Figura 4.3: Uma sequência de quadros espaçados no tempo que demonstram a malha sendo deformada utilizando o método proposto. também carregar um mapa de alturas e erros pré-computado. Nesta dissertação, o valor de erro máximo da imagem dist max foi testado para valores variando entre 0.1 e 6.0. Os experimentos realizados mostraram que o valor ideal que promove um equilíbrio entre quantidade de triângulos e qualidade de visualização é dist max = 4.0. Um exemplo da diferença na visualização devido a mudança do valor de erro máximo pode ser visto na Figura 4.4., onde temos em (a) um valor de erro máximo dist max = 1.0 e dist max = 6.0 em (b). (a) (b) Figura 4.4: Resultado da tesselagem para valores diferentes de erro máximo. Em (a) o valor de erro utilizado foi dist max = 1.0 e em (b) dist max = 6.0. O raio de deformação r d utilizado durante os testes variou entre 150km e 600km, sendo o raio do terreno esférico igual a km. A diferença na área de deformação no espaço R 3 para três raios de deformação diferentes pode ser vista na Figura 4.5, onde a Figura 4.5a mostra a área para um raio de 150km, a Figura 4.5b mostra a área para o raio de 300km e na Figura 4.5c é possível visualizar a área para um raio de 600km. O tempo médio que o aplicativo demora para renderizar um quadro com o terreno sendo deformado foi calculado para diferentes resoluções. Os dados de entrada do método aumentam diretamente com a resolução do terreno, para um mesmo raio de deformação

55 53 (a) (b) (c) Figura 4.5: Visualização de diferentes áreas de deformação. O valor do raio de deformação utilizado em (a) foi r d = 150km, em (b) r d = 300km e em (c) r d = 600km. r d. Se a resolução for muito alta, pode ser inviável deformar regiões que possuem alta concentração de vértices (polos) em tempo real. Isso ocorre porque o método proposto sempre realiza a propagação de valores de altura e erro até o maior nível de resolução possível. Seria possível, no entanto, adaptar o método para propagar valores de altura e erro apenas em determinados níveis de resolução. A câmera foi fixada em uma posição única para todos os valores contidos nas Tabelas 4.1, 4.2 e 4.3. A posição escolhida esteve a uma distância de três vezes o raio da esfera para o centro da mesma, ou seja, aproximadamente 19000km. No caso da deformação, foi escolhido o pior caso para avaliar o método. Em outras palavras, a longitude foi fixada em 180, onde os vértices apresentam coordenada u = 0 e u = m u para valores variáveis de latitude. Os valores de latitude começam em 0 e aumentam 30 até atingirem 180, ou seja, de um polo ao outro. O tempo médio para renderizar um quadro sem deformações sendo aplicadas ao terreno foi de segundos. Os valores na Tabela 4.1 representam os tempos médios de renderização de um quadro com o terreno sendo deformado para uma resolução máxima de vértices. É possível afirmar que para um raio de deformação r d = 150km, qualquer região do planeta pode ser deformada sem que o usuário perceba queda no número de quadros por segundo. Para um raio de r d = 600km, o aplicativo demora três vezes mais tempo para renderizar um quadro com deformação ocorrendo no polo do que no equador, porém o número de vértices deformados no polo é aproximadamente 90 vezes maior do que no equador. A Tabela 4.2 mostra os mesmos valores agora para uma resolução de vértices. É possível perceber que a mesma situação da resolução anterior se repete, o aumento no número de vértices deformados é muito maior que o aumento no tempo

56 54 Latitude Tempo médio(s) Latitude Vértices modificados r d = 150 r d = 300 r d = 600 Raio de Deformação(km) Tabela 4.1: Tempo médio de renderização do terreno em segundos quando uma quantidade de vértices é modificada em uma determinada latitude. Resolução máxima de vértices. médio de renderização. Isso significa que, o método é eficiente para lidar com o aumento no número de vértices a medida que a resolução aumenta. No caso dos polos, porém, a quantidade de vértices é suficiente para fazer o tempo médio de renderização aumentar de maneira significante. Latitude Tempo médio(s) Latitude Vértices modificados r d = 150 r d = 300 r d = 600 Raio de Deformação(km) Tabela 4.2: Tempo médio de renderização do terreno em segundos quando uma quantidade de vértices é modificada em uma determinada latitude. Resolução máxima de vértices. Na última tabela 4.3, são listados os valores para maior resolução de terreno testada, vértices. Para um raio de deformação r d = 600 percebe-se que a tempo médio começa a ficar elevado para todas as latitudes testadas. Isso significa que, a medida que a resolução aumenta é necessário reduzir o raio de forma a trocar desempenho do aplicativo e qualidade de visualização. Para um raio de deformação r d = 150, os valores de tempo médio se mantém baixos, exceto para os polos que apresentam um número elevado de vértices mesmo nesse raio. Para lidar com o problema da concentração de vértices nos polos, a medida que a

57 resolução cresce, duas soluções podem ser apresentadas. 55 Uma primeira solução seria utilizar uma projeção que possui uma compensação diferente entre forma e área do que a projeção ortográfica utilizada nesta dissertação. É possível citar como exemplo a projeção pseudo-cilíndrica de Mollweide, que reduziria a concentração de vértices próximos aos polos (SNYDER, 1987). Outra solução seria diminuir a raio de deformação, ou limitar o número máximo de vértices modificados na deformação, de acordo com a resolução. No caso da diminuição do raio, o usuário pode modificá-lo para um valor que faça o tempo médio de renderização ficar baixo. Já no caso de limitar o número de vértices, o raio de deformação teria um valor máximo de acordo com esse número. Latitude Tempo médio(s) Latitude Vértices modificados r d = 150 r d = 300 r d = 600 Raio de Deformação(km) Tabela 4.3: Tempo médio de renderização do terreno em segundos quando uma quantidade de vértices são modificados em uma determinada latitude. Resolução máxima de vértices. 4.3 PARTICULARIDADES Um dos fatores relevantes para deformar o terreno é a calibragem do desvio padrão na função de deformação g(x) calculada pela Equação 3.1. Como mencionado na Seção 3.4.1, valores muito pequenos ou grandes do desvio padrão podem provocar um aspecto indesejável na deformação do terreno, como pode-se observar na Figura 4.6. O resultado da deformação para g(x) com um valor de desvio padrão σ = 0.17 (Fig. 4.6a) e o resultado para σ = 0.75 (Fig. 4.6b). A média utilizada em ambos os caso foi µ = 1. Outro fator importante mencionado na Seção é o tratamento de bordas. Para demonstrar como o método lida com os vértices que se encontram no meridiano considere a Figura 4.7. Na Figura 4.7a a deformação sem o tratamento de bordas, na Figura 4.7b após o tratamento.

58 56 (a) (b) Figura 4.6: Deformac a o de terrenos utilizando a func a o de distribuic a o Gaussiana. A deformac a o obtida para um valor de σ = 0.17 e me dia µ = 1 pode ser visto em (a). Em (b), σ = 0.75 e µ = 1. (a) (b) Figura 4.7: Tratamento de bordas. Em (a) e possı vel ver o terreno deformado na regia o da borda sem o tratamento. Em (b) a mesma regia o do terreno, agora deformada com tratamento de borda. (a) (b) Figura 4.8: Visualizac a o de um terreno final gerado atrave s do me todo proposto. Escala local em (a) e global em (b).

Pontifícia Universidade Católica do Rio de Janeiro. Departamento de Informática. Fundamentos de Computação Gráfica

Pontifícia Universidade Católica do Rio de Janeiro. Departamento de Informática. Fundamentos de Computação Gráfica 1. Imagens sísmicas Pontifícia Universidade Católica do Rio de Janeiro Departamento de Informática Fundamentos de Computação Gráfica Aluno: Stelmo Magalhães Barros Netto Relatório do trabalho Imagens Sísmicas

Leia mais

Departamento de Matemática

Departamento de Matemática Computação Gráfica - Evolução de Curvas e Superfícies Aluno: Vinícius Segura Orientador: Sinésio Pesco Introdução Nas últimas décadas atravessamos uma verdadeira revolução tecnológica, devido ao avanço

Leia mais

Processamento de Malhas Poligonais

Processamento de Malhas Poligonais Processamento de Malhas Poligonais Tópicos Avançados em Computação Visual e Interfaces I Prof.: Marcos Lage www.ic.uff.br/~mlage mlage@ic.uff.br Conteúdo: Notas de Aula Curvas 06/09/2015 Processamento

Leia mais

Instituto de Computação Bacharelado em Ciência da Computação Disciplina: Computação Gráfica Primeira lista de exercícios

Instituto de Computação Bacharelado em Ciência da Computação Disciplina: Computação Gráfica Primeira lista de exercícios Instituto de Computação Bacharelado em Ciência da Computação Disciplina: Computação Gráfica Primeira lista de exercícios - 2013.1 Conceitos fundamentais 1) A Computação Gráfica é dividida em diversas sub-áreas.

Leia mais

Geometria Computacional

Geometria Computacional Geometria Computacional Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: - Polígonos 1 Roteiro Introdução Polígonos Teorema da Curva de Jordan Decomposição de polígonos Triangulações Estrutura

Leia mais

Algoritmos de Recorte em 2D

Algoritmos de Recorte em 2D Algoritmos de Recorte em 2D Computação Gráfica DCC065 Prof. Rodrigo Luis de Souza da Silva, D.Sc. Sumário Conceito de Recorte (Clipping) Introdução Algoritmo simples (Força Bruta) Algoritmo de Cohen-Sutherland

Leia mais

Aula 4 TECNOLOGIA EM JOGOS DIGITAIS PROGRAMACAO E INTEGRACAO DE JOGOS I. Marcelo Henrique dos Santos

Aula 4 TECNOLOGIA EM JOGOS DIGITAIS PROGRAMACAO E INTEGRACAO DE JOGOS I. Marcelo Henrique dos Santos Aula 4 Email: Site: marcelosantos@outlook.com www.marcelohsantos.com.br Conceitos sobre a Unity Conceitos sobre a Unity BARRA DE CONTROLE DA CENA O primeiro menu drop-down é para escolher o modo de desenho.

Leia mais

ESPECIFICAÇÃO DE SOFTWARE

ESPECIFICAÇÃO DE SOFTWARE ESPECIFICAÇÃO DE SOFTWARE Integrantes do grupo: Joel Edu Sánchez Castro Fernando Hattori Miguel Angel Galarreta Valverde Felipe Martins dos Santos 1 SUMÁRIO DESCRIÇÃO...3 REQUISITOS...3 REQUISITOS FUNCIONAIS

Leia mais

Objetos Gráficos Espaciais

Objetos Gráficos Espaciais Universidade Federal de Alagoas Instituto de Matemática Objetos Gráficos Espaciais Prof. Thales Vieira 2014 Objetos Gráficos Espaciais f : U R m 7! R 3 Universo físico Objetos gráficos Representação de

Leia mais

Introdução Geral a Computação Gráfica. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de Computação Gráfica

Introdução Geral a Computação Gráfica. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de Computação Gráfica Introdução Geral a Computação Gráfica Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de 2 Introdução Geral a O que é CG? Áreas de Atuação Definição, Arte e Matemática Mercado

Leia mais

UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos

UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes Um estudo dos estágios dos pipelines gráficos Niterói 2008 Pedro Martins Menezes Um estudo dos estágios dos pipelines gráficos Trabalho de Conclusão

Leia mais

Figura 1.1: Um reservatório natural de petróleo típico: dificuldade para investigar áreas de interesse.

Figura 1.1: Um reservatório natural de petróleo típico: dificuldade para investigar áreas de interesse. 1 Introdução Técnicas de realidade virtual são ferramentas valiosas para a criação, manipulação e investigação de estruturas reais. Elas provêem um ambiente seguro para que os profissionais envolvidos

Leia mais

AGRUPAMENTO DE ESCOLAS DE VALE DE MILHAÇOS PLANIFICAÇÃO ANUAL DE MATEMÁTICA 4.º ANO DE ESCOLARIDADE

AGRUPAMENTO DE ESCOLAS DE VALE DE MILHAÇOS PLANIFICAÇÃO ANUAL DE MATEMÁTICA 4.º ANO DE ESCOLARIDADE Domínio/ NO4/ Números naturais NO4/ Números racionais não negativos AGRUPAMENTO DE ESCOLAS DE VALE DE MILHAÇOS PLANIFICAÇÃO ANUAL DE MATEMÁTICA 4.º ANO DE ESCOLARIDADE - 2016-2017 1. Contar 1. Reconhecer

Leia mais

Triangulação de Delauney

Triangulação de Delauney Triangulação de Delauney Um pedaço da superfície terrestre é chamado de terreno. Um terreno é uma superfície 2-dimensional em um espaço 3-dimensional com uma propriedade especial: cada linha vertical intercepta

Leia mais

PLANO CURRICULAR DISCIPLINAR. Matemática 5º Ano

PLANO CURRICULAR DISCIPLINAR. Matemática 5º Ano PLANO CURRICULAR DISCIPLINAR Matemática 5º Ano OBJETIVOS ESPECÍFICOS TÓPICOS SUB-TÓPICOS METAS DE APRENDIZAGEM 1º Período Compreender as propriedades das operações e usá-las no cálculo. Interpretar uma

Leia mais

PLANO CURRICULAR DISCIPLINAR. MATEMÁTICA 7º Ano

PLANO CURRICULAR DISCIPLINAR. MATEMÁTICA 7º Ano PLANO CURRICULAR DISCIPLINAR MATEMÁTICA 7º Ano OBJETIVOS ESPECÍFICOS TÓPICOS SUBTÓPICOS METAS DE APRENDIZAGEM 1º Período - Multiplicar e dividir números inteiros. - Calcular o valor de potências em que

Leia mais

5ª Lista de Exercícios de Programação I

5ª Lista de Exercícios de Programação I 5ª Lista de Exercícios de Programação I Instrução As questões devem ser implementadas em C. Questões que envolvam leitura de matrizes, a construção dessas matrizes pode ser realizada através da geração

Leia mais

ÍNDICE Montagem de conjunto... 2 Estrutura de produto... 3 Estratégias para criação da estrutura do produto...4 Quando devemos utilizar bottom-up

ÍNDICE Montagem de conjunto... 2 Estrutura de produto... 3 Estratégias para criação da estrutura do produto...4 Quando devemos utilizar bottom-up DAC 7 DESENHO E MANUFATURA AUXILIADO POR COMPUTADOR NOTAS DE AULA PROF. DANIEL CAMUSSO 2007 REVISÃO 01 ÍNDICE Montagem de conjunto... 2 Estrutura de produto... 3 Estratégias para criação da estrutura do

Leia mais

As técnicas de concepção

As técnicas de concepção As técnicas de concepção Acadêmicos: Bruno Amaral de Sousa Claudivan Gottardi Guilherme Assufi Dallanol Marlon Victor de Paula Objetivo Demonstrar técnicas destinadas a implementar as especificações para

Leia mais

MATRIZES DE REFERÊNCIA COMPETÊNCIAS E HABILIDADES QUE SERÃO AVALIADAS: ENSINO FUNDAMENTAL I ANOS INICIAIS

MATRIZES DE REFERÊNCIA COMPETÊNCIAS E HABILIDADES QUE SERÃO AVALIADAS: ENSINO FUNDAMENTAL I ANOS INICIAIS MATRIZES DE REFERÊNCIA COMPETÊNCIAS E HABILIDADES QUE SERÃO AVALIADAS: ENSINO FUNDAMENTAL I ANOS INICIAIS II. Implicações do Suporte, do Gênero e /ou do Enunciador na Compreensão do Texto Estabelecer relação

Leia mais

Transformada de Discreta de Co senos DCT

Transformada de Discreta de Co senos DCT Transformada de Discreta de Co senos DCT O primeiro passo, na maioria dos sistemas de compressão de imagens e vídeo, é identificar a presença de redundância espacial (semelhança entre um pixel e os pixels

Leia mais

Algoritmos geométricos

Algoritmos geométricos Algoritmos geométricos introdução a conceitos básicos de geometria computacional que serão abordados de forma mais avançada na disciplina Computação Gráfica disciplina de computação gráfica arquitetura

Leia mais

PLANIFICAÇÃO MENSAL/ANUAL Matemática 4.ºano

PLANIFICAÇÃO MENSAL/ANUAL Matemática 4.ºano PLANIFICAÇÃO MENSAL/ANUAL Matemática 4.ºano MATEMÁTICA 4.º ANO DE ESCOLARIDADE Domínio/ Subdomínio Números Naturais Operações com números naturais Números racionais não negativos Metas a atingir Contar

Leia mais

SCE-201 Computação Gráfica. Representação de Objetos Tridimensionais Modelos Poligonais

SCE-201 Computação Gráfica. Representação de Objetos Tridimensionais Modelos Poligonais INSTITUTO DE CIÊNCIAS MATEMÁTICAS DE SÃO CARLOS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA SCE-201 Computação Gráfica Representação de Objetos Tridimensionais Modelos Poligonais Cenas gráficas

Leia mais

MANUTENÇÃO DINÂMICA DE MODELOS EM COMPUTAÇÃO SENSÍVEL AO CONTEXTO. PALAVRAS-CHAVE: CEP, Esper, Computação Sensível ao Contexto, SBE.

MANUTENÇÃO DINÂMICA DE MODELOS EM COMPUTAÇÃO SENSÍVEL AO CONTEXTO. PALAVRAS-CHAVE: CEP, Esper, Computação Sensível ao Contexto, SBE. MANUTENÇÃO DINÂMICA DE MODELOS EM COMPUTAÇÃO SENSÍVEL AO CONTEXTO Rodrigo Hernandez SOARES 1 ; Ricardo Couto Antunes da ROCHA 2 PALAVRAS-CHAVE: CEP, Esper, Computação Sensível ao Contexto, SBE. 1 - INTRODUÇÃO

Leia mais

- Plano Anual 4º Ano de Escolaridade -

- Plano Anual 4º Ano de Escolaridade - Números e Operações TEM A - Plano Anual 4º Ano de Escolaridade - Matemática Domínios de Referência Contar 1.Reconhecer que se poderia prosseguir a contagem indefinidamente introduzindo regras de construção

Leia mais

Computação Gráfica - OpenGl 02

Computação Gráfica - OpenGl 02 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - OpenGl 02 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti

Leia mais

Exercício 2 - modelagem básica de peça.

Exercício 2 - modelagem básica de peça. Exercício 2 - modelagem básica de peça. Abra um arquivo novo, escolha o template de peça. Por padrão, o template já esta em milímetros. Escolha o plano superior como mostrado na imagem abaixo: Agora na

Leia mais

ESCOLA BÁSICA INTEGRADA DE ANGRA DO HEROÍSMO Plano da Unidade

ESCOLA BÁSICA INTEGRADA DE ANGRA DO HEROÍSMO Plano da Unidade Unidade de Ensino: OPERAÇÕES COM NÚMEROS RACIONAIS ABSOLUTOS (adição e subtracção). Tempo Previsto: 3 semanas O reconhecimento do conjunto dos racionais positivos, das diferentes formas de representação

Leia mais

PLANIFICAÇÃO ANUAL DE MATEMÁTICA

PLANIFICAÇÃO ANUAL DE MATEMÁTICA AGRUPAMENTO DE ESCOLAS MARQUÊS DE MARIALVA- Cantanhede DEPARTAMENTO CURRICULAR DO 1.º CICLO 4.º ANO DE ESCOLARIDADE PLANIFICAÇÃO ANUAL DE MATEMÁTICA Domínios Subdomínios / Conteúdos programáticos METAS

Leia mais

Modelo. Representação de Objetos Tridimensionais. Malhas Poligonais. Modelagem Geométrica. Modelos Geométricos

Modelo. Representação de Objetos Tridimensionais. Malhas Poligonais. Modelagem Geométrica. Modelos Geométricos Representação de Objetos Tridimensionais Malhas Poligonais Maria Cristina F. de Oliveira Rosane 2010 Modelo Representação construída artificialmente para tornar mais fácil a observação/análise de um objeto/fenômeno

Leia mais

Preenchimento de Polígonos

Preenchimento de Polígonos Preenchimento de Polígonos SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade

Leia mais

Figura 9.1: Corpo que pode ser simplificado pelo estado plano de tensões (a), estado de tensões no interior do corpo (b).

Figura 9.1: Corpo que pode ser simplificado pelo estado plano de tensões (a), estado de tensões no interior do corpo (b). 9 ESTADO PLANO DE TENSÕES E DEFORMAÇÕES As tensões e deformações em um ponto, no interior de um corpo no espaço tridimensional referenciado por um sistema cartesiano de coordenadas, consistem de três componentes

Leia mais

Descritores de Matemática 4ª série (5º ano)

Descritores de Matemática 4ª série (5º ano) Descritores de Matemática 4ª série (5º ano) Prova Brasil Matemática São 28 descritores subdivididos em 04 temas. Tema I - Espaço e Forma. D1 - Identificar a localização /movimentação de objeto em mapas,

Leia mais

Planificação Anual. Matemática Dinâmica 7º ano Luísa Faria; Luís Guerreiro Porto Editora. 1 Números inteiros. 10 Sequências e Regularidades

Planificação Anual. Matemática Dinâmica 7º ano Luísa Faria; Luís Guerreiro Porto Editora. 1 Números inteiros. 10 Sequências e Regularidades 3º Período 2º Período 1º Período AGRUPAMENTO DE ESCOLAS DE CASTRO DAIRE Escola EBI de Mões Grupo de Recrutamento 500 MATEMÁTICA Ano lectivo 2012/2013 Planificação Anual Disciplina: Matemática Ano: 7º Carga

Leia mais

5 Integrando objetos sintéticos à cena real

5 Integrando objetos sintéticos à cena real 5 Integrando objetos sintéticos à cena real Neste capítulo são apresentados os principais pontos necessários à composição de uma cena com objetos sintéticos. Desde a iluminação dos objetos até a integração

Leia mais

Introdução à Computação Gráfica Modelagem. Claudio Esperança Paulo Roma Cavalcanti

Introdução à Computação Gráfica Modelagem. Claudio Esperança Paulo Roma Cavalcanti Introdução à Computação Gráfica Modelagem Claudio Esperança Paulo Roma Cavalcanti Histórico Modelagem por arames (wireframes). Representa os objetos por arestas e pontos sobre a sua superfície. Gera modelos

Leia mais

Modelo Massa-Mola aplicado na deformação da malha de um fígado.

Modelo Massa-Mola aplicado na deformação da malha de um fígado. Modelo Massa-Mola aplicado na deformação da malha de um fígado. Victor Adriel de Jesus Oliveira Instituto de Informática Universidade Federal do Rio Grande do Sul (UFRGS) Caixa Postal 15.064 91.501-970

Leia mais

CADERNO DE EXERCÍCIOS ALGORITMOS

CADERNO DE EXERCÍCIOS ALGORITMOS J. EXERCÍCIOS SOBRE MODULARIZAÇÃO 77. Faça uma função que recebe um número inteiro por parâmetro e retorna verdadeiro se ele for par e falso se for ímpar. 78. Escreva um programa que leia o raio de um

Leia mais

Histórico. Estado da Arte. Histórico. Modelagem de Objetos. Modelagem por arames (wireframes). Modelagem por superfícies (década de 60).

Histórico. Estado da Arte. Histórico. Modelagem de Objetos. Modelagem por arames (wireframes). Modelagem por superfícies (década de 60). Histórico Modelagem de Objetos Renato Ferreira Modelagem por arames (wireframes). Representa os objetos por arestas e pontos sobre a sua superfície. Gera modelos ambíguos. Modelagem por superfícies (década

Leia mais

Manual do programa de cálculo de grelhas equivalentes

Manual do programa de cálculo de grelhas equivalentes Manual do programa de cálculo de grelhas equivalentes Introdução: A interface do programa foi desenvolvida para ser a mais simples possível, seguinte uma sequência de passos que são sempre necessários

Leia mais

6 Resultados Estratégias Consideradas

6 Resultados Estratégias Consideradas Resultados 38 6 Resultados Este capítulo mostra algumas estratégias consideradas antes de chegarmos ao sistema proposto, mostra também os resultados obtidos ilustrados por diversos experimentos computacionais,

Leia mais

2.1. Construção da Pista

2.1. Construção da Pista 2 Malha de Controle Para que se possa controlar um dado sistema é necessário observar e medir suas variáveis de saída para determinar o sinal de controle, que deve ser aplicado ao sistema a cada instante.

Leia mais

1 bases numéricas. capítulo

1 bases numéricas. capítulo capítulo 1 bases numéricas Os números são representados no sistema decimal, mas os computadores utilizam o sistema binário. Embora empreguem símbolos distintos, os dois sistemas formam números a partir

Leia mais

Sistema de Visualização de Sistemas Convectivos. Sistema de Visualização de Sistemas Convectivos

Sistema de Visualização de Sistemas Convectivos. Sistema de Visualização de Sistemas Convectivos Sistema de Visualização de Sistemas Convectivos 1. Introdução: O aplicativo Previsão a Curto Prazo e Evolução dos Sistemas Convectivos denominado de FORTRACC, foi desenvolvido com o objetivo de obter a

Leia mais

Computação Gráfica - 13

Computação Gráfica - 13 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - 13 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav

Leia mais

Introdução à Realidade Aumentada. Introduction to Augmented Reality

Introdução à Realidade Aumentada. Introduction to Augmented Reality Introdução à Realidade Aumentada Introduction to Augmented Reality Suzana H. Macedo1,3, Tiago S. Fioravanti2, José V. de Lima3, Maria C. V. Biazus3 Instituto Federal Fluminense (IFF) campus Itaperuna Itaperuna

Leia mais

TOPOGRAFIA II CÁLCULO DE VOLUMES

TOPOGRAFIA II CÁLCULO DE VOLUMES TOPOGRAFIA II CÁLCULO DE VOLUMES 2 Cálculo de volume de prismas e sólidos Volume de Prismas Alguns dos cálculos que serão vistos estarão baseados no conceito de volumes de prisma. Considerando dois planos

Leia mais

Professor: Estevam Las Casas. Disciplina: MÉTODOS DE ELEMENTOS FINITOS MEF TRABALHO

Professor: Estevam Las Casas. Disciplina: MÉTODOS DE ELEMENTOS FINITOS MEF TRABALHO UNIVERSIDADE FEDERAL DE MINAS GERAIS ESCOLA DE ENGENHARIA GRADUAÇÃO EM ENGENHARIA MECÂNICA Professor: Estevam Las Casas Disciplina: MÉTODOS DE ELEMENTOS FINITOS MEF TRABALHO Análise de deformação de um

Leia mais

Autodesk 3ds Max - Primitivas

Autodesk 3ds Max - Primitivas Autodesk 3ds Max - Primitivas Primitivas O que são? Primitivas são geometrias (ou figuras geométricas) parametrizadas que o 3ds Max possui para que seu usuário possa criar modelos usando essas geometrias

Leia mais

PMR2560 ELEMENTOS DE ROBÓTICA 2016 TRABALHO DE VISÃO COMPUTACIONAL CALIBRAÇÃO DE CÂMERAS E VISÃO ESTÉREO

PMR2560 ELEMENTOS DE ROBÓTICA 2016 TRABALHO DE VISÃO COMPUTACIONAL CALIBRAÇÃO DE CÂMERAS E VISÃO ESTÉREO PMR2560 ELEMENTOS DE ROBÓTICA 2016 TRABALHO DE VISÃO COMPUTACIONAL CALIBRAÇÃO DE CÂMERAS E VISÃO ESTÉREO Esse trabalho consiste de três partes. Na primeira parte do trabalho você vai calibrar duas câmeras

Leia mais

Autoria: Fernanda Maria Villela Reis Orientadora: Tereza G. Kirner Coordenador do Projeto: Claudio Kirner. Projeto AIPRA (Processo CNPq 559912/2010-2)

Autoria: Fernanda Maria Villela Reis Orientadora: Tereza G. Kirner Coordenador do Projeto: Claudio Kirner. Projeto AIPRA (Processo CNPq 559912/2010-2) Autoria: Fernanda Maria Villela Reis Orientadora: Tereza G. Kirner Coordenador do Projeto: Claudio Kirner 1 ÍNDICE Uma palavra inicial... 2 Instruções iniciais... 3 Retângulo... 5 Quadrado... 6 Triângulo...

Leia mais

Apostila Impress 01. Partes da Janela Principal do Impress

Apostila Impress 01. Partes da Janela Principal do Impress 1 Apostila Impress 01 Partes da Janela Principal do Impress A janela principal do Impress tem três partes: - o Painel de Slides; - Área de Trabalho; - e Painel de Tarefas. Adicionalmente, diversas barras

Leia mais

Fechamento angular com GPS

Fechamento angular com GPS Fechamento angular com GPS Prof. Antonio Simões Silva Rodrigo Pereira Lima Universidade Federal de Viçosa Departamento de Engenharia Civil 36570-000 Viçosa MG asimoes@ufv.br Resumo: Neste trabalho procurou-se

Leia mais

A terceira dimensão. Modelagem tridimensional Elaboração tridimensional Realidade virtual

A terceira dimensão. Modelagem tridimensional Elaboração tridimensional Realidade virtual A terceira dimensão A terceira dimensão Modelagem tridimensional Elaboração tridimensional Realidade virtual 2 Modelagem tridimensional Métodos de representação tridimensional: modelos geométricos; superfícies

Leia mais

IMPLEMENTAÇÃO E RESOLUÇÃO DE MODELOS MATEMÁTICOS UTILIZANDO A PLANILHA EXCEL

IMPLEMENTAÇÃO E RESOLUÇÃO DE MODELOS MATEMÁTICOS UTILIZANDO A PLANILHA EXCEL IMPLEMENTAÇÃO E RESOLUÇÃO DE MODELOS MATEMÁTICOS UTILIZANDO A PLANILHA EXCEL 1. INTRODUÇÃO Este tutorial apresenta, passo-a-passo, o processo de implementação e resolução de modelos matemáticos na planilha

Leia mais

MATRIZ DE REFERÊNCIA DE MATEMÁTICA - SADEAM 3 ANO DO ENSINO FUNDAMENTAL

MATRIZ DE REFERÊNCIA DE MATEMÁTICA - SADEAM 3 ANO DO ENSINO FUNDAMENTAL 3 ANO DO ENSINO FUNDAMENTAL ESPAÇO E FORMA Identificar a localização/movimentação de objeto ou pessoa em mapa, croqui e outras representações gráficas. Identificar propriedades comuns e diferenças entre

Leia mais

PADRÕES DE DESEMPENHO ESTUDANTIL. O que são Padrões de Desempenho? ABAIXO DO BÁSICO Até 150 pontos. BÁSICO De 150 até 200 pontos

PADRÕES DE DESEMPENHO ESTUDANTIL. O que são Padrões de Desempenho? ABAIXO DO BÁSICO Até 150 pontos. BÁSICO De 150 até 200 pontos PADRÕES DE DESEMPENHO ESTUDANTIL O que são Padrões de Desempenho? Os Padrões de Desempenho constituem uma caracterização das competências e habilidades desenvolvidas pelos alunos de determinada etapa de

Leia mais

Matriz de Referência da área de Matemática Ensino Fundamental

Matriz de Referência da área de Matemática Ensino Fundamental Matemática EF Matriz de Referência da área de Matemática Ensino Fundamental C1 Utilizar o conhecimento numérico para operar e construir argumentos ao interpretar situações que envolvam informações quantitativas.

Leia mais

Transformações Geométricas

Transformações Geométricas Transformações Geométricas Computação Gráfica DCC065 Prof. Rodrigo Luis de Souza da Silva, D.Sc. Sumário Tópicos da aula de hoje: Por que transformações? Classificação das transformações Transformações

Leia mais

RECONHECIMENTO IDENTIFICAÇÃO BASEADA EM APARÊNCIA

RECONHECIMENTO IDENTIFICAÇÃO BASEADA EM APARÊNCIA RECONHECIMENTO IDENTIFICAÇÃO BASEADA EM APARÊNCIA Envolve a pergunta: É esta parte da imagem uma parte do objeto X? (modelo dado, região da imagem dada) Utiliza imagens ao invés de características como

Leia mais

SISTEMAS DE INFORMAÇÃO GEOGRÁFICA SIG FORMATOS DE REPRESENTAÇÃO DE DADOS FORMATO VETORIAL

SISTEMAS DE INFORMAÇÃO GEOGRÁFICA SIG FORMATOS DE REPRESENTAÇÃO DE DADOS FORMATO VETORIAL FORMATO VETORIAL 1 FORMATO VETORIAL Formato que utiliza como primitivas Pontos, Linhas e Polígonos, baseadas em equações matemáticas para representar imagens na computação gráfica Primitivas: elementos

Leia mais

AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS MATEMÁTICA PLANIFICAÇÃO ANUAL 7.

AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS MATEMÁTICA PLANIFICAÇÃO ANUAL 7. AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS MATEMÁTICA PLANIFICAÇÃO ANUAL 7.º ANO ANO LECTIVO 2009/2010 DOMÍNIO TEMÁTICO: NÚMEROS E CÁLCULO 1.º PERÍODO

Leia mais

Legenda 0 à 25% de Acertos Baixo De 26 à 50% de Acertos Intermediário De 51 à 75% de Acertos Adequado De 76 à 100% de Acertos Avançado

Legenda 0 à 25% de Acertos Baixo De 26 à 50% de Acertos Intermediário De 51 à 75% de Acertos Adequado De 76 à 100% de Acertos Avançado Relação de Descritores que apresentam os erros mais frequentes cometidos pelos estudantes nas Avaliações Diagnósticas de 2012 do ProEMI/JF no estado do Ceará Em 2012 foram aplicadas Avaliações Diagnósticas

Leia mais

Introdução a Engenharia e Ciência dos Materiais

Introdução a Engenharia e Ciência dos Materiais Introdução a Engenharia e Ciência dos Materiais Estrutura Cristalina Prof. Vera L Arantes 2014 25/3/2014 ESTRUTURA CRISTALINA 2 ARRANJO ATÔMICO Por que estudar? As propriedades de alguns materiais estão

Leia mais

MATEMÁTICA. log 2 x : logaritmo de base 2 de x. 28. Sendo a, b e c números reais, considere as seguintes afirmações.

MATEMÁTICA. log 2 x : logaritmo de base 2 de x. 28. Sendo a, b e c números reais, considere as seguintes afirmações. MATEMÁTICA NESTA PROVA SERÃO UTILIZADOS OS SEGUINTES SÍMBOLOS E CONCEITOS COM OS RESPECTIVOS SIGNIFICADOS: sen x : seno de x log x : logaritmo de base de x 6 Considere que o corpo de uma determinada pessoa

Leia mais

6. Classes de Operação

6. Classes de Operação 56 6. Classes de Operação 6.1.Introdução Amplificadores de potência são classificados de acordo com sua classe de operação. As classes são definidas conforme o ponto de polarização, topologias do circuito

Leia mais

AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO

AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS MATEMÁTICA 5.º ANO PLANIFICAÇÃO GLOBAL ANO LETIVO 2011/2012 Planificação Global 5º Ano 2011-2012 1/7 NÚMEROS

Leia mais

PLANIFICAÇÃO ANUAL 2015/ º Ano Matemática. METAS Domínios/Conteúdos Objetivos Descritores de Desempenho

PLANIFICAÇÃO ANUAL 2015/ º Ano Matemática. METAS Domínios/Conteúdos Objetivos Descritores de Desempenho METAS Domínios/Conteúdos Objetivos Descritores de Desempenho Número e Operações - Números naturais 1. Contar 1.1. Reconhecer que se poderia prosseguir a contagem indefinidamente introduzindo regras de

Leia mais

Matriz de Referência de Matemática* SAEPI Temas e seus Descritores 5º ano do Ensino Fundamental

Matriz de Referência de Matemática* SAEPI Temas e seus Descritores 5º ano do Ensino Fundamental MATEMÁTICA - 5º EF Matriz de Referência de Matemática* SAEPI Temas e seus Descritores 5º ano do Ensino Fundamental Identificar a localização/movimentação de objeto em mapas, croquis e outras representações

Leia mais

STV 15 SET na figura acima a freqüência das variações do sinal de onda quadrada da câmera mostradas no topo do padrão xadrez é de 0,11 MHz

STV 15 SET na figura acima a freqüência das variações do sinal de onda quadrada da câmera mostradas no topo do padrão xadrez é de 0,11 MHz STV 15 SET 2008 1 FREQÜÊNCIAS DE VÍDEO ASSOCIADAS COM A VARREDURA HORIZONTAL no padrão xadrez da figura acima, o sinal de onda quadrada no topo representa as variações do sinal da câmera do sinal composto

Leia mais

1º período ( 16 de Setembro a 17 de Dezembro) 38 blocos = 76 aulas

1º período ( 16 de Setembro a 17 de Dezembro) 38 blocos = 76 aulas ESCOLA E B 2,3/S MIGUEL LEITÃO DE ANDRADA - AGRUPAMENTO DE ESCOLAS DE PEDRÓGÃO GRANDE DEPARTAMENTO DAS CIÊNCIAS EXATAS E TECNOLOGIAS 2015/2016 PLANIFICAÇÃO DE MATEMÁTICA 5 ºANO 1º Período 2º Período 3º

Leia mais

Analisador de Espectros

Analisador de Espectros Analisador de Espectros O analisador de espectros é um instrumento utilizado para a análise de sinais alternados no domínio da freqüência. Possui certa semelhança com um osciloscópio, uma vez que o resultado

Leia mais

Mudanças de Coordenadas em Sistemas de Cores

Mudanças de Coordenadas em Sistemas de Cores Mudanças de Coordenadas em Sistemas de Cores Bruno Teixeira Moreira e Emídio Augusto Arantes Macedo Ciência da Computação 1 o. Período Professor: Rodney Josué Biezuner Disciplina: Geometria Analítica e

Leia mais

4 Casamento de Padrões

4 Casamento de Padrões 4 Casamento de Padrões O casamento de padrões é uma técnica que tem por objetivo localizar os elementos constituintes de uma seqüência em um conjunto de outras seqüências. Chamemos de padrão a seqüência

Leia mais

Processamento digital de imagens

Processamento digital de imagens Processamento digital de imagens Agostinho Brito Departamento de Engenharia da Computação e Automação Universidade Federal do Rio Grande do Norte 11 de novembro de 2016 Fluxo óptico Usado para estimar

Leia mais

Novidades no EPC GM. Navegação gráfica. Navegação comum para cada veículo

Novidades no EPC GM. Navegação gráfica. Navegação comum para cada veículo Novidades no EPC GM O GM Next Gen EPC possui inúmeras funcionalidades novas concebidas para tornar a localização da peça certa mais rápida e fácil. Para obter instruções mais detalhadas sobre cada funcionalidade,

Leia mais

MATEMÁTICA PLANEJAMENTO 3º BIMESTRE º B - 11 Anos

MATEMÁTICA PLANEJAMENTO 3º BIMESTRE º B - 11 Anos PREFEITURA MUNICIPAL DE IPATINGA ESTADO DE MINAS GERAIS SECRETARIA MUNICIPAL DE EDUCAÇÃO DEPARTAMENTO PEDAGÓGICO/ SEÇÃO DE ENSINO FORMAL Centro de Formação Pedagógica CENFOP MATEMÁTICA PLANEJAMENTO 3º

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Program João Manuel R. S. Tavares Sumário 1. Ciclo de desenvolvimento de um programa; 2. Descrição de algoritmos; 3. Desenvolvimento modular de programas; 4. Estruturas de controlo de um programa.

Leia mais

Rastreamento de Objetos Baseado em Grafos. Casamento Inexato entre Grafos Relacionais com Atributos

Rastreamento de Objetos Baseado em Grafos. Casamento Inexato entre Grafos Relacionais com Atributos Rastreamento de Objetos Baseado em Casamento Inexato entre Grafos Relacionais com Atributos Exame de Qualificação de Mestrado Ana Beatriz Vicentim Graciano Orientador: Roberto M. Cesar Jr. Colaboradora:

Leia mais

CÁLCULO DE VOLUME, MAPA DE DECLIVIDADE E ÁREA DE INUNDAÇÃO

CÁLCULO DE VOLUME, MAPA DE DECLIVIDADE E ÁREA DE INUNDAÇÃO GUIA PRÁTICO DataGeosis Versão 2.3 CÁLCULO DE VOLUME, MAPA DE DECLIVIDADE E ÁREA DE INUNDAÇÃO Paulo Augusto Ferreira Borges Engenheiro Agrimensor Treinamento e Suporte Técnico 1. INTRODUÇÃO O DataGeosis

Leia mais

5. Expressões aritméticas

5. Expressões aritméticas 5. Expressões aritméticas 5.1. Conceito de Expressão O conceito de expressão em termos computacionais está intimamente ligado ao conceito de expressão (ou fórmula) matemática, onde um conjunto de variáveis

Leia mais

Matriz de Referência de matemática 9º ano do ensino fundamental

Matriz de Referência de matemática 9º ano do ensino fundamental Matriz de Referência de matemática 9º ano do ensino fundamental D01 D02 D03 Identificar a localização/movimentação de objeto em mapas, croquis e outras representações gráficas. Identificar propriedades

Leia mais

O Problema de Visibilidade. Computação Gráfica Recorte. Onde Acontece? O que é Recorte? Renato Ferreira

O Problema de Visibilidade. Computação Gráfica Recorte. Onde Acontece? O que é Recorte? Renato Ferreira O Problema de Visibilidade Computação Gráfica Recorte Renato Ferreira Numa cena tri-dimensional, normalmente não é possível ver todas as superfícies de todos os objetos Queremos descartar objetos ou partes

Leia mais

Simulado 1 Matemática IME Soluções Propostas

Simulado 1 Matemática IME Soluções Propostas Simulado 1 Matemática IME 2012 Soluções Propostas 1 Para 0, temos: para cada um dos elementos de, valores possíveis em (não precisam ser distintos entre si, apenas precisam ser pertencentes a, pois não

Leia mais

5º ano do Ensino Fundamental 1º BIMESTRE EIXO: NÚMEROS E OPERAÇÕES

5º ano do Ensino Fundamental 1º BIMESTRE EIXO: NÚMEROS E OPERAÇÕES 5º ano do Ensino Fundamental 1º BIMESTRE Compor e decompor números naturais e racionais na forma decimal. Reconhecer ordens e classes numa escrita numérica. Arredondar números na precisão desejada. Ordenar

Leia mais

AGRUPAMENTO de ESCOLAS Nº1 de SANTIAGO do CACÉM Ano Letivo 2013/2014 PLANIFICAÇÃO ANUAL

AGRUPAMENTO de ESCOLAS Nº1 de SANTIAGO do CACÉM Ano Letivo 2013/2014 PLANIFICAÇÃO ANUAL AGRUPAMENTO de ESCOLAS Nº1 de SANTIAGO do CACÉM Ano Letivo 2013/2014 PLANIFICAÇÃO ANUAL Documento(s) Orientador(es): Programa e Metas de Aprendizagem e manual adoptado 3º CICLO MATEMÁTICA 7ºANO TEMAS/DOMÍNIOS

Leia mais

Ordenar ou identificar a localização de números racionais na reta numérica.

Ordenar ou identificar a localização de números racionais na reta numérica. Ordenar ou identificar a localização de números racionais na reta numérica. Estabelecer relações entre representações fracionárias e decimais dos números racionais. Resolver situação-problema utilizando

Leia mais

AGRUPAMENTO DE ESCOLAS

AGRUPAMENTO DE ESCOLAS AGRUPAMENTO DE ESCOLAS De CASTRO DAIRE Escola Secundária de Castro Daire Grupo de Recrutamento 00 MATEMÁTICA Ano letivo 202/203 Planificação Anual Disciplina: Matemática A Ano: 0º Carga horária semanal:

Leia mais

2 CILINDRO E ESFERA 1 CUBO E ESFERA. 2.1 Cilindro inscrito. 1.1 Cubo inscrito. 2.2 Cilindro circunscrito. 1.2 Cubo circunscrito

2 CILINDRO E ESFERA 1 CUBO E ESFERA. 2.1 Cilindro inscrito. 1.1 Cubo inscrito. 2.2 Cilindro circunscrito. 1.2 Cubo circunscrito Matemática Pedro Paulo GEOMETRIA ESPACIAL XI A seguir, nós vamos analisar a relação entre alguns sólidos e as esferas. Os sólidos podem estar inscritos ou circunscritos a uma esfera. Lembrando: A figura

Leia mais

Buscas Informadas ou Heurísticas - Parte II

Buscas Informadas ou Heurísticas - Parte II Buscas Informadas ou Heurísticas - Parte II Prof. Cedric Luiz de Carvalho Instituto de Informática - UFG Graduação em Ciência da Computação / 2006 FUNÇÕES HEURÍSTICAS - 1/7 FUNÇÕES HEURÍSTICAS - 2/7 Solução

Leia mais

Métodos de Ordenação Parte 3

Métodos de Ordenação Parte 3 Estrutura de Dados II Métodos de Ordenação Parte 3 Prof a Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Material baseado nos materiais do Prof. Robson Lins Classificação em Memória Primária

Leia mais

Um Sistema de Animação Baseado em Movimento Capturado

Um Sistema de Animação Baseado em Movimento Capturado Um Sistema de Animação Baseado em Movimento Capturado Fernando Wagner Serpa Vieira da Silva LCG - COPPE/SISTEMAS - UFRJ Rio de Janeiro - Brasil Outline da Apresentação Animação por Computador Animação

Leia mais

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python Exercícios: Funções 1. Crie uma função que recebe como parâmetro um número

Leia mais

Curso de Geomática Aula 2. Prof. Dr. Irineu da Silva EESC-USP

Curso de Geomática Aula 2. Prof. Dr. Irineu da Silva EESC-USP Curso de Geomática Aula Prof. Dr. Irineu da Silva EESC-USP Sistemas de Coordenadas Determinar a posição de um ponto, em Geomática, significa calcular as suas coordenadas. Calcular as coordenadas de um

Leia mais

Processamento de Imagem. Filtragem no Domínio Espacial Professora Sheila Cáceres

Processamento de Imagem. Filtragem no Domínio Espacial Professora Sheila Cáceres Processamento de Imagem Filtragem no Domínio Espacial Professora Sheila Cáceres Filtragem A filtragem de imagens pode ser realizada no domínio do espaço e da frequência Operadores de filtragem são classificados

Leia mais

4 º Ano Matemática. METAS Domínios/Conteúdos Objetivos Descritores de Desempenho

4 º Ano Matemática. METAS Domínios/Conteúdos Objetivos Descritores de Desempenho METAS Domínios/Conteúdos Objetivos Descritores de Desempenho Ao longo do ano Números e Operações 3. Resolver problemas 3.1. Resolver problemas de vários passos envolvendo as quatro operações. setembro/

Leia mais

MATEMÁTICA Plano anual 2008/2009 7º Ano 1º PERÍODO. Nº de Segmentos Conhecer melhor os números 12 Proporcionalidade directa

MATEMÁTICA Plano anual 2008/2009 7º Ano 1º PERÍODO. Nº de Segmentos Conhecer melhor os números 12 Proporcionalidade directa MATEMÁTICA Plano anual 2008/2009 7º Ano 1º PERÍODO Temas Segmentos Conhecer melhor os números 12 Proporcionalidade directa Semelhança de figuras Números racionais 10 14 8 Apresentação/Revisões/Testes/Correcções

Leia mais

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

Modelagem de dados usando o modelo Entidade- Relacionamento (ER) Modelagem de dados usando o modelo Entidade- Relacionamento (ER) slide 1 Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Tópicos Usando modelo de dados conceituais de alto nível

Leia mais

Agrupamento de Escolas Dr. Vieira de Carvalho P L A N I F I C A Ç Ã O A N U A L D E M A T E M Á T I C A

Agrupamento de Escolas Dr. Vieira de Carvalho P L A N I F I C A Ç Ã O A N U A L D E M A T E M Á T I C A Agrupamento de Escolas Dr. Vieira de Carvalho P L A N I F I C A Ç Ã O A N U A L D E M A T E M Á T I C A ANO LETIVO 2016/2017 1º Período Domínios Subdomínios / Conteúdos Números e Operações Números naturais

Leia mais