• Nenhum resultado encontrado

E I p I J Uma 2-variedade com bordo é um conjunto de pontos onde cada ponto v de uma vizinhança homeomorfa ao disco ou ao semi-disco unitário

Capítulo 4 43 O Modelo de Representação de Superfícies

simétrica não estar O abaixo mostra a do

percurso por arestas para uma dada componente conexa do modelo:

Trata)

Marca o ciclo de face e trata suas arestas Aresta =

i

se não então

Aresta =

enquanto Aresta Arestalnicial

Percorre as faces adjacentes ainda não visitadas Aresta = faça se então faça se então faça

I

senão faça

I

I

Aresta =

enquanto Aresta for diferente de Arestalnicial

I

O restante desta seção será dedicado a demonstração de que o pmcedimento acima visita todas a s arestas de uma dada componente conexa C e, que cada aresta de C é tratada uma vez. Seja a aresta inicial visitada. Pelas propriedades do modelo, sabemos que através de uma sequência de e pode-se caminhar de para qualquer outra aresta de C. Observe pelo pseudo-código exposto, que o ciclo de face de uma aresta visitada é todo percorrido e tratado. Daí concluímos que a aplicação da função sobre uma aresta tratada irá sempre retornar uma segunda aresta também tratada pelo procedimento de percurso. Sabemos ainda, que a função pode ser computada a partir da expressão Como a função pode ser substituída por uma série de aplicações da função

deduzimos que ela retorna, igualmente, uma aresta tratada. Ora, toda aresta tratada teve o algoritmo reiniciado para o ciclo de face de sua simétrica, de modo que todo este ciclo foi tratado do mesmo modo. Com isto, conclui-se que qualquer que seja a sequência de e aplicada sobre a aresta inicial teremos acessado

uma aresta que tenha sido tratada pelo procedimento de percurso. Portanto, como queríamos demonstrar, todas a s arestas de C são corretamente tratadas.

Resta então, provarmos que cada aresta de C é tratada uma única vez. Suponha por absurdo, que uma dada aresta de C esteja sendo visitada uma segunda vez e que esta seja a primeira aresta de C a ser duplamente acessada. Isto só ocorreria se a simétrica de a qual denominaremos se encontrasse e desmarcada, caso em que o procedimento seria recursivamente aplicado sobre Além disto,

Capítulo 4 44 O Modelo d e Representação d e Superfícies

estaria sendo visitada pela primeira vez, pois partimos da que é a primeira aresta a ser novamente visitada. Entretanto, se já foi visitada (e consequentemente e s e encontra desmamada, ao contrário de em algum momento do procedimento, ocorreu de e estarem marcadas, o que causou a desmamação de ambas. Ora, mas está agora o que significa ter sido ela novamente visitada, contrariando assim a nossa premissa. Com isto, concluimos que nenhuma aresta de C é

mais de uma vez, completando assim a nossa demonstração.

Observe ainda, que após a execução do toda aresta da componente visitada possui desmarcada. Para esta afirmação vamos partir da suposição de que uma dada aresta tenha, ao do percurso, o Ora, pela fase inicial do de por arestas vemos que se está e sua simétrica também, ela não será tratada (pelo fato de já o ter sido) e o algoritmo seguirá para s u a segunda etapa, onde certamente ambas serão N a

hipótese entretanto, de estar e desmarcada, esta será tratada e o chamado recursivamente, sendo passada como e então, nesta segunda iteração, será e sua simétrica

a.

já estará mamada, o que implica que a segunda etapa do será responsável pela de e

.

Donde se conclui que , tendo sido certamente será demarcada até o do procedimento de percurso. DO MODELO

I

OPERADORES DE CONTROLE BORDOS

I

I

Capítulo 4 45 O Modelo d e Representação d e Superfícies

Estes mesmos resultados acima podem ser obtidos para os percursos por faces e vértices de uma componente conexa, mostrando com isto a dos procedimentos de percurso propostos.

4.5.

O MODELO FUNCIONAL DE DE

O modelo funcional de construção de um sólido pode ser subdividido em dois níveis, como mostra o esquema da figura 4.11. Em seu nível, encontramos os

operadores e Todo o acesso estrutura de dados

necessário a execução destes operadores são efetuados indiretamente por um conjunto de operadores de mais baixo nível separados em 3 classes, uma para cada tipo de informação acessada. sendo,

um

destes grupos é responsável pelos acessos as informações geométricas, outro efetua alterações sobre a s entidades que

as componentes conexas e seus respectivos bordos e o último conjunto, constituído das funções de arestas e dos operadores topológicos básicos, é o único a ter acesso a álgebra de arestas.

Esta seção tem por finalidade esclarecer a s relações existentes no modelo citado a partir da descrição pormenorizada dos operadores de alto nível e

e de seus efeitos sobre uma álgebra arbitrária. 4.5.1. O Operador CriaRetalho

Sabemos que um é uma 2-variedade com bordo composta de uma única face e um bordo, sendo ambos combinatoriamente representados através de um ciclo fechado de arestas orientadas. A diferença está no fato do ciclo que identifica a face possuir a si associado a geometria desta. Diante disto, a é

implementada de modo a receber como parâmetros seu número de arestas (que é igual ao de vértices), uma lista com referência aos dados que descrevem os pontos da variedade associados aos vértices da subdivisão, outra com os dados das curvas associadas as arestas e, por a informação que descreve a superfície ao disco aberto associado a face do

Aconstrução do retalho, como vista no pseudo-código adiante, parte da criação da aresta inicial ligando seus dois primeiros vértices, para posteriormente gerar e

as demais arestas até que o ciclo da face seja completo. Neste momento as informações não topológicas são adicionadas e uma nova componente conexa criada, a qual contém um único bordo associado.

A criação de uma componente é feita pela rotina que recebe por parâmetros seu de vértices, arestas e faces (para que o modelo satisfaça a equação de bordos são computados como faces). Todas a s arestas que compõem o ciclo do bordo gerado passam a ter suas informações de faces indicando o bordo ao qual pertencem. Este bordo, por irá referenciar uma das arestas de seu ciclo. Estas associações entre arestas e bordos é efetivada pelo próprio procedimento pela criação do bordo, a saber, o que recebe por parâmetro uma aresta pertencente ao ciclo que o identifica e a entidade bordo gerada.