Modelagem Procedural de Cidades Virtuais - lbd.dcc.ufmg.br · This paper describes a new model for...

12
Modelagem Procedural de Cidades Virtuais Fernando Pinho Marson, Cláudio Rosito Jung, Soraia Raupp Musse UNISINOS - Universidade do Vale do Rio dos Sinos Av. Unisinos, 950 – 93022-000 – São Leopoldo – RS – Brasil PIPCA – Programa Interdisciplinar de Pós-Graduação em Computação Aplicada {fernando, crjung, soraiarm}@exatas.unisinos.br Abstract. This paper describes a new model for parametric generation of 3D virtual cities based on 2D maps of existing cities. The contribution of this work is a semi-automatic generation of cities, with respect to geometry (VRML) and semantic (XML). The main application of this work is to provide virtual cities that can be populated by synthetic agents. Resumo. Este artigo descreve um modelo para a geração parametrizada de cidades virtuais 3D, a partir de mapas 2D de cidades reais. A contribuição deste trabalho é a geração semi- automática de cidades no que tange à sua geometria (VRML) e semântica (XML). A principal aplicação deste trabalho é prover a geração de cidades virtuais que possam ser populadas por agentes sintéticos. 1. Introdução Quando o objetivo é a simulação do comportamento humano, a cidade se mostra um cenário indispensável, pois ela fornece as possibilidades necessárias para a realização de interações sociais. As cidades podem ser consideradas como sendo organismos em constante crescimento e transformação. Seus diversos bairros refletem a história coletiva de seus moradores, revelando uma influência cultural no estilo arquitetônico de cada um deles. Essa profusão de estilos acaba criando uma grande complexidade visual no momento de tentar retratar a cidade através da modelagem geométrica. Além da variedade de estilos, o próprio número de construções de uma cidade somado a outros elementos urbanos comuns como, por exemplo, postes de luz, telefones públicos e paradas de ônibus, elevam ainda mais o tempo de criação de uma cidade virtual. Este trabalho visa apresentar um modelo para geração procedural de cidades virtuais baseada em mapas de cidades reais e alguns parâmetros. Esses parâmetros de entrada dizem respeito aos dados populacionais, tais como densidade habitacional, classe social e tipo de zona, entre outros. Mais ainda, a cidade pode não ser completamente fictícia, já que o modelo permite a entrada de dados reais, como mapas 2D de cidades existentes, que fornecem a geometria das quadras. A natureza híbrida que propõe- se nesse modelo mistura o real, vindo de mapas, e o fictício, gerado automaticamente baseado em parâmetros de entrada. O principal objetivo é prover uma ferramenta que possibilite a geração rápida de cidades virtuais complexas incluindo informações semânticas que permitem o desenvolvimento de simulações comportamentais.

Transcript of Modelagem Procedural de Cidades Virtuais - lbd.dcc.ufmg.br · This paper describes a new model for...

Modelagem Procedural de Cidades Virtuais

Fernando Pinho Marson, Cláudio Rosito Jung, Soraia Raupp Musse

UNISINOS - Universidade do Vale do Rio dos Sinos Av. Unisinos, 950 – 93022-000 – São Leopoldo – RS – Brasil

PIPCA – Programa Interdisciplinar de Pós-Graduação em Computação Aplicada

{fernando, crjung, soraiarm}@exatas.unisinos.br

Abstract. This paper describes a new model for parametric generation of 3D virtual cities based on 2D maps of existing cities. The contribution of this work is a semi-automatic generation of cities, with respect to geometry (VRML) and semantic (XML). The main application of this work is to provide virtual cities that can be populated by synthetic agents.

Resumo. Este artigo descreve um modelo para a geração parametrizada de cidades virtuais 3D, a partir de mapas 2D de cidades reais. A contribuição deste trabalho é a geração semi-automática de cidades no que tange à sua geometria (VRML) e semântica (XML). A principal aplicação deste trabalho é prover a geração de cidades virtuais que possam ser populadas por agentes sintéticos.

1. Introdução Quando o objetivo é a simulação do comportamento humano, a cidade se mostra um cenário indispensável, pois ela fornece as possibilidades necessárias para a realização de interações sociais. As cidades podem ser consideradas como sendo organismos em constante crescimento e transformação. Seus diversos bairros refletem a história coletiva de seus moradores, revelando uma influência cultural no estilo arquitetônico de cada um deles. Essa profusão de estilos acaba criando uma grande complexidade visual no momento de tentar retratar a cidade através da modelagem geométrica. Além da variedade de estilos, o próprio número de construções de uma cidade somado a outros elementos urbanos comuns como, por exemplo, postes de luz, telefones públicos e paradas de ônibus, elevam ainda mais o tempo de criação de uma cidade virtual.

Este trabalho visa apresentar um modelo para geração procedural de cidades virtuais baseada em mapas de cidades reais e alguns parâmetros. Esses parâmetros de entrada dizem respeito aos dados populacionais, tais como densidade habitacional, classe social e tipo de zona, entre outros. Mais ainda, a cidade pode não ser completamente fictícia, já que o modelo permite a entrada de dados reais, como mapas 2D de cidades existentes, que fornecem a geometria das quadras. A natureza híbrida que propõe-se nesse modelo mistura o real, vindo de mapas, e o fictício, gerado automaticamente baseado em parâmetros de entrada. O principal objetivo é prover uma ferramenta que possibilite a geração rápida de cidades virtuais complexas incluindo informações semânticas que permitem o desenvolvimento de simulações comportamentais.

2. Trabalhos Relacionados Os métodos utilizados na geração de cidades virtuais podem ser divididos em duas abordagens distintas: a) reconstrução de ambientes tridimensionais a partir de imagens aéreas ou de modelos de superfícies digitais (DSM) - que podem, ou não, ser combinados com mapas bidimensionais - e b) geração baseada em parâmetros estatísticos e/ou dados geográficos. Os dois trabalhos a seguir dizem respeito à primeira abordagem citada.

Förstner [Förstner 1999] apresenta diversas técnicas baseadas em fotogrametria para aquisição automática ou semi-automática de modelos tridimensionais. Dentre estes, os métodos semi-automáticos são os mais utilizados atualmente e se destacam por tirar proveito da habilidade do operador para interpretação de dados e das facilidades de tratamento que os computadores podem dar à grandes volumes de dados, já os métodos automáticos procuram extrair a geometria sem intervenção humana.

Policarpo [Policarpo 2002] descreve um método simples para a modelagem tridimensional de uma área urbana, a partir de uma única foto aérea do local. O objetivo principal do trabalho é facilitar o processo de modelagem geométrica. Basicamente, o sistema utiliza-se de pontos bidimensionais criados pelo usuário, que irão ser transformados em caixas tridimensionais, utilizando como textura a própria foto aérea.

Yap et al. [Yap 2002] apresentam, como resultado do projeto “A Different Manhattan Project”, um método para a geração automática de modelos geométricos de cidades baseado em parâmetros estatísticos. A partir de um mapa, a cidade é dividida em bairros. Para cada bairro são atribuídos certos dados estatísticos que irão auxiliar na criação de uma identidade visual para o mesmo. Construções características da cidade, tais como monumentos, são criados manualmente, mas também fazem parte dos dados de entrada. Baseado nessas entradas é feita a geração de um modelo tridimensional completo da cidade, com texturas e detalhes urbanísticos. O modelo é composto por cinco módulos: gerador de vizinhança, gerador de blocos, gerador de ruas, gerador de texturas e o módulo integrador.

Figura 2.1 – Cidade gerada pelo projeto “A Different Manhattan Project”

Parish e Müller [Parish e Müller 2001] propõem um modelo capaz de gerar uma cidade tridimensional a partir de dados estatísticos e geográficos. Utilizando-se de mapas sócio-estatísticos e geográficos, o CityEngine constrói a malha viária, através de um método L-System estendido. Após a definição das ruas, o sistema extrai as informações sobre as quadras, as quais passam por um processo de subdivisão a fim de criar os terrenos. Em cada terreno será erguida uma construção, gerada por outro sistema baseado em L-System. De posse dessas informações o sistema gera o modelo geométrico

tridimensional da cidade, ao qual serão adicionadas texturas visando proporcionar maior realismo ao modelo final.

Figura 2.2 – Cidade gerada pelo CityEngine

O modelo apresentado neste artigo visa descrever cidades virtuais parametricamente, cujas quadras podem ser extraídas de maneira semi-automática através de métodos de Processamento de Imagens (PI). O objetivo é poder criar cidades virtuais comprometidas com a realidade, se assim for o desejo do usuário. Aproxima-se do modelo de Yap et al., no que se refere à entrada de dados com mapas 2D e parâmetros estatísticos, mas diferencia-se no momento em que oferece características que não foram previstas pelo mesmo, tais como o uso de sementes na criação de construções parametrizáveis, adição de informações semânticas ao modelo. Além disso, optou-se pela utilização do XML [XML 2003] como formato de armazenamento, visando o intercâmbio de informações com outras aplicações. Do modelo proposto por Parish e Müller utilizou-se a idéia de divisão dos lotes, com o diferencial de gerar lotes que obedeçam alguns critérios estipulados pelo usuário, tais como, área, frente e profundidade mínimas, além da razão entre área e profundidade do lote, evitando assim lotes que sejam pequenos demais ou que apresentem formas pouco usuais. Uma preocupação neste modelo foi garantir que todos os lotes gerados sempre possuíssem saída para a rua, a fim de evitar a geração de “ilhas” observada em outros trabalhos.

Esta preocupação com o realismo da estrutura dos lotes se deve ao fato que essas cidades

virtuais deverão futuramente ser cenário de ambientes de Realidade Virtual, enquanto que, em outros trabalhos, o principal objetivo é oferecer imagens visualmente aceitáveis. 3. O Modelo Proposto Esta sessão visa descrever o modelo apresentado neste artigo para geração de cidades, no que tange sua geometria e semântica. A Figura 3.1 mostra esquematicamente a arquitetura do modelo.

Inicialmente o usuário pode fornecer um mapa (1), criado no computador ou mesmo digitalizado, para que o sistema possa obter informações geométricas sobre a topologia da cidade a ser gerada. Tais informações são extraídas do mapa pelo módulo extrator de geometria (2) utilizando-se técnicas de PI). Uma entrada alternativa para as informações geométricas é a especificação manual, quadra por quadra, da cidade a ser representada, através da ferramenta de edição de mapas (3). Outro uso desta ferramenta, quando o mapa não puder ser segmentado ou a segmentação ocorrer de forma errônea. Obtida a geometria das quadras (4), é possível a criação dos lotes através do módulo gerador de lotes (6).

Para proceder a divisão dos lotes é necessário que o usuário informe alguns parâmetros (5) que nortearão o processo. Informações como o tipo de zona (residencial, comercial, etc), o tipo de construção preponderante (casas, prédios) e a densidade habitacional, influenciarão no momento do desmembramento da área em lotes menores. Como resultado, além da geometria, para cada lote será criada também uma semente de construção (7). Essa semente carregará as informações que serão utilizadas pelo módulo gerador de construções (8) para a criação das construções (9). Depois de obtidas as geometrias em (4), (7) e (9) é gerado um arquivo com informações semânticas no formato XML (10). É possível, através do módulo editor/visualizador (11), visualizar e editar a posição dessas geometrias em 2D (12) no formato de planta baixa ou visualizar tridimensionalmente a cidade (13).

Figura 3.1 – Arquitetura do modelo proposto

Mapas

Editor de mapas

Geometria das construções

Geometria dos lotes

+ Semente de construção

Módulo editor

visualizador

Módulo gerador de construções

Módulo gerador de lotes

Parâmetros Módulo

extrator de geometria

Geometria das quadras

Visualização 3D

(12)

(10) (9)

(8)

(6)

(7)

(5)

(4) (3)

(2)

(1)

Visualização/Edição 2D

(13)

Geração de XML

(11)

As próximas sessões apresentam detalhes destas etapas do processo. 3.1. Módulo Extrator de Geometria O primeiro passo para a geração da cidade é a segmentação de quadras através do uso de técnicas de PI. O processo de segmentação pode ser resumido em três etapas: análise das cores do mapa visando a separação dos diversos elementos que compõem o mesmo, fechamento morfológico para eliminação dos nomes das ruas e a utilização de componentes conexos para achar o conjunto de pixels formadores de cada quadra e das ruas.

Inicialmente, o mapa entrado pelo usuário (se for colorido) é separado nas bandas RGB. De acordo com a distribuição das cores do mapa, são selecionadas as bandas que apresentam maior contraste entre ruas e quadras (por exemplo, no mapa da Figura 3.2-a, foram utilizadas as bandas G e B). Uma imagem binária é obtida através de um processo de limiarização nas intensidades das bandas relacionadas, valendo “1” nas ruas e “0” nas quadras. (Figura 3.2-b). Se o mapa apresentar o nome das ruas é necessário retirá-los, o que é possível, em alguns casos, através do uso de um operador da morfologia matemática conhecido como fechamento morfológico [Serra 1994] (Figura 3.3-a). Seu objetivo é fechar aberturas agudas e golfos longos e finos bem como a eliminação de pequenos buracos e espaços entre contornos. O próximo passo consiste em segmentar as quadras do mapa, através da identificação dos componentes conexos da imagem. Ao término do processo obtemos o mapa segmentado, onde para cada quadra está associado um identificador. Figura 3.3-b ilustra a segmentação final do mapa representado na Figura 3.2-a (cada identificador foi associado a um tom de cinza diferente, para fins de exibição). Para facilitar o processo de segmentação, as cores que identificam os elementos do mapa devem ser de fácil identificação e separação. Por isso, ruas e avenidas que apresentem bom contraste em relação às quadras e parques tornam mais precisos os resultados da segmentação.

(a)

(b)

Figura 3.2 – Etapas do processo de segmentação de um mapa

(a)

(b)

Figura 3.3 – Etapas do processo de segmentação de um mapa

Após a segmentação, cada quadra será aproximada por um polígono convexo (a convexidade das quadras é um critério necessário para a divisão dos lotes, que será explicada na seção 3.2) visando o processo de geração de lotes. Os vértices dos polígonos são determinados pelos corners das quadras, que são caracterizados como pontos de alta curvatura. Neste trabalho foi utilizado o algoritmo de detecção SUSAN [Smith 1995] para detectar os corners de cada quadra.

Como os vértices resultantes deste procedimento não possuem informações quanto à ordem de agrupamento, é possível a formação de polígonos que não representem as quadras de forma correta. Para resolver este problema, um algoritmo de Convex Hull [Seidel 1997] é aplicado para ordenar os corners detectados em cada quadra. Tal algoritmo consiste na re-organização de um conjunto de pontos de entrada, retornando o menor polígono convexo que englobe todos os pontos. Ao final do processo são obtidas as informações geométricas (quadras e ruas) necessárias à reconstrução da topologia do mapa. 3.2. Módulo Gerador de Lotes Uma vez segmentada as quadras, estas são divididas em lotes seguindo as informações fornecidas pelo usuário. No momento da extração da geometria do mapa, as quadras são aproximadas por um polígono convexo. Essa restrição é necessária, pois o algoritmo gerador de lotes utiliza as diagonais do polígono para efetuar as divisões; se alguma diagonal não estiver contida no polígono, o resultado da divisão poderá apresentar lotes fora dos limites da quadra. Segundo observações preliminares em mapas, os formatos de representação mais comuns são o triângulo, quadrilátero, o pentágono e o hexágono.

As quadras que forem representadas por triângulos não serão divididas em lotes, pois freqüentemente são zonas públicas. Se esse não for o caso, o usuário poderá manualmente realizar a divisão da quadra em lotes. Quadriláteros, pentágonos e hexágonos serão tratados automaticamente, sendo divididos inicialmente em duas metades, com o objetivo de uniformizar a divisão dos lotes transformando-os em quadriláteros (Figura 3.4). Outros formatos não sofrem o processo de segmentação automática, pois normalmente estão associados a parques ou outras áreas públicas.

Figura 3.4 – Divisão inicial dos diversos formatos de quadras

A divisão de lotes em quadras representadas por quadriláteros é realizada da seguinte forma: são

calculados os pontos médios de cada aresta. Une-se por um segmento de reta os pontos médios das arestas opostas. O maior segmento de reta será escolhido para subdividir a região inicial em duas, conforme a Figura 3.4-a. A subdivisão dos pentágonos ocorre através da escolha do maior segmento de reta que possa ser estabelecido entre um vértice e um ponto médio da aresta oposta, como pode ser observado na Figura 3.4-b. Nos hexágonos o processo é feito de forma semelhante, diferenciando que os segmentos são traçados entre dois vértices opostos, de acordo com a Figura 3.4-c. Após estas subdivisões, todos os segmentos de quadra são quadriláteros, sendo assim, são tratados de mesma forma.

Cada lote sofrerá novas divisões até alcançar o tamanho ideal de acordo com os parâmetros do usuário como, por exemplo, densidade habitacional, classe social e tipo de construção, entre outros. Feitas todas as divisões, cada lote apresentará as seguintes características: área mínima de acordo com as características semânticas do espaço e saída para a rua. A Figura 3.5 ilustra o processo concluído.

Figura 3.5 – Quadras divididas em lotes

(a) (b) (c)

3.3. Módulo Gerador de Construções Quando a divisão da área em lotes é realizada, são avaliadas questões que influenciam também o tipo de construção que será criado naquele lote, como por exemplo, o tipo da zona. Se a zona for comercial, somente poderão ser criados prédios ou galerias. Visando manter a coerência do tamanho do lote com o tamanho da construção e evitar o re-processamento de informações, para cada lote é criada uma semente de construção. Tal semente será avaliada pelo gerador de construções, e fornece as características que a construção deve apresentar. Na tabela 3.1 são definidas algumas das informações nas quais o gerador de construções se baseia para criar uma construção.

Tabela 3.1 - Informações contidas na semente

Parâmetro Função Valores

Tipo de construção Casa, prédio, galeria, indústria ou misto

Classe social Define o tipo de construção a ser criada

A, B, C Altura Define a altura máxima da construção Valor em metros

Largura Define a largura máxima da construção Valor em metros

Comprimento Define o comprimento máximo da construção Valor em metros

Para isso, é realizado um processo de pesquisa junto aos modelos disponíveis, visando

estabelecer as correspondências necessárias. Se a semente contiver, por exemplo, as seguintes informações: prédio, classe A, 35 metros de altura, 14 metros de largura e 20 metros de comprimento, o gerador irá buscar primeiramente os modelos que representam prédios, logo após, os prédios que são de classe A. Obtidos esses modelos será feita uma avaliação para verificar quais os modelos de prédios classe A já estão em uso, a fim de evitar uma monotonia visual. Aleatoriamente será escolhido o modelo de prédio parametrizável a ser adequado às proporções informadas. Deve-se dizer que a estrutura geométrica de cada construção para cada classe social é pré-definida e pode ser parametrizada de acordo com a altura, largura e comprimento. 3.4. Geração de Informações Semânticas Para a realização de animações de humanos virtuais em cidades virtuais, é interessante que o ambiente seja provido com informações semânticas, também conhecido como ambiente informado, que contém uma base de dados associada à geometria. Tais informações possibilitam, entre outras coisas, que os agentes sejam influenciados a reagir de maneira diferente conforme o local em que estão, felizes em um parque ou tristes em um cemitério, por exemplo.

O formato escolhido para o armazenamento destas informações foi o XML. Os fatores que motivaram a escolha deste formato foram a facilidade de troca de dados com outras aplicações, a portabilidade e a possibilidade de criação de uma linguagem de marcação com opção de validação através de uma DTD [XML 2003]. Uma DTD pode ser definida como um conjunto de regras que determina os tipos de dados e entidades que farão parte de um documento XML. Tais regras são utilizadas para que o analisador sintático verifique se o documento está ou não correto. A DTD pode

ser definida interna ou externamente ao documento XML, neste caso a mesma será definida em um arquivo à parte, visando a diminuição do tamanho do arquivo de dados.

A descrição semântica da cidade faz referência à Listagem 3.1, conforme visto a seguir. Genericamente, cada cidade (1) é formada por um mapa (2) e o atributo “name” (12) que contém o nome da cidade. Esse mapa é formado por todas as quadras (3)(14) e ruas (10)(19) da cidade e possui altura, largura e a escala do mapa em relação ao tamanho real da cidade (13). Cada quadra (4) é composta pelos parâmetros informados pelo usuário (15), o polígono que a representa (5) e todos os lotes (21) que possuir (7). O lote (8) é representado por um polígono (5) e seus atributos (22). Em cada lote poderá haver uma construção (9) com características próprias (18). Cada rua (11) é representada por um conjunto de pontos (6)(17), pelo seu identificador e direção (20).

Listagem 3.1 - DTD com a definição da cidade

1 2 3 4 5 6 7 8 9 10 11 12 13 14

<!ELEMENT city (map)> <!ELEMENT map (squares , streets)> <!ELEMENT squares (square)+> <!ELEMENT square (shape , lots*)> <!ELEMENT shape (vertice)+> <!ELEMENT vertice (#PCDATA)> <!ELEMENT lots (lot)+> <!ELEMENT lot (shape , construction?)> <!ELEMENT construction (#PCDATA)> <!ELEMENT streets (street)+> <!ELEMENT street (vertice)+> <!ATTLIST city name CDATA #REQUIRED> <!ATTLIST map height CDATA #REQUIRED

length CDATA #REQUIRED scale CDATA #REQUIRED density CDATA #IMPLIED class CDATA #IMPLIED zone CDATA #IMPLIED construction_type CDATA #IMPLIED building_percentage CDATA #IMPLIED gallery_percentage CDATA #IMPLIED house_percentage CDATA #IMPLIED building_height CDATA #IMPLIED height_variation CDATA #IMPLIED sidewalk_height CDATA #IMPLIED sidewalk_length CDATA #IMPLIED>

<!ATTLIST squares n_squares CDATA #REQUIRED>

15 16 17 18 19 20 21 22

<!ATTLIST square id CDATA #REQUIRED density CDATA #IMPLIED class CDATA #IMPLIED zone CDATA #IMPLIED construction_type CDATA #IMPLIED

building_percentage CDATA #IMPLIED gallery_percentage CDATA #IMPLIED house_percentage CDATA #IMPLIED

building_height CDATA #IMPLIED height_variation CDATA #IMPLIED sidewallk CDATA #IMPLIED sidewalk_height CDATA #IMPLIED sidewalk_length CDATA #IMPLIED >

<!ATTLIST shape n_vertices CDATA #REQUIRED> <!ATTLIST vertice id CDATA #REQUIRED x CDATA #REQUIRED y CDATA #REQUIRED> <!ATTLIST construction id CDATA #REQUIRED

type CDATA #REQUIRED class CDATA #REQUIRED height CDATA #REQUIRED x CDATA #REQUIRED y CDATA #REQUIRED>

<!ATTLIST streets n_streets CDATA #REQUIRED> <!ATTLIST street id CDATA #REQUIRED direction CDATA #REQUIRED> <!ATTLIST lots n_lots CDATA #REQUIRED> <!ATTLIST lot id CDATA #REQUIRED area CDATA #REQUIRED>

4. Resultados Experimentais Com o intuito de ilustrar o processo completo de criação de uma cidade será desenvolvido um exemplo com base no mapa apresentado na Figura 4.1-a. Após passar pelo processo de segmentação as quadras do mapa passam a ser identificadas por polígonos (Figura 4.1-b).

Figura 4.1 – Etapas de processo de segmentação do mapa (a) (b) e geração dos lotes (c)

O usuário informa os parâmetros referentes às características das quadras, que neste caso serão definidos para o mapa inteiro (Tabela 4.1).

Tabela 4.1 - Exemplo de valores dos parâmetros das quadras Parâmetro Valor

class C zone residential

building_type house building_height 3,00 height_variation 0,3

Sidewalk No Com base nos parâmetros as quadras são então divididas em lotes e as sementes de construção

geradas (Figura 4.1-c).

Figura 4.2 – Ambiente Virtual (a) e interação via CyberGlove (b)

(a) (b) (c)

(a) (b)

De posse das informações semânticas e geométricas contidas nas sementes de construção é gerada a cidade virtual em VRML [Hartman 1996] (Figura 4.2-a). Esta cidade pode ser utilizada como ambiente na realização dos mais diversos tipos de simulação. Utilizando-se a interface desenvolvida por Musse et al. [Musse 2003] é possível a navegação e interação com o ambiente virtual (Figura 4.2-b). 5. Discussão Neste trabalho foi proposta uma nova técnica para reconstrução semi-automática de cidades virtuais nos formatos XML e VRML a serem usadas em ambientes de realidade virtual. Este modelo permite combinar aspectos realistas de cidades existentes através da inclusão de mapas 2D com parâmetros especificados pelo usuário. O objetivo dessas informações é prover ao usuário a possibilidade de parametrizar a cidade considerando aspectos como densidade habitacional, classe social, tipo de zona, etc. Mais ainda, a geração das informações não é puramente geométrica, visto que informações semânticas são também geradas de forma automática.

Em comparação com a modelagem manual de ambientes urbanos, a técnica proposta apresenta uma considerável melhoria na performance. Toma-se como base o exemplo de uma cidade modelada no contexto de nossos projetos [Musse 2003], que contém aproximadamente 150 casas. O tempo para modelagem da cidade inteira por parte de um designer foi de 3 meses. Estima-se que com o modelo proposto, o tempo poderia ser reduzido para em torno de 1 hora. O baixo tempo necessário para modelar cidades virtuais 3D permite aplicação da ferramenta proposta nas áreas de arquitetura e urbanismo, tanto no auxílio a projetos comerciais quanto na área da educação.

Como trabalhos futuros, pretende-se que as cidades geradas sejam passíveis de serem populadas com agentes sintéticos. Para tanto, estamos trabalhando no sentido de gerar automaticamente os elementos urbanos necessários para a realização de simulações realísticas do ponto de vista comportamental, incluindo um grande número de humanos virtuais [Musse 2001] como, por exemplo, calçadas, passagem de pedestres, semáforos, entre outros.

A Figura 4.3 mostra um exemplo de simulação que inclui humanos virtuais. Os elementos

urbanos neste caso foram especificados manualmente.

Figura 4.3 – Cidade populada com agentes virtuais

Referências Förstner, W.. 3D-city Models: Automatic and Semiautomatic Acquisition Methods. In: D. Fritsch and R. Spiller (eds), Photogrammetric Week 99, 1999. Proceedings... p. 291-303.

Hartman, Jed; Wernecke, Josie; Carey, Rikk. The VRML 2.0 Handbook: Building Moving Worlds on the Web. Estados Unidos: Addison-Wesley, 1996. 412pp.

Musse, S.. et al. Interaction with Virtual Human Crowds Using Artificial Neural Networks To Recognize Hands Postures. In: Workshop on Virtual Reality, 2000. Proceedings… Gramado: WRV, 2000, p. 107-118.

Musse, S.R.. et al. PetroSim – A Framework to Simulate Crowd Behaviors in Panic Situations. To appear in: Workshop on Modeling & Applied Simulation, 2003. Musse, S.R. and Thalmann, D. "A Hierarchical Model for Real Time Simulation of Virtual Human Crowds". IEEE Transactions on Visualization and Computer Graphics, V. 7, N.2, pp. 152-164, April-June, 2001.

Parish, Y.; Müller, P.. Procedural Modeling of Cities. In: SIGGRAPH’ 01, XXVIII. Proceedings... Los Angeles: ACM Press, 2001, p. 301-308.

Policarpo, F.. Reconstrução 3D de fotos aéreas de áreas urbanas. Niterói: UFF, 2002. Monografia (Ciências da Computação), Instituto de Computação, Universidade Federal Fluminense, 2002.

Seidel, R. "Convex Hull Computations." Ch. 19 in Handbook of Discrete and Computational Geometry (Ed. J. E. Goodman and J. O'Rourke). Boca Raton, FL: CRC Press, pp. 361-375, 1997.

Serra, J.; Soille, P.. Computational Imaging and Vision; Mathematical Morphology and Its Applications to Image Processing. New York: Kluwer Academic Publishers, 1994. 383p.

Smith, S.; Brady, J., "SUSAN - A New Approach to Low Level Image Processing ", International Journal of Computer Vision, May 1997, Vol. 23, No. 1, pp. 45-78.

Yap, C.. et al. A Different Manhattan Project: Automatic Statistical Model Generation. In: 14th Ann. SPIE Symp. on Electronic Imaging, 2002. Proceedings… San Jose: SPIE, 2002, v.4665, p.259-268.

XML. Disponível em: <http://www.w3.org/XML> Acessado em: junho de 2003.