A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Técnicas para algoritmos de superfície visível eficientes (Techniques for efficient visible-surface algorithms) Fabio Utzig Rodrigo Senger.

Apresentações semelhantes


Apresentação em tema: "Técnicas para algoritmos de superfície visível eficientes (Techniques for efficient visible-surface algorithms) Fabio Utzig Rodrigo Senger."— Transcrição da apresentação:

1 Técnicas para algoritmos de superfície visível eficientes (Techniques for efficient visible-surface algorithms) Fabio Utzig Rodrigo Senger

2 Introdução Algorítmos de precisão de imagem e precisão de objetos requer um grande número de operações com enorme custo computacional. Essas operações consistem em: –determinar a projeção de um, ou mais objetos –Se eles se interceptam –Onde eles se interceptam –Se é necessário computar o objeto que está mais próximo do visualizador –Se ele é visível ou não

3 Para minimizar o tempo que se leva para criar uma imagem, precisamos organizar algorítmos de Interface-Visíveis, e estão as operações custosas serão executadas com maior eficiência e na menor freqüencia possível. A seguir serão demonstradas algumas técnicas para isso. Introdução (cont)

4 Coerência É o grau em que partes de um ambiente ou suas projeções exibem similaridades. Ambientes costumam ter objetos cujas caraterísticas variam de forma suave de uma parte à outra. Usamos coerência quando utilizamos cálculos feitos para uma parte de um ambiente, em outra parte próxima, sem mudanças ou com mudanças incrementais.

5 Coerência de objetos: Se dois objetos estão completamente separados não há necessidades de comparações entre suas faces e vértices. Coerência de faces: Propriedades de uma superfície variam levemente em uma face. Coerência de vértices: Um vértice só muda de visibilidade quando cruza atrás de outro vértice visível ou penetra uma face visível. Coerência de vértice implicado: Se uma face planar penetra outra, sua linha de intersecção pode ser determinada por dois pontos de intersecção. Coerência (cont)

6 Coerência de scanline: Objetos mudam pouco de um scanline para o próximo. Coerência de área: Um grupo de pixels adjacentes muitas vezes é coberto por uma mesma face. Coerência de profundidade: Partes adjacentes de uma superfícies costumam ser próximas em profundade enquanto partes distantes tem profundidades separadas. Tendo a profundidade dos outros pontos da superfície pode ser determinado através de uma diferença. Coerência de quadro: Imagens de um mesmo ambiente em dois quadros sucessivos costumam ser muito parecidas. Coerência (cont)

7 A transformação perspectiva A determinação de superfície visível deve ser feita em 3D, visto que, em 2D informações de profundidade são perdidas. Dados dois pontos P1 e P2, eles estão na mesma linha de projeção? Se sim, calcular qual ponto está mais próximo. Para descobrirmos se dois pontos estão na mesma linha de projeção, após aplicarmos a normalização: a)Se é projeção paralela: x1 = x2 e y1 = y2 b)Se e projeção perspectiva: x1 / z1 = x2 / z2 e y1 / z1 = y2 / z2

8 Para evitar divisões podemos utilizar uma transformação perspectiva no objeto, assim, este passará a ter projeção paralela igual à projeção perspectiva do mesmo objeto sem a transformação. Esta transformação deforma o objeto e move o centro de projeção para o infinito no eixo positivo z. Como esta projeção preserva a profundidade relativa, linhas retas e planos aplicamos divisão somente uma vez para cada ponto, ao invés de utilizar a cada comparação entre dois pontos. A transformação perspectiva (cont)

9

10

11 Extensões podem ser utilizadas para evitar comparações desnecessárias entre objetos e suas projeções. Caso as extensões de dois objetos não se sobreponham, suas projeções não se sobrepõem. Caso as extensões se sobreponham, pode-se ter dois casos: a)As projeções se sobrepõem b)As projeções não se sobrepõem Extensões podem ser utilizados em somente um eixo, para verificar se existe sobreposição neste eixo ou, podem envolver objetos, quando então são conhecidos como Volumes limitantes. Extensões e Volumes limitantes

12 A comparação com os limites mínimo e máximo em uma ou mais dimensões chama-se minmax. A parte mais complicada de comparações é encontrar as extensões. Para um polígonos podemos pegar lista de coordenadas de pontos e gravar os menores e maiores valores. Extensões são também utilizadas para determinar se uma linha de projeção intercepta um determinado objeto. Volumes limitantes podem ser de qualquer forma geométrica primitiva, usa-se uma fórmula para determinar o melhor volume limitante. Extensões e Volumes limitantes (cont)

13 Custo total do teste de interseção de um objeto: T = bB + oO onde, b: número de vezes que o volume limitante é testado por interseções B: custo de calcular um teste de interseção em um volume limitante o: número de vezes que o objeto é testado por interseções O: custo de calcular um teste de interseção no objeto Extensões e Volumes limitantes (cont)

14

15

16 Se um objeto é aproximado por um poliedro cujas faces cercam completamente o objeto e, todos polígonos tem suas normais apontando para fora do poliedro. Se nenhum interior do poliedro está exposto então os polígonos cujas normais apontam na direção oposta ao observador podem ser removidos. Na prática são os polígonos cujo produto escalar da normal com o centro de projeção é um valor positivo. Uma linha de projeção atravessa tanto um face frontal quanto um face traseira assim, com a utilização de remoção de face traseira temos que em média diminui- se metado dos polígonos a calcular. Remoção de face traseira

17 Considerando que o algoritmo é linear no número de faces, é possível melhorar a performance através de um preprocessamento utilizando tabelas ou grafos, de acordo com o algoritmo escolhido. Remoção de face traseira (cont)

18

19 Particionamento Espacial Permite quebrar um grande problema em problemas menores Por exemplo, pode-se dividir o plano de projeção em um gride regular 2D e determinar em quais espaços do grid cada projeção do objeto reside. Assim, a comparação de sobreposições precisam ser feitas apenas com projeções que residem na mesma caixa do grid.

20 Particionamento Espacial (cont) Particionamento Adaptado pode ser mais eficiente para objetos distribuídos diferentemente no espaço. No particionamento adaptado, o tamanho de cada partição varia.

21 Hierarquia Pode ser usado para restringir o número de comparações entre objetos Um objeto em um nível hierárquico pode servir de alcance para seus filhos se eles estiverem inteiramente contidos no objeto pai.

22 Hierarquia (cont) Se dois objetos na hierarquia não se interceptarem, o objeto do nível mais baixo não precisa sofrer testes de inteseção com esses outros dois. Da mesma forma, um projetor só deve ser testado contra os seus filhos se estiver baseado em penetrar outro na hierarquia. Este uso da hierarquia é uma instância importate da coerência de objetos.

23 Hierarquia (cont)

24 Perguntas?

25 Bibliografia Computer Graphics: Principles and Practice. 2nd ed. in C. James D. Foley, [et al.]. Addison- Wesley


Carregar ppt "Técnicas para algoritmos de superfície visível eficientes (Techniques for efficient visible-surface algorithms) Fabio Utzig Rodrigo Senger."

Apresentações semelhantes


Anúncios Google