• Nenhum resultado encontrado

Geometria Computacional

N/A
N/A
Protected

Academic year: 2021

Share "Geometria Computacional"

Copied!
27
0
0

Texto

(1)

Geometria Computacional

Geometria Computacional

Claudio Esperança

Paulo Roma Cavalcanti

(2)

Estrutura do Curso

Estrutura do Curso

• Aspectos teóricos e práticos

ƒ Construção e análise de algoritmos e estruturas de dados para a solucionar problemas geométricos

ƒ Implementação

• Programas em C++ / STL

(3)

O que é Geometria Computacional?

O que é Geometria Computacional?

• Origem do termo

ƒ (?) Livro “Perceptron”de Marvin Minsky

• Usado para denotar algoritmos de modelagem de sólidos

• Campo da teoria de algoritmos

ƒ Entradas são coleções de objetos geométricos

• Normalmente, objetos “planos” tais como pontos, retas, polígonos, poliedros

ƒ Saídas são estruturas de dados geométricos

• Surgiu do campo dos algoritmos discretos

ƒ Até hoje há ênfase em problemas de matemática

discreta (conjuntos de objetos, grafos)

ƒ Componente geométrica pode oferecer subsídios

(4)

Exemplo: Caminho mais curto

Exemplo: Caminho mais curto

• Pode ser reduzido ao problema de encontrar o caminho mais curto em um grafo (grafo de

visibilidade)

ƒ Resolve-se com algoritmos não geométricos • Ex.: Algoritmo de Dijkstra

• Algoritmos geométricos podem dar uma solução mais eficiente

(5)

Eficiência dos Algoritmos

Eficiência dos Algoritmos

• Complexidade assintótica de pior caso

ƒ Problema do Caminho mais curto

• Algoritmo simples O (n2 log n)

• Algoritmo complexo O (n log n)

• Casos médios

ƒ Difíceis de se caracterizar

ƒ Requerem que se estipule uma distribuição

“típica”

• Muitas estruturas de dados e algoritmos que se conjectura serem eficientes para casos típicos

ƒ Quadtrees em geral

(6)

Limitações da Geometria Computacional

Limitações da Geometria Computacional

• Dados discretos

ƒ Aproximações de fenômenos contínuos

• Funções quantizadas ao invés de funções contínuas (e.g. imagens)

• Objetos geométricos “planos”

ƒ Aproximações de geometrias “curvas”

• Dimensionalidade

ƒ Normalmente, 2D e um pouco de 3D ƒ Problemas n-dimensionais são pouco

(7)

Técnicas usadas em GC

Técnicas usadas em GC

• Técnicas convencionais de desenho de

algoritmos

ƒ Dividir para conquistar ƒ Programação dinâmica

• Técnicas próprias para algoritmos

geométricos

ƒ Varredura (plane sweep)

ƒ Construções randomizadas incrementais ƒ Transformações duais

(8)

Tendências

Tendências

• Muitas soluções “ótimas” foram obtidas mas as implementações ...

ƒ Muito complicadas

ƒ Muito sensíveis a casos degenerados

ƒ Problemas de precisão

ƒ Complexidade inaceitável para problemas

pequenos

• Foco em obter soluções práticas

ƒ Algoritmos simples

• Freqüentemente randomizados

ƒ Tratamento de casos degenerados

(9)

Problemas

Problemas

Fecho Convexo

Fecho Convexo

• Menor polígono (poliedro) convexo que

contém uma coleção de objetos

(10)

Problemas

Problemas

-

-

Interseções

Interseções

• Determinar interseções entre coleções

de objetos

(11)

Problemas

Problemas

Triangulações

Triangulações

• Dividir domínios complexos em

coleções de objetos simples

(12)

Problemas

Problemas

Prog

Prog

. Linear em 2d e 3d

. Linear em 2d e 3d

• Problemas de otimização

ƒ Ex.: menor disco que contém um conjunto de pontos

(13)

Problemas

Problemas

Arranjos de Retas

Arranjos de Retas

• Dada uma coleção de retas, é o grafo formado pelos pontos de interseção e segmentos de reta entre eles

ƒ Problemas sobre pontos podem ser transformados em problemas sobre retas (dualidade)

(14)

Problemas

Problemas

Diagramas de

Diagramas de

Voronoi

Voronoi

e

e

Triangulações de

Triangulações de

Delaunay

Delaunay

• Dada uma coleção de pontos S

ƒ Diagrama de Voronoi delimita as regiões de pontos mais próximos

(15)

Problemas

Problemas

Busca Geométrica

Busca Geométrica

• Algoritmos e estruturas de dados para

responder consultas geométricas. Ex.:

ƒ Todos os objetos que interceptam uma região

• Polígono • Disco

ƒ Par de pontos mais próximos ƒ Vizinho mais próximo

(16)

Geometria Afim

Geometria Afim

• Composta dos elementos básicos

ƒ escalares

ƒ pontos - denotam posição

ƒ vetores - denotam deslocamento (direção e magnitude)

• Operações

ƒ escalar · vetor = vetor

ƒ vetor + vetor ou vetor – vetor = vetor ƒ ponto – ponto = vetor

(17)

Combinações Afim

Combinações Afim

• Maneira especial de combinar pontos

• Para 2 pontos P e Q poderíamos ter uma

combinação afim R = (1– α)P +αQ = P +α(P – Q) 1 onde ... 1 2 2 1 1 = + + +

= n i i n nP P P α α α α P Q 0 < α < 1 α < 0 P R= P+α(P – Q)

(18)

Combinações Convexas

Combinações Convexas

• Combinações afim onde se garante que todos os coeficientes αi são positivos (ou zero)

• Usa-se esse nome porque qualquer ponto que é uma combinação convexa de n outros pontos pertence à envoltória convexa desses pontos

P2

P1 Q

(19)

Geometria Euclidiana

Geometria Euclidiana

• Extensão da geometria afim pela

adição de um operador chamado

produto interno

• Produto interno é um operador que

mapeia um par de vetores em um

escalar. Tem as seguintes

propriedades:

ƒ Positividade : (u,u) ≥ 0 e (u,u) = 0 sse u=0 ƒ Simetria: (u,v) = (v,u)

(20)

Geometria Euclidiana

Geometria Euclidiana

• Normalmente usamos o produto escalar como operador de produto interno:

• Comprimento de um vetor é definido como:

• Vetor unitário (normalizado):

= = ⋅ d i i iv u v u 1 r r v v vr = r ⋅ r v v vˆ = rr

(21)

Geometria Euclidiana

Geometria Euclidiana

• Distância entre dois pontos P e Q =|P – Q | • O ângulo entre dois vetores pode ser

determinado por

• Projeção ortogonal: dados dois vetores u e v, deseja-se decompor u na soma de dois

vetores u1 e u2 tais que u1 é paralelo a v e u2 é perpendicular a v ) ˆ ˆ ( cos cos ) , ( 1 1 u v v u v u v u ângulo  = ⋅      ⋅ = − − r r r r r r

v

u

r

r

r

r

r

r

r

u u

(22)

Produto Vetorial (3D)

Produto Vetorial (3D)

• Permite achar um vetor perpendicular a outros dois dados

• Útil na construção de sistemas de coordenadas

z y x z y x x y y x z x x z y z z y v v v u u u k j i v u v u v u v u v u v u v u r r r r r =           − − − = × u v u×v .

• Propriedades (assume-se u, v linearmente independentes):

ƒ Antisimetria: u × v = – v × u

ƒ Bilinearidade: u × (αv) = α (u × v) e u × (v + w) = (u × v) + (u × w) ƒ u × v é perpendicular tanto a u quanto a v

(23)

Sistemas de coordenadas

Sistemas de coordenadas

• Um sistema de coordenadas para Rn é

definido por um ponto (origem) e n vetores • Ex. Seja um sistema de coordenadas para

R2 definido pelo ponto O e os vetores X e

Y. Então,

ƒ Um ponto P é dado por coordenadas xP e yP tais que

ƒ Um vetor V é dado por coordenadas xV e yV tais que O Y y X x P = P. + P. +

(24)

Coordenadas Homogêneas

Coordenadas Homogêneas

• Coordenadas homogêneas permitem

unificar o tratamento de pontos e vetores • Problema é levado para uma dimensão

superior:

ƒ Coordenada extra w= 0 para vetores e =1 p/

pontos

ƒ O significado da coordenada extra é levar ou não em consideração a origem do sistema

• Coordenadas homogêneas têm diversas propriedades algébricas interessantes

ƒ Ex. Subtração de dois pontos naturalmente

(25)

Orientação

Orientação

• Orientação de 2 pontos em 1D

ƒ P1 < P2 , P1 = P2 ou P1 > P2

• Orientação de 3 pontos em 2D

ƒ O percurso P1 , P2 , P3 é feito no sentido dos

ponteiros do relógio, no sentido contrário ou são colineares Or (P1, P2, P3) = 0 P3 Or (P1, P2, P3) = +1 P1 Or (P1, P2, P3) = -1 P3 P2 P

(26)

Orientação

Orientação

• Orientação de 4 pontos em 3D

ƒ O percurso P1 , P2 , P3 , P4 define um

parafuso segundo a regra da mão direita, mão esquerda ou são coplanares

• O conceito pode

ser estendido a

qualquer

número de

dimensões ...

P1 P4 P2 Or (P1, P2, P3, P4) = +1 P3

(27)

Computando Orientação

Computando Orientação

• A orientação de n+1 pontos em um espaço n-dimensional é dado pelo sinal do

determinante da matriz cujas colunas são as coordenadas homogêneas dos pontos

com o 1 vindo primeiro

              = 4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1 3 1 1 1 1 sign ) , , , ( Or z z z z y y y y x x x x P P P P           = 3 2 1 3 2 1 3 2 1 2 1 1 1 sign ) , , ( Or y y y x x x P P P

Referências

Documentos relacionados

Reta: equações geral e reduzida, interseção de retas, paralelismo e perpendicularidade, ângulo entre duas retas, distância entre ponto e reta e distância entre duas retas,

Conclui-se que o teor de prolina varia entre as cultivares de mandioca, sendo maior nas cultivares Platina’ e ‘Caravela’, seguidas por ‘BRS Kiriris’, ‘BRS Verdinha’,

Em Minas Gerais, pôde-se contar a partir de 2015, com a Coordenação de Educação Escolar Indígena que é atualmente o setor da Secretaria de Estado de Educação responsável

Miquéias explicou que Deus valorizava e procurava como características do seu povo a justiça, a misericórdia e um andar humilde diante dEle (conf.. Ao mesmo tempo, Deus

A administração da Companhia é responsável pela elaboração e adequada apresentação das demonstrações financeiras individuais de acordo com as práticas contábeis adotadas

&#34;um &#34;um rel relanc ance e tud tudo o com compre preend endeu$ eu$ o o pal palácio ácio sur surpre preend endido ido, , o o  bastardo cruel vindo roubar, matar

Apresentar alguns aspectos do Litoral Norte de São Paulo, levantar alguns dados sobre a capacitação das pessoas que atuam em atividades ligadas ao turismo nesta

Sobre essas estruturas anatômicas, marcam-se os pontos e segmentos de retas da cefalometria de Ricketts (apenas os necessários para a execução do VTO). Por sua vez, a camada do VTO