Utilize este identificador para referenciar este registo: http://hdl.handle.net/10451/9691
Título: Extended perspective system visualizer
Autor: Marques, Christian Tiago Almeida
Orientador: Carmo, Maria Beatriz Duarte Pereira do, 1960-
Cláudio, Ana Paula Boler, 1959-
Palavras-chave: Sistema de perspectiva expandido
Desenhos de arquitectura
Projecções não lineares
Computação gráfica
Remoção de superfícies invisíveis
Teses de mestrado - 2011
Data de Defesa: 2011
Resumo: No mundo da visualização tridimensional, seja através de desenho manual ou gráficos gerados por computador, o sistema Perspético mais tradicional e predominantemente utilizado é a perspetiva linear. Este sistema profundamente enraizado, apesar de ser extremamente eficaz na representação de espaço tridimensional, apresenta várias limitações, principalmente devido à tendência para distorcer a forma da imagem quando se utilizam campos de visão demasiado amplos, comprometendo assim a inteligibilidade dos objetos representados. Outros sistemas de perspetiva existentes, como os sistemas curvilíneos - esférico ou cilíndrico - não apresentam os mesmo problemas que o clássico, e possuem caraterísticas interessantes no que diz respeito a grandes campos-de-visão e visão periférica. O EPS - Sistema de Perspectiva Expandido - apresenta uma alternativa à forma de visualização de cenas tridimensionais, incluindo as caraterísticas mais interessantes e úteis de cada um dos sistemas perspéticos previamente mencionados, fundindo-os dinâmicamente e criando algo que poderá enriquecer a experiência visual do observador. Neste trabalho criou-se uma implementação do EPS, desenvolvendo um protótipo de uma aplicação que permitirá visualizar cenas 3D utilizando este sistema e simultâneamente alterar interativamente os principais parâmetros da perspetiva - oscilando entre a clássica e a curvilínea - criando uma “janela”para este novo mundo de possibilidades. Este trabalho enquadra-se no âmbito do Projeto de Engenharia Informática (PEI) do Mestrado em Engenharia Informática da Faculdade de Ciências da Universidade de Lisboa e faz parte do projeto NAADIR - A New Approach on Architectural Drawings Integrating Computer Descriptions, um projeto de investigação financiado pela Fundação para a Ciência e Tecnologia (FCT) com a referência PTDC/AUR-AQI/098388/2008. Este projeto integra investigadores da Faculdade de Arquitectura da Universidade Técnica de Lisboa e da Faculdade de Ciências da Universidade de Lisboa. Neste relatório descreve-se o trabalho realizado, conceptual e prático. Apresentam-se também os conceitos que suportam a especificação do sistema EPS e as abordagens que se tomaram para implementar estes conceitos teóricos. A aplicação desenhada é passível de ser utilizada para vários tipos de finalidade, desde a sua utilização por parte de arquitetos, até fins educacionais no âmbito de disciplinas no domínio da arquitetura. Dado o facto de que o objetivo primário deste trabalho consiste na implementação de uma ferramenta que incorpore os conceitos do EPS de uma forma interativa, grande parte do trabalho realizado está diretamente relacionado com esta implementação. Foi feita inicialmente uma análise rigorosa do problema através do levantamento de requisitos. Devido a este ser um trabalho com objectivos e requisitos iniciais bem definidos, a recolha e organização desta informação foi concluída na fase inicial do trabalho. Relativamente à investigação sobre o estado da arte e trabalhos relacionados com as temáticas exploradas, chegou-se à conclusão de que faria sentido dividir esta recolha em 3 áreas distintas: a evolução da utilização das perspectivas não-lineares na computação gráfica, a natureza teórica do próprio conceito EPS e a sua formalização matemática e ainda a problemática da eliminação de superfícies invisíveis. Na área da computação gráfica fez-se um estudo e levantamento das técnicas mais utilizadas para conseguir os efeitos das projeções não lineares. Estudaram-se as t´técnicas mais relevantes de forma a conseguir fazer um apanhado da informação importante e obter referências para o trabalho a desenvolver. Para preparar a implementação do EPS, fez-se uma análise cuidada dos fundamentos teóricos, conceitos e formalização matemática do EPS. Analisou-se o seu enquadramento concetual e os conceitos em que se baseia e as características que o definem. Estudou-se a sua formalização matemática, analisando a possível relação entre a componente matemática do EPS e a algoritmia necessária para a sua implementação. Fez-se ainda um estudo do primeiro protótipo desenvolvido pela equipa do projecto NAADIR, na plataforma Octave, de forma a conseguir encontrar paralelismos que facilitassem o processo de implementação. Finalmente, e ainda no contexto do estado da arte, investigou-se o problema da eliminação de superfícies invisíveis. Neste âmbito analisaram-se os principais algoritmos e técnicas utilizados para esta finalidade de forma a ter uma visão geral sobre o problema. Estudaram-se algumas alternativas relacionadas com mapeamento de ambientes em cubo para projeções não lineares. Após esta fase inicial de levantamento de requisitos e estudo do trabalho relacionado com este PEI, iniciou-se a fase de desenvolvimento, que começou pela escolha das ferramentas a utilizar, tendo-se optado por utilizar a biblioteca gráfica OpenGL, para a camada de representação/visualização, e a framework QT, para o desenvolvimento da aplicação e integração da interface gráfica com a camada 3D. De seguida iniciou-se a fase de desenho da aplicação tendo sido identificadas as principais funcionalidades e o tipo de estrutura mais adequada, definindo-se assim a arquitectura do sistema. As principais preocupações identificadas a nível do desenho foram a compatibilidade, modularidade, extensibilidade e usabilidade. Após a concretização do desenho da aplicação, deu-se então início à implementação, depois de um breve período de preparação e familiarização com as ferramentas. Nesta fase podem considerar-se 4 sub-fases distintas: Na primeira fase desenvolveu-se o esqueleto da interface gráfica, dando principal relevância à relação entre a interface e a camada de visualização 3D. Após a estrutura estar validada, iniciou-se a implementação do sistema de navegação 3D e da camada de interação. No final desta fase estava construído um protótipo interativo que permite visualizar e interagir com uma cena 3D utilizando as capacidades de desenho do OpenGL. O sistema de interação e navegação implementado baseou-se na utilização de inputs do rato e do teclado de forma a permitir aos utilizadores navegar através do espaço tridimensional. Na segunda fase focou-se a importação de modelos 3D e a necessidade subjacente de serem criadas estruturas de dados apropriadas para armazenar e manipular a informação obtida. Para este efeito, analisaram-se os formatos de troca de informação tridimensional e implementou-se um módulo de leitura de ficheiros e um conjunto de estruturas de dados relacionadas com informação tridimensional como vértices, faces, objectos, cenas, vetores e pixéis. Escolheram-se dois formatos de dados para importação, .M e .OBJ, por motivos da coerência com o protótipo implementado pela equipa do projecto NAADIR e relação entre simplicidade e consistência, respectivamente. Deixou-se em aberto a extensão do módulo de importação para outros formatos futuros. A terceira fase englobou a implementação do sistema EPS desenvolvido até `a data. A implementação foi feita com base no protótipo desenvolvido anteriormente na linguagem Octave pela equipa do projecto NAADIR. Com base na análise do protótipo e no estudo dos conceitos teóricos e matemáticos do sistema criou-se um novo módulo que implementou o sistema EPS e as funcionalidades inerentes. A interface já desenvolvida foi estendida para integrar este novo módulo. Foi concebida uma solução que utiliza volumes envolventes para permitir que qualquer que seja o tamanho do modelo importado, este seja desenhado de forma a ficar visível na totalidade. O pipeline de visualização foi adaptado de forma a produzir as transformações de coordenadas dos modelos de modo a estes ficarem coerentes com a formulação EPS e permitirem a sua observação a partir de diferentes posições da câmara virtual com diferentes direções de visualização. Para este efeito definiu-se uma matriz de transformação a ser aplicada aos modelos antes destes serem projectados através do EPS, aplicando a projeção EPS ao “mundo” tridimensional já transformado. Finalmente, na ´ultima fase de implementação, criou-se uma solução para o problema de remoção de superfícies invisíveis com base no estudo feito anteriormente sobre as técnicas regularmente utilizadas. A solução desenvolvida consistiu na utilização de um mapa de ambiente e dos frame-buffers do OpenGL de forma a criar um cubo envolvente que captura a informação visual da cena 3D. A informação bidimensional dos framebuffers é mapeada no espac¸o tridimensional pixel a pixel, e posteriormente projectada através do EPS. Finalmente, desenha-se o resultado da projeção de cada face do cubo e obtém-se uma imagem do modelo com a projeção EPS com remoção de superfícies invisíveis.Todos os objectivos propostos inicialmente foram concluídos com sucesso, tendo sido desenvolvida uma aplicação que implementa o sistema EPS e permite a navegação interactiva no espaço tridimensional, não só com modelo de arame, mas também utilizando modelos texturizados. Posteriormente à conclusão do protótipo fizeram-se alguns testes de validação, nomeadamente a nível de performance face ao protótipo desenvolvido pela equipa do projecto NAADIR, das funcionalidades de navegação e ao output gráfico.
In the world of three-dimensional visualization, be it through manual drawing or computer generated graphics, the prevailing and typically used perspective system is the linear perspective. This deeply rooted system although being extremely effective in the representation of three-dimensional space, presents various limitations due to the tendency to distort the image when large fields of view are involved, compromising the comprehensibility of the represented objects. Other existing perspective systems, like the curvilinear systems - spherical or cylindrical - do not present the same problems as classical, and have interesting characteristics regarding large fields-of-view and peripheral vision. The Extended Perspective System - EPS - intends to present an alternative in the visualization of three-dimensional scenes by including the most interesting and helpful features of each of the previously mentioned perspective systems and blending them dynamically into something that can enrich the graphical representation of a scene. In this project we created an implementation of the EPS, developing a prototype of an application which allows to visualize 3D scenes using this system, while being able to change dynamically the main parameters that define the perspective - oscillating between linear and curvilinear systems - creating a ’window’ to this new world of possibilities. Problems such as interaction and navigation in three-dimensional space (related with the projection system) and hidden surface removal are also addressed and their solutions presented.
Descrição: Tese de mestrado em Engenharia Informática (Sistemas de Informação), apresentada à Universidade de Lisboa, através da Faculdade de Ciências, 2011
URI: http://hdl.handle.net/10451/9691
Aparece nas colecções:FC - Dissertações de Mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
ulfc105676_tm_Christian_Marques.pdf1,54 MBAdobe PDFVer/Abrir    Acesso Restrito. Solicitar cópia ao autor!


FacebookTwitterDeliciousLinkedInDiggGoogle BookmarksMySpace
Formato BibTex MendeleyEndnote Degois 

Todos os registos no repositório estão protegidos por leis de copyright, com todos os direitos reservados.