quadtree vs octree

Upload: sergio-monteiro

Post on 06-Jul-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 Quadtree vs Octree

    1/33

    Quadtree

    Octree

    Jônatas Rancan de SouzaMycke Richard GuntijoRenato Gomes Borges Júnior 

    Tauan Nacimento de Almeida

  • 8/17/2019 Quadtree vs Octree

    2/33

    Sumário

    ● Introdução

    ● Algoritmo

    ● Vantagens e Desvantagens● Aplicações

  • 8/17/2019 Quadtree vs Octree

    3/33

    Introdução

    Quadtree

    ● Codificação de imagens○ Facilitar a manipulação da imagem.

    ● Divisão das imagens em quadrantes○ Toda imagem pode ser dividida em quadrantes, e

    esses quadrantes podem ser divididos em mais

    quatro partes, e assim sucessivamente.

  • 8/17/2019 Quadtree vs Octree

    4/33

    Introdução

    Exemplo:

  • 8/17/2019 Quadtree vs Octree

    5/33

    Introdução

    ● A imagem é representada por uma árvore○ Representação da imagem em uma forma que

    possa ser manipulada utilizando-se algoritmos.

    ○ Operações sobre árvores são bem conhecidas(buscas, caminhamento, exclusão ...).

    ● Estrutura da Quadtree

    ○ Todo nó não folha tem quatro filhos;○ Nó raíz representa a imagem completa;○ Outros nós representam os quadrantes resultantes

    da divisão da imagem.

  • 8/17/2019 Quadtree vs Octree

    6/33

    Introdução

    ● Nós internos representam quadrantes commais de uma cor ○ Se quadrante possuir mais de uma cor, será dividido

    em mais quatro partes.

    ● Nós folhas representam quadrantes comapenas uma cor 

    ○  A divisão de quadrantes só para quando todos osquadrantes tiverem apenas uma cor.

  • 8/17/2019 Quadtree vs Octree

    7/33

    Introdução

    ● Exemplo:

  • 8/17/2019 Quadtree vs Octree

    8/33

    Introdução

    Octree

    ● Mesmos princípios da Quadtree.

    ● Manipula imagens 3D.

    ● Todo nó não folha tem oito filhos.

  • 8/17/2019 Quadtree vs Octree

    9/33

    Introdução

    ● Exemplo:

  • 8/17/2019 Quadtree vs Octree

    10/33

    Introdução

    ● Exemplo:

  • 8/17/2019 Quadtree vs Octree

    11/33

    Algoritmo

    Quadtree1. Se a imagem possui apenas uma cor, cria-

    se um nó cor e termina; Caso contrário

    cria-se o nó raiz.2. Divide a imagem em quatro quadrantes

    criando um nó filho para cada um;

    3. Para cada nó filho faça:

    ○ Se nó possui mais de uma cor, retorneao passo 2; Caso contrário nó se torna

    nó cor.

    4. Quando todos os nós folha forem nós cor,

    termina.

  • 8/17/2019 Quadtree vs Octree

    12/33

    Algoritmo

    Exemplo:

      Imagem Árvore

  • 8/17/2019 Quadtree vs Octree

    13/33

    Exemplo:

      Imagem Árvore

    Algoritmo

  • 8/17/2019 Quadtree vs Octree

    14/33

    Exemplo:

      Imagem Árvore

    Algoritmo

  • 8/17/2019 Quadtree vs Octree

    15/33

    Exemplo:

      Imagem Árvore

    Algoritmo

  • 8/17/2019 Quadtree vs Octree

    16/33

    Exemplo:

      Imagem Árvore

    Algoritmo

  • 8/17/2019 Quadtree vs Octree

    17/33

    Exemplo:

      Imagem Árvore

    Algoritmo

  • 8/17/2019 Quadtree vs Octree

    18/33

    Exemplo:

      Imagem Árvore

    Algoritmo

  • 8/17/2019 Quadtree vs Octree

    19/33

    Exemplo:

      Imagem Árvore

    Algoritmo

  • 8/17/2019 Quadtree vs Octree

    20/33

    Exemplo:

      Imagem Árvore

    Algoritmo

  • 8/17/2019 Quadtree vs Octree

    21/33

    Exemplo:

      Imagem Árvore

    Algoritmo

  • 8/17/2019 Quadtree vs Octree

    22/33

    Algoritmo

    Octree

    ● O algoritmo para criar a Octree ésemelhante ao da Quadtree.

    ● Os nós devem ter 8 filhos ao invés de 4.

    ● A imagem é dividida em 8 cubos menores.

  • 8/17/2019 Quadtree vs Octree

    23/33

    Algoritmo

    Estrutura de um nó

    no {

    string cor;

    no NO, NE, SO, SE;

    }

    NO NE

    SO SE

  • 8/17/2019 Quadtree vs Octree

    24/33

    Algoritmo

    Buscaalgoritmo CaminhaProfundidade(no, quad )

    se no->cor = vazio

    se quad = NE  então CaminhaProfundidade(no->NE, quad )

    se quad = NO  então CaminhaProfundidade(no->NO, quad )se quad = SO  então CaminhaProfundidade(no->SO, quad )

    se quad = SE  então CaminhaProfundidade(no->SE, quad )

    senão

    processa(no)

    se quad = NE  então quad

  • 8/17/2019 Quadtree vs Octree

    25/33

    Vantagens

    ● Representação detalhada com menores

    gastos de memória;

    ● Verificações:○ Colisão de objetos;

    ○ Ponto pertencente a imagem;

    ● Facilita as operações entre os sólidos;

    ● Rotacionamento;

    ● Compacta e robusta.

  • 8/17/2019 Quadtree vs Octree

    26/33

    Vantagens

    ● Rotacionamento: ABCD

    A B

    C D

    DCBA

    AB

    CD

  • 8/17/2019 Quadtree vs Octree

    27/33

    Vantagens

    ● Compacta e robusta:

  • 8/17/2019 Quadtree vs Octree

    28/33

    Desvantagens

    ● Ineficiência pela diversidade de cores;

    ● Consumo de CPU, imagens complexas;

    ● Não possui balanceamento.

  • 8/17/2019 Quadtree vs Octree

    29/33

    Desvantagens

    ● Muitas cores, complexa:

  • 8/17/2019 Quadtree vs Octree

    30/33

    Desvantagens

  • 8/17/2019 Quadtree vs Octree

    31/33

    Aplicações

    ● Detecção de colisão.

    ● Compactação de imagens.

    ● Imagens médicas.

  • 8/17/2019 Quadtree vs Octree

    32/33

    Aplicações

    ● Superfícies

  • 8/17/2019 Quadtree vs Octree

    33/33

    Aplicações