Professor: Anselmo Montenegro Conteúdo: - Problemas fundamentais. Instituto de Computação - UFF
|
|
- Natan Chaves Ramires
- 7 Há anos
- Visualizações:
Transcrição
1 Geometria Computacional Professor: Anselmo Montenegro Conteúdo: - Problemas fundamentais 1
2 Roteiro Introdução Problemas de localização Interseção de segmentos Problema do par mais próximo Problema do círculo envolvente mínimo 2
3 Problemas fundamentais: introdução Iremos apresentar alguns dos problemas mais básicos em Geometria Computacional Tais problemas servem em alguns casos como base para solução de outros problemas mais complexos 3
4 Problemas fundamentais: localização de pontos Os problemas de localização de pontos em relação a diferentes primitivas são fundamentais para solução de diversos problemas em GC Consideramos aqui três versões do problema: Localização de pontos em relação a retas Localização de pontos em relação a triângulos Localização de pontos em relação a polígonos 4
5 Problemas fundamentais: localização de pontos em relação a retas Problema : dada uma reta determinada por dois pontos A e B, orientada no sentido de A para B, determinar se um ponto p está sobre a reta, no semi-plano direito ou semi-plano esquerdo Uma reta divide o plano em dois semi-planos ilimitados B A p 5
6 Problemas fundamentais: localização de pontos em relação a retas Quando p está sobre a reta determinada por A e B pode-se distinguir 5 casos: p está antes de A p está sobre A p p p p está entre A e B B p está sobre B p p está após B p p A p 6
7 Problemas fundamentais: localização de pontos em relação a retas p está a esquerda do segmento orientado AB se o vetor (p-a) tem mesma direção que uma rotação positiva do vetor (B-A) p B p A 7
8 Problemas fundamentais: localização de pontos em relação a retas Em outras palavras, a componente de (p-a) em relação ao complemento ortogonal positivo é positiva (B- A)^ = (-(By- Ay), Bx- Ax) (B-A) p B p A Logo, p está a esquerda se ^ ( p - A),( B - A) 0 8
9 Problemas fundamentais: localização de pontos em relação a retas Exercício: mostre que ^ ( p - A),( B - A) = x y A A x y B B x y p p 9
10 Problemas fundamentais: localização de pontos em relação a retas O resultado anterior mostra que p está à esquerda da reta que passa por AB no sentido de A para B se: (B- A) (p- A) 0 De modo análogo modo p está à direita se (B- A) (p- A) < 0 10
11 Problemas fundamentais: localização de pontos em relação a retas No caso degenerado em que (B- A) (p- A) = 0, p está sobre a reta Se o segmento AB não for vertical podemos utilizar as seguintes regras Condição X p <X A X p =X A X A <X p <X B X p =X B X B <X p Localização p está antes de A p está em A p está entre A e B p está em B p está depois de B 11
12 Problemas fundamentais: localização de pontos em relação a retas Exercício: como especificar regras para o caso em que AB é vertical 12
13 Problemas fundamentais: localização de ponto em triângulo Um problema muito importante em geometria computacional é localizar pontos em polígonos. Comecemos com o problema mais simples, de localizar um ponto em um triângulo Teorema 5.1 Sejam p 1, p 2 e p 3 três pontos em posições gerais (não colineares) no R 2. Então cada ponto p do plano pode ser escrito como onde l 1 + l 2 + l 3 =1 p = l 1 p 1 + l 2 p 2 + l 3 p 3 l 1, l e l 3 Os coeficientes são conhecidos como coordenadas baricêntricas. 13
14 Problemas fundamentais:localização de ponto em triângulo λ 1 >0 λ 2 <0 λ 3 <0 λ 1 >0 λ 2>0 λ 3 <0 λ 1 >0 λ 2 >0 λ 3 >0 p 1 λ 1 >0 λ 2 <0 λ 3 >0 p 2 p 3 λ 1 <0 λ 2 >0 λ 3 <0 λ 1 <0 λ 2 >0 λ 3 >0 λ 1 <0 λ 2 <0 λ 3 >0 Sinais das coordenadas baricêntricas 14
15 Problemas fundamentais: localização de ponto em triângulo Exercício: prove o teorema 5.1 Exercício: implemente um algoritmo para localização de ponto em um triângulo 15
16 Problemas fundamentais: localização de pontos em relação a poligonos Problema (Ponto em polígono) Dado um polígono simples P = p 1, p 2,..., p n no R 2, determinar se um ponto p é interior, exterior ou encontra-se na fronteira de P Teorema 5.2 (Teorema de Jordan) uma curva poligonal simples separa o plano em duas regiões conexas abertas, uma limitada e a outra não, ambas tendo a curva como fronteira 16
17 Problemas fundamentais: localização de pontos em relação a poligonos Região limitada Região ilimitada Fronteira 17
18 Problemas fundamentais:localização de pontos em relação a poligonos Solução baseada no Teorema de Jordan: Traçar uma semi-reta L partindo de p e determinar os pontos de interseção com a linha poligonal P Configuração p em uma aresta #interseções par #interseções ímpar Resposta p está na fronteira de P p é exterior a P p é interior a P 18
19 Problemas fundamentais: localização de pontos em relação a poligonos
20 Problemas fundamentais: localização de pontos em relação a poligonos Exercício: explique a lógica por trás do teste de paridade. 20
21 Problemas fundamentais: localização de pontos em relação a poligonos 1 ou 3?? 0 ou 2??? 1 ou 3??? 21
22 Problemas fundamentais: localização de pontos em relação a poligonos Como resolver esse problema de interseção nos vértices?? A interseção de um lado p i p i+1 com L é contada somente se ela ocorrer em um ponto que não de seja de ordenada mínima em p i p i+1 Exercício: explique porque esta estratégia funciona 22
23 Problemas fundamentais: localização de pontos em relação a poligonos Como resolver esse problema de interseção nos vértices?? A interseção de um lado p i p i+1 com L é contada somente se ela ocorrer em um ponto que não de seja de ordenada mínima em p i p i+1 Exercício: explique porque esta estratégia funciona 23
24 Problemas fundamentais: localização de pontos em relação a poligonos Exercício: implemente um algoritmo que faça a detecção ponto polígono 24
25 Problemas fundamentais: índices de rotação Dada uma linha poligonal L =p 1, p 2,..., p n e um ponto p não pertencente a ela, o índice de rotação de p em relação a L é dado por k = 1 2p 1 å n Ðp i pp i+1 i=1 25
26 Problemas fundamentais: índices de rotação Dada uma linha poligonal L =p 1, p 2,..., p n e um ponto p não pertencente a ela, o índice de rotação de p em relação a L é dado por sai entra sai p 26
27 Problemas fundamentais: índices de rotação Teorema 5.3 Seja P = um polígono simples e seja p um ponto que não pertence à fronteira de P. Então o índice de rotação κ de p é igual a 0,1 ou -1 e a) p é interior se e somente se κ=1 ou -1 b) p é exterior se e somente se κ=0 27
28 Problemas fundamentais: índices de rotação Exercício: provar o teorema 2.5. Dica: considere a contribuição de cada setor gerado pelos segmentos com origem em p e destino nos vértices de P com base no número de vezes que cada lado de P cruza cada setor 28
29 Problemas fundamentais: interseção de segmentos Considere uma configuração com n segmentos de reta no plano Problema 1. Determinar se existe um par de segmentos que se cruzam (deteccão) Problema 2. Determinar todos os pares de segmentos que se cruzam (identificação) 29
30 Problemas fundamentais: interseção entre 2 segmentos - decisão Sejam AB e CD dois segmentos. Solução do problema de decisão: AB e CD se cruzam se C e D estão em lados opostos em relação a AB e se A e B estão em lados opostos em relação a CD 30
31 Problemas fundamentais: interseção entre 2 segmentos - decisão Exercício: expresse o critério anterior através das operações primitivas estabelecidas Exercício: interprete a noção de lados opostos para configurações degeneradas C C D B D C B B D A A A 31
32 Problemas fundamentais: interseção entre 2 segmentos - identificação A solução para o problema de identificação do ponto de interseção de dois segmentos AB e CD pode ser obtida através da solução de um sistema linear Primeiramente encontramos o ponto de interseção p entre AB e CD, caso exista, e verificamos se p é interior a ambos os segmentos 32
33 Problemas fundamentais: interseção entre 2 segmentos - identificação Seja r a reta que passa por AB e parametrizada por A+t(B-A) e s a reta que passa por CD e parametrizada por C+t(C-D), t,s R Pode se afirmar que a interseção quando existe é dada por p = A+t(B-A) = C+t(C-D), t,s [0,1] A x + t(b x - A x ) = C x + s(d x - C x ) A y + t(b y - A y ) = C y + s(d y - C y ) æ ç ç è B x B y A x A y öæ ç øè t s ö æ = C x - A ç x ø ç C y - A è y ö ø 33
34 Problemas fundamentais: interseção entre n segmentos O problema geral de interseção de n segmentos em suas duas versões (detecção e identificação) admite uma solução força bruta: Testar todos os pares A solução força bruta entretanto é O(n 2 ) 34
35 Problemas fundamentais: interseção entre n segmentos Exercício: mostre porque a solução força bruta é O(n 2 ) 35
36 Problemas fundamentais: interseção entre n segmentos É possível fazer melhor? Sim. O limite inferior para identificação não se aplica a detecção Para detecção temos apenas o limite inferior trivial Ω(n) 36
37 Problemas fundamentais: interseção entre n segmentos Outra visão é a de que o número de cruzamentos I pode ser muito menor que O (n 2 ) Logo é razoável considerar a complexidade de identificação em função de I (em função do tamanho da saída do problema) Assim temo um limite inferior de Ω(n+I) para identificação 37
38 Problemas fundamentais: interseção entre n segmentos Como estabelecer um limite inferior não trivial para o problema? Usar a técnica de redução Infelizmente, ordenação não se reduz a identificação ou detecção 38
39 Problemas fundamentais: interseção entre n segmentos É possível entretanto reduzir um outro problema muito simples ao problema de identificação Problema (Unicidade) dados n números reais x 1,x 2,...,x n, decidir se há duplicatas entre eles, isto é, se existem i e j com i j Solução: ordenar os n números e verificar se há dois consecutivos iguais 39
40 Problemas fundamentais: interseção entre n segmentos Unicidade Ordenação O(nlogn) Observe que Unicidade Ordenação Ω(nlogn) Para isso teríamos que mostrar que: Ordenação Unicidade 40
41 Problemas fundamentais: interseção entre n segmentos Ordenação Unicidade não é conhecida Porém sabe-se que Unicidade é Ω(nlogn) No modelo de árvores de decisões algébricas, qualquer algoritmo que decida se há duplicatas numa sequência de n números leva tempo Ω(nlogn) 41
42 Problemas fundamentais: interseção entre n segmentos Unicidade Detecção construa para cada número real x i em x 1,x 2,...,x n, um segmento de reta s i = {x i } [0,1]. x i = x j s i s j Logo detecção é Ω(nlogn) 42
43 Problemas fundamentais: interseção entre n segmentos É possível reduzir detecção a identificação (como?) Logo, podemos transferir o limite inferior Ω(nlogn) de detecção para identificação Tal limite (Ω(nlogn)) não é o melhor pois sabemos que identificação é Ω(n 2 ) Por outro lado, considerando o número de cruzamentos I podemos chegar ao limite inferior Ω(nlogn + I) 43
44 Problemas fundamentais: algoritmo para interseção entre n segmentos Como evitar efetuar o teste entre todos os n 2 pares de segmentos em conjunto de segmentos S? O segredo é usar a característica geométrica do problema: Segmentos que estão longe são improváveis de produzirem uma interseção, diferentemente do que ocorre com os que estão próximos 44
45 Problemas fundamentais: algoritmo para interseção entre n segmentos Observação 1: dois segmentos s i e s j podem se intersectar somente se a projeção das coordenadas dos seus extremos no eixo y determina intervalos com alguma sobreposição s1 s2 s3 Podemos no exemplo a esquerda descartar a possibilidade de interseção que o segmento s4 intersecte os segmentos s1 e s2 s4 45
46 Problemas fundamentais: algoritmo para interseção entre n segmentos Observação 2: um par de segmentos s l e s r podem se intersectar se existe uma reta l horizontal que os intersecta s1 s2 Podemos então no exemplo a esquerda descartar a possibilidade de interseção entre os pares {s 1,s 4 } e {s 2,s 4 } s3 s4 46
47 Problemas fundamentais: algoritmo para interseção entre n segmentos A ideia para resolver o problema consiste em usar uma reta l que varre o plano l começa de uma posição acima de todos os segmentos e armazena, a cada instante, quais são os segmentos que a intersectam s1 l s2 s3 s4 47
48 Problemas fundamentais: algoritmo para interseção entre n segmentos Um algoritmo assim construído é baseado em uma técnica denominada varredura do plano. A reta l é denominada reta de varredura O status ou estado da reta é conjunto de segmentos que a intersectam s1 s2 s3 l s4 48
49 Problemas fundamentais: algoritmo para interseção entre n segmentos O status muda conforme a reta desce, mas não continuamente s1 s2 s3 l s4 49
50 Problemas fundamentais: algoritmo para interseção entre n segmentos O status muda conforme a reta desce, mas não continuamente s1 s2 s3 l s4 50
51 Problemas fundamentais: algoritmo para interseção entre n segmentos O estado é modificado em pontos especiais denominados pontos de eventos Os pontos extremos dos segmentos formam o conjunto de eventos Veremos posteriormente que pontos de interseção computados também são eventos 51
52 Problemas fundamentais: algoritmo para interseção entre n segmentos O algoritmo apenas efetua ações quando os eventos são atingidos Ações realizadas: Atualizar o status da reta de varredura Calcular interseções 52
53 Problemas fundamentais: algoritmo para interseção entre n segmentos Caso 1 (o evento é um ponto extremo superior de um segmento s) Ações: 1. inserir o segmento s no status da reta l 2. Testar a interseção de s contra os segmentos no status de l 53
54 Problemas fundamentais: algoritmo para interseção entre n segmentos s1 l s2 s3 s4 54
55 Problemas fundamentais: algoritmo para interseção entre n segmentos s1 L={s1},Intersec={} s2 s3 s4 55
56 Problemas fundamentais: algoritmo para interseção entre n segmentos s1 p s2 s3 L={s1,s3},Intersec={} s4 56
57 Problemas fundamentais: algoritmo para interseção entre n segmentos s1 p s2 s3 L={s1,s3,s2},Intersec={p} s4 57
58 Problemas fundamentais: algoritmo para interseção entre n segmentos Caso 2 (o evento é um ponto extremo inferior de um segmento s) Ação: remover o segmento s no status da reta l 58
59 Problemas fundamentais: algoritmo para interseção entre n segmentos Por enquanto, ignoremos as interseções... O segmento s1 sai do estado de L s1 p s2 s3 L={s3,s2},Intersec={} s4 59
60 Problemas fundamentais: algoritmo para interseção entre n segmentos Testamos apenas segmentos intersectados por l Mesmo assim o número de interseções pode ser quadrático Como evitar todas essas interseções? 60
61 Problemas fundamentais: algoritmo para interseção entre n segmentos Muitos dos segmentos intersectados por l podem estar distantes entre si Ideia: a. Ordenar os segmentos da esquerda para direita na ordem das interseções para captura a noção de proximidade na horizontal b. Testar apenas os segmentos que são adjacentes horizontalmente 61
62 Problemas fundamentais: algoritmo para interseção entre n segmentos Quando o evento s2 é tratado verificamos a interseção apenas entre s1 e s2 e s2 e s3 s1 p s2 s3 L={s1,s2,s3},Intersec={p} s4 62
63 Problemas fundamentais: algoritmo para interseção entre n segmentos Agora, para cada novo segmento que muda o status da reta de varredura testamos apenas um segmento a esquerda e outro a direita Quando a reta se move para um novo status, um segmento pode passar a ter outros segmentos adjacentes 63
64 Problemas fundamentais: algoritmo para interseção entre n segmentos Portanto, o status da reta l passa a ser a sequência de segmentos ordenados da esquerda para a direita que intersectam l Este novo status não muda mais somente nos extremos, mas também nos pontos de interseção 64
65 Problemas fundamentais: algoritmo para interseção entre n segmentos s1 p s2 s3 L={s1,s2,s3},Intersec={} s4 65
66 Problemas fundamentais: algoritmo para interseção entre n segmentos s1 p s2 s3 L={s2,s1,s3},Intersec={} s4 66
67 Problemas fundamentais: algoritmo para interseção entre n segmentos Nos pontos de interseção a ordem dos segmentos muda localmente É preciso testar os segmentos que mudaram de ordem contra seus novos adjacentes 67
68 Problemas fundamentais: algoritmo para interseção entre n segmentos Detalhes de implementação Utiliza-se uma fila de prioridades Q para tratar os eventos Um evento e tem prioridade sobre um evento e se: e y >e y a. e y =e y e e x <e x O evento é determinado por um ponto e os segmentos que nele começam A busca e inserção de elementos na fila tem custo O(log m), onde m é o número de eventos (pontos extremos + interseções) 68
69 Problemas fundamentais: algoritmo para interseção entre n segmentos Detalhes de implementação Para tratar o status utiliza-se uma arvore binária de busca balanceada T Os segmentos que intersectam l são armazenados nas folhas de T Para auxiliar a busca, os nós internos armazenam os segmentos mais a direita na subárvore esquerda 69
70 Problemas fundamentais: algoritmo para interseção entre n segmentos Teorema 5.4. Seja S um conjunto de n segmentos no plano. Todos os pontos de interseção dos segmentos em S podem ser identificados e reportados em tempo O(n log n + I log n) e com complexidade de espaço O(n), onde I é o número de pontos de interseção 70
71 Problemas fundamentais: algoritmo para interseção entre n segmentos sk sk sm si si sl T árvore binária balanceada de busca sm p sj p si sj sl sm sj sk Em cada nó interno armazenamos o segmento mais a direita da subárvore esquerda. Os segmentos (dados) são armazenados nas folhas 71
72 Problemas fundamentais: algoritmo para interseção entre n segmentos Algorithm FINDINTERSECTIONS(S) Input. A set S of line segments in the plane. Output. The set of intersection points among the segments in S, with for each intersection point the segments that contain it. 1. Initialize an empty event queue Q. Next, insert the segment endpoints into Q; when an upper endpoint is inserted, the corresponding segment should be stored with it. 2. Initialize an empty status structure T. 3. while Q is not empty 4. do Determine the next event point p in Q and delete it. 5. HANDLEEVENTPOINT(p) 72
73 Problemas fundamentais: algoritmo para interseção entre n segmentos HANDLEEVENTPOINT(p) 1.Let U ( p) be the set of segments whose upper endpoint is p; these segments are stored with the event point p. (For horizontal segments, the upper endpoint is by definition the left endpoint.) 2.Find all segments stored in T that contain p; they are adjacent in T. Let L(p) denote the subset of segments found whose lower endpoint is p, and let C(p) denote the subset of segments found that contain p in their interior. 3.if L(p) U(p) C(p) contains more than one segment 4. then Report p as an intersection, together with L(p), U(p), and C(p). 5.Delete the segments in L(p) C(p) from T. 6. Insert the segments in U(p) C(p) into T. The order of the segments in T should correspond to the order in which they are intersected by a sweep line just below p. If there is a horizontal segment, it comes last among all segments containing p. 7.( Deleting and re-inserting the segments of C(p) reverses their order. ) 8. if U(p) C(p)=0 9. then Let sl and sr be the left and right neighbors of p in T. 10. FINDNEWEVENT(sl,sr, p) 11. else Let s be the leftmost segment of U(p) C(p) in T. 12. Let sl be the left neighbor of s in T. 13. FINDNEWEVENT(sl,s, p) 14. Let s be the rightmost segment of U(p) C(p) in T. 15. Let sr be the right neighbor of s in T. 16. FINDNEWEVENT(s,sr, p) 73
74 Problemas fundamentais: algoritmo para interseção entre n segmentos FINDNEWEVENT(sl,sr, p) 1. if sl and sr intersect below the sweep line, or on it and to the right of the current event point p, and the intersection is not yet present as an event in Q 2. then Insert the intersection point as an event into Q. 74
75 Problemas fundamentais: par mais próximo Problema: dados n pontos no plano, encontrar o par mais próximo Aplicações: computação gráfica, visão computacional, GIS, modelagem de moléculas, controle de tráfego, etc. 75
76 Problemas fundamentais: par mais próximo Solução trivial: força bruta O(n 2 ) (Por que?) Podemos resolver o par mais próximo sem testar todos os pares? 76
77 Problemas fundamentais: par mais próximo Abordagem incremental: 1. Processa-se os pontos p 1,...,p n, um de cada vez, na ordem em que são dados 2. A cada passo identifica-se o par mais próximo dentre os pontos já vistos 3. Ao final identifica-se o par mais próximo dentre todos os pares de pontos 77
78 Problemas fundamentais: par mais próximo Observe que em cada passo k, a nova estimativa de distância δ é atualizada somente se existem pontos p j, dentro do círculo centrado em B(p K, δ) de raio δ Neste caso, o novo par é formado por (p k,p) p = argmin dist(p k, p j ) p j ÎB( p k,d ) Além disso, a nova estimativa de distância é dada por d = min dist(p k, p j ) p j ÎB( p k,d ) Deste modo, a cada passo temos uma nova zona de influência dada por B(p K, δ) que limita o número de testes 78
79 Problemas fundamentais: par mais próximo p 1 δ p 2 79
80 Problemas fundamentais: par mais próximo δ p 3 p 1 δ p 2 80
81 Problemas fundamentais: par mais próximo p 3 p 1 δ δ' p 2 81
82 Problemas fundamentais: par mais próximo p 3 p 1 δ δ' p 2 82
83 Problemas fundamentais: par mais próximo p 3 p 1 p 2 δ δ' 83
84 Problemas fundamentais: par mais próximo p 3 p 1 p 2 δ 84
85 Problemas fundamentais: para mais próximo p 3 p 1 δ p 2 85
86 Problemas fundamentais: para mais próximo p 3 p 1 δ p 2 86
87 Problemas fundamentais: para mais próximo p 3 p 1 δ p 2 87
88 Problemas fundamentais: par mais próximo p 3 p 1 δ p 2 88
89 Problemas fundamentais: par mais próximo É possível identificar as ideias intuitivas com o método de varredura do plano A linha de varredura é a linha vertical que passa por cada ponto, caminhando da esquerda para a direita Os eventos são determinados por cada ponto a ser processado O estado (status) de cada linha de varredura é a menor distância atual e o par mais próximo dentre os pontos já visitados 89
90 Problemas fundamentais: par mais próximo Como determinar todos os pontos a serem testados a cada novo p k na fila de eventos? Devemos ordenar todos os pontos em função da coordenada x 90
91 Problemas fundamentais: par mais próximo Deste modo podemos facilmente definir uma faixa vertical que restringe os pontos a serem testados δ Além disso, dentro da faixa vertical, apenas os pontos que estão a uma distância δ na coordenada y podem estar mais próximos de p k que a estimativa atual p 1 p 2 p k 91
92 Problemas fundamentais: par mais próximo Finalmente, todos os candidatos a formarem um par mais próximo com p k formam um retângulo de largura δ e altura 2δ Para efetuar uma busca eficiente mantemos os pontos ordenados dentro da faixa vertical ordenados pela coordenada y em uma lista L δ δ pk δ 92
93 Problemas fundamentais: par mais próximo Por que tal estratégia é eficiente? Porque dentro de uma zona de candidatos limitamos o número de candidatos a uma constante 93
94 Problemas fundamentais: par mais próximo De fato no retângulo de largura δ e altura 2δ podemos ter no máximo 6 pontos δ δ δ 94
95 Problemas fundamentais: par mais próximo Algorithm IncrementalClosestPair(S) Input. A set S of points in the plane. Output. A pair of points (p,p ) and the minimum distance δ 1.Create an event queue sorting all points lexicographically (in x and then in y) 2.Star the sweeping at p 2 with δ=dist(p 1,p 2 ). The vertical strip covers initially the region bounded by [x 1,x 2 ]. The list L starts with p 1 and p 2 sorted by y 3.At step k, move the sweeping line to x k and the vertical strip from [x i,x k ] to [x j,x k ], deleting all points p u, i<u<j, such that p k -p u δ 4.Insert p k in L and check whether there is a neighbor q of p k in L such that dist(p k,q)<δ. If such point exists, update the closest pair and δ 95
96 Problemas fundamentais: par mais próximo Complexidade: Para criar a fila de eventos no passo 1 precisamos ordenar os pontos o que custa O(n log n). Para manter a lista L ordenada gastamos O(log n), por operação, usando uma árvore balanceada. Como o número de operações no passo 3 é n, temos o custo total O(n log n) No passo 4, para incluir p k em L e identificar cada vizinho gastamos O(logn). Como o número de candidatos é fixo temos o custo de O(n log n)(inserimo n pontos em L no total com custo O(log n) O custo total somando todos custos em cada passo é O(n log n) e portanto o algoritmo é ótimo 96
97 Problemas fundamentais: círculo mínimo Problema: Dados n pontos no plano encontrar o menor círculo que contém todos eles Consiste em determinar o centro do menor círculo que contém todos os seus pontos do conjunto e o seu raio 97
98 Problemas fundamentais: círculo mínimo Aplicações Posicionar um hospital de forma a atender toda a comunidade em menor tempo Planejar o centro de um bombardeio de forma mais eficiente Posicionar um braço de robô no centro de um conjunto de objetos para minimizar o tempo para movimentá-los 98
99 Problemas fundamentais: círculo mínimo Estudo da geometria do problema Caso (n=1) círculo mínimo com centro no único ponto e raio zero Caso (n=2) círculo mínimo com centro em (p 1 +p 2 )/2 e raio igual dist(p 1,p 2 )/2 99
100 Problemas fundamentais: círculo mínimo Caso (n=3) Três pontos colineares supondo p 2 entre p 1 e p 3 então o círculo tem centro em (p 1 +p 3 )/2 e raio dist(p 1,p 3 ) Três pontos em posição geral consideremos o circuncírculo p 2 p 1 p 3 100
101 Problemas fundamentais: círculo mínimo Caso (n=3) Três pontos em posição geral: consideremos o circuncírculo O circuncírculo não necessariamente é o menor círculo Se o triângulo contém um ângulo obtuso em p 2 então o diâmetro p 1 p 3 determina um círculo menor que contêm p 2 p 2 p 1 p 3 101
102 Problemas fundamentais: círculo mínimo Caso (n 3) Sempre é possível encontrar um círculo que contenha todos os pontos 102
103 Problemas fundamentais: círculo mínimo Caso (n 3) Se ele não toca nenhum ponto de S então ele não pode ser mínimo. É possível reduzir seu raio mantendo seu centro e reduzindo o raio até que toque o ponto mais distante de O O 103
104 Problemas fundamentais: círculo mínimo Caso (n 3) Se ele não toca pelo menos 2 pontos de S então ele não pode ser mínimo. É possível reduzir seu raio mantendo mantendo o contato com o ponto de contato atual A e movendo o centro O na direção radial de A O A 104
105 Problemas fundamentais: círculo mínimo Caso (n 3) Se AB é o diâmetro do círculo então achamos o mínimo B O A 105
106 Problemas fundamentais: círculo mínimo Caso (n 3) Senão, movemos o centro na direção da mediatriz de AB até encontrar um novo ponto de contato B O A 106
107 Problemas fundamentais: círculo mínimo Caso (n 3) Resumo: para encontrar o círculo que contém S basta considerar todos os círculos definidos por dois ou três pontos de S que contenham todos os pontos de S 107
108 Problemas fundamentais: círculo mínimo Caso (n 3) Resumo: para encontrar o círculo que contém S basta considerar todos os círculos definidos por dois ou três pontos de S que contenham todos os pontos de S Se o círculo tocar dois pontos que determinam seu diâmetro então ele é mínimo. Caso contrário, se deve existir mais um ponto de contato Se três pontos de contato formam um ângulo obtuso então é possível reduzí-lo ainda mais (ver slide 90) Se os três ângulos são agudos então o círculo correspondente é mínimo 108
109 Problemas fundamentais: círculo mínimo Algorithm - MinimumEnclosingCircle(S) Input. Set S of points in the plane Output. Center c and radius r of the minimum enclosing circle 1.Draw a circle at center, c, such that points of given set lie within the circle. Clearly, this circle can be made smaller (or else we have the solution) 2.Make a circle smaller by finding the point A farthest from the center of the circle, and drawing a new circle with the same center and passing through the point A. These two steps produce a smaller enclosing circle. The reason that the new circle is smaller is that this new circle still contains all the points of given set, except now it passes through farthest point, x, rather than enclosing it. 3.If the circle passes through 2 or more points, proceed to step 4. Otherwise, make the circle smaller by moving the center towards point A, until the circle makes contact with another point B from the set. 4.At this stage, we have circle, C, that passes through two or more points of a given set. If the circle contains an interval (point-free interval) of arc greater than half the circle's circumference on which no points lie, the circle can be made smaller. Let D and E be the points at the ends of this point-free interval. While keeping D and E on the circle's boundary, reduce the diameter of the circle until we have either case (a) or case (b). 109
110 Problemas fundamentais: círculo mínimo Case (a) The diameter is the distance DE. We are done! Case (b) The circle C touches another point from the set, F. Check whether there exits point-free arc intervals of length more than half the circumference of C. IF no such point-free arc intervals exit THEN We are done! Else Goto step 4. In this case, three points must lie on an arc less than half the circumference in length. We repeat step 4 on the outer two of the three points on the arc. 110
111 Problemas fundamentais: círculo mínimo Algorithm BRUTEFORCE(S) : Input. A set S of points in the plane. Output. The smallest circle containing all points in S 1.Consider all pairs and triplets of S. 2.Choose the smallest circle defined by two or three points in S that contains all points in s æ n ç èè2ø n ö 3 è øø Complexidade: æ ö æ ö 4 n çç + ç = O( n ) 111
112 Problemas fundamentais: círculo mínimo Algoritmo randômico baseado no seguinte Lema: Seja 2<i<n, e seja Si o conjunto com i pontos e Di o menor disco que contém os pontos de Si. Então temos que: (i) (ii) Se piîdi-1 então Di = Di-1 Se pi Di-1 então pi deve estar na fronteira de Di 112
113 Problemas fundamentais: círculo mínimo Algorithm MINIDISC(S) Input. A set S of n points in the plane. Output. The smallest enclosing disc for S 1. Compute a random permutation p1,,pn of S 2. Let D2 be the smallest enclosing disc for p1 and p2. 3. for i=3 to n 4. if piîdi-1 then 5. Di = Di-1 6. else 7. Di = MINIDISCWITHPOINT({p1, pi-1},pi) 8. Return Dn 113
114 Problemas fundamentais: círculo mínimo Algorithm MINIDISCWITHPOINT(S,q) Input. A set S of n points in the plane and a point q such that there existis an enclosing disc for P with on its boundary. Output. The smallest enclosing disc for S with q on its boundary 1. Compute a random permutation p1,,pn of S 2. Let D1 be the smallest enclosing disc with p1 and q on its boundary. 3. For j= 2 to n 4. if pjîdj-1 then 5. Dj = Dj-1 6. else 7. Dj = MINIDISCWITHTWOPOINTS({p1, pj-1},pj,q) 8. Return Dn 114
115 Problemas fundamentais: círculo mínimo Algorithm MINIDISCWITHTWOPOINTS(S,q1,q2) Input. A set S of n points in the plane with two points q1 and q2 such that there existis an enclosing disc for P with q1 and q2 on its boundary. Output. The smallest enclosing disc for S with q1 and q2 on its boundary 1. Compute a random permutation p1,,pn of S 2. Let D0 be the smallest enclosing disc with q1 and q2 on its boundary. 3. for k=2 to n 4. if pkîdk-1 then 5. Dk = Dk-1 6. else 7. Dk = disc with q1,q2 and pk on its boundary 8. Return Dn 115
116 Problemas fundamentais: círculo mínimo Complexidade do algoritmo randômico: O( n) + åo( i) i= 2, n 2 i = O( n) Por que??????? 116
117 Problemas fundamentais: Referências Localização Notas de aula do Prof. Luiz Henrique Figueiredo IMPA. Interseção de Segmentos F. P. Preparata e M. I. Shamos, Computational Geometry: an Introduction, Springer-Verlag, M. de Berg, M. van Kreveld, M. Overmars, O. Schwarzkopf, Computational Geometry: Algorithms and Applications, Springer-Verlag, Par mais próximo Notas de aula do Prof. Luiz Henrique Figueiredo IMPA. F. P. Preparata e M. I. Shamos, Computational Geometry: an Introduction, Springer-Verlag, Minimum Enclosing Circle Notas de aula do Prof. Luiz Henrique Figueiredo IMPA. Applets/Center/centercli.htm 117
Interseções de Segmentos de Linha João Comba. Sobreposição de Mapas Temáticos
Interseções de Segmentos de Linha João Comba Sobreposição de Mapas Temáticos Mapas temáticos Segmentos curvos aproximados por vários segmentos de linha Problema de Sobreposição (Overlay): Dados dois conjuntos
Arranjos. Claudio Esperança Paulo Roma LCG/UFRJ. All rights reserved.
Arranjos Claudio Esperança Paulo Roma 1 Arranjos Arranjos de retas e planos são a terceira estrutura em importância em GC. Arranjos de retas são coleções de retas infinitas distribuídas no plano. Arranjos
Professor: Anselmo Montenegro Conteúdo: Aula 2. - Primitivas Geométricas. Instituto de Computação - UFF
Geometria Computacional Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: Aula - Primitivas Geométricas 1 Roteiro Introdução Operações primitivas Distâncias Ângulos Ângulos orientados Áreas
Ponto em Polígono. António Leslie Bajuelos Departamento de Matemática Universidade de Aveiro
Ponto em Polígono António Leslie Bajuelos Departamento de Matemática Universidade de Aveiro Preliminares Uma curva poligonal (ou cadeia poligonal) é uma sequência finita v 0, e 0, v,, e n-2, v n-, e n-
Professor: Anselmo Montenegro Conteúdo (aula 7): - Noções de estruturas de dados topológicas. Instituto de Computação - UFF
Geometria Computacional Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo (aula 7): - Noções de estruturas de dados topológicas 1 Roteiro Introdução Representação por grafos: grafo de incidências
Geometria Computacional
Geometria Computacional Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: - Polígonos 1 Roteiro Introdução Polígonos Teorema da Curva de Jordan Decomposição de polígonos Triangulações Estrutura
Terrenos. Triangulações de Delaunay João Comba
Terrenos Triangulações de Delaunay João Comba Terrenos Terrenos Conjunto P de pontos em 2D com altura (2 1/2 D) Nem todos pontos Triangulacao de P Aproximar altura de pontos pelos vizinhos Triangulos com
Algoritmos geométricos
Algoritmos geométricos introdução a conceitos básicos de geometria computacional que serão abordados de forma mais avançada na disciplina Computação Gráfica disciplina de computação gráfica arquitetura
Professor: Anselmo Montenegro Conteúdo (aula 6): - Fecho Convexo 2D. Instituto de Computação - UFF
Geometria Computacional Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo (aula 6): - Fecho Convexo 2D 1 Roteiro Introdução Noções de convexidade Algoritmo Incremental Algoritmo Embrulho para
Geometria Computacional Primitivas Geométricas. Claudio Esperança Paulo Roma Cavalcanti
Geometria Comutacional Primitivas Geométricas Claudio Eserança Paulo Roma Cavalcanti Oerações com Vetores Sejam x e y vetores do R n e λ um escalar. somavetorial ( x, y ) = x + y multescalar ( λ, x ) =
Capítulo 2. Retas no plano. 1. Retas verticais e não-verticais. Definição 1
Capítulo 2 Retas no plano O objetivo desta aula é determinar a equação algébrica que representa uma reta no plano. Para isso, vamos analisar separadamente dois tipos de reta: reta vertical e reta não-vertical.
Geometria Computacional: Fecho convexo
Geometria Computacional: INF2604 Geometria Computacional Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC O que é uma região convexa? Uma região é convexa se para qualquer par de pontos dessa região,
Imagination is more important than knowledge A. Einstein. 4. Partição de Polígonos. Mestrado em Matemática e Aplicações
4. Partição de Polígonos Antonio L. Bajuelos Departamento de Matemática Universidade de Aveiro Mestrado em Matemática e Aplicações Imagination is more important than knowledge A. Einstein 2 Algumas motivações
Arranjos e Dualidade. PS. Alguns slides baseadas nas notas de curso de Craig Gotsman e Darius Jazayeri. Ray Tracing x Supersampling
Arranjos e Dualidade PS. Alguns slides baseadas nas notas de curso de Craig Gotsman e Darius Jazayeri Ray Tracing x Supersampling Sample Point Set Rendered Half- Plane (4x zoom) Discrepância Dado um conjunto
Geometria Computacional: Polígonos
Geometria Computacional: INF2604 Geometria Computacional Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC O que é um polígono? Um polígono é uma região fechada do plano limitada por uma coleção de segmentos
5. Invólucros Convexos no Plano
5. Invólucros Convexos no Plano Antonio L. Bajuelos Departamento de Matemática Universidade de Aveiro Mestrado em Matemática e Aplicações Problema: uma primeira abordagem Definição do Problema: Dado: um
Análise e Complexidade de Algoritmos
Análise e Complexidade de Algoritmos Introdução a algoritmos geométricos e seus métodos - varredura - envoltória convexa Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Onde
Professor: Anselmo Montenegro Conteúdo: - Introdução. Instituto de Computação - UFF
Geometria Computacional Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: - Introdução 1 Roteiro Origens Definição Problemas geométricos Configurações degeneradas Classificação de problemas
5. Invólucros Convexos no Plano (cont )
5. Invólucros Convexos no Plano (cont ) Antonio Leslie Bajuelos Departamento de Matemática Universidade de Aveiro Mestrado em Matemática e Aplicações Complexidade Algorítmica Notação O Sejam T(n) e f(n)
Uma introdução à indecilibidade a forma máxima de complexidade!
Uma introdução à indecilibidade a forma máxima de complexidade! Como qualquer outra ferramenta, computadores tem capacidades e limitações que devem ser entendidas para seu bom uso. 1 Introdução Objetivos:
Revisão de Círculos. Geometria Básica Profa Lhaylla Crissaff
Revisão de Círculos Geometria Básica Profa Lhaylla Crissaff 2017.2 1 Definição Circunferência é uma figura geométrica formada por todos os pontos que estão a uma mesma distância de um ponto fixado no plano.
Geometria Computacional VII: Diagramas de Voronoi
Geometria Computacional VII: Diagramas de Voronoi Programa de Pós-Graduação em Engenharia Elétrica - UFMG Professor Renato Cardoso Mesquita http://www.ead.eee.ufmg.br/~renato/geocomp/ Diagramas de Voronoi
Geometria Computacional - Notas de aulas. André Guedes
Geometria Computacional - Notas de aulas André Guedes 24 de novembro de 2016 Aula 1 Introdução O nome Geometria Computacional é bastante recente, e se refere ao estudo de algoritmos para a solução de problemas
Interval Trees, Priority Search Trees, Segment Trees. João Comba. Pesquisas intervalares sobre segmentos de reta
Interval Trees, Priority Search Trees, Segment Trees João Comba Pesquisas intervalares sobre segmentos de reta Pesquisas intervalares sobre segmentos de reta Consultar uma coleção de segmentos de reta
Diagrama de Voronoi João Comba
Diagrama de Voronoi João Comba Diagrama de Voronoi Voronoi (1907) Tesselagens de Dirichlet (1850) Descarte (1644) Brown (1954): Area Potentially available to a tree Mead (1966): plant polygons Sítios:
Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo
PMR2300 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó (exceto a
CIC 111 Análise e Projeto de Algoritmos II
CIC 111 Análise e Projeto de Algoritmos II Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 29 Geometry Complex numbers Points and lines Polygon area Distance functions Geometry
Posição relativa entre retas e círculos e distâncias
4 Posição relativa entre retas e círculos e distâncias Sumário 4.1 Distância de um ponto a uma reta.......... 2 4.2 Posição relativa de uma reta e um círculo no plano 4 4.3 Distância entre duas retas no
Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Uma introdução à indecilibidade a forma máxima de complexidade!
Uma introdução à indecilibidade a forma máxima de complexidade! Como qualquer outra ferramenta, computadores tem capacidades e limitações que devem ser entendidas para seu bom uso. 1 Um problema indecidível:
Objetos Gráficos Planares
Universidade Federal de Alagoas Instituto de Matemática Objetos Gráficos Planares Prof. Thales Vieira 2011 Objetos Gráficos Computação Gráfica é a área que estuda a síntese, o processamento e a análise
Busca em Regiões Ortogonais
Busca em Regiões Ortogonais Claudio Esperança Paulo Roma 1 O problema O problema O problema consiste em recuperar objetos tipicamente pontos que intersectam ou estão contidos numa região simples do espaço
BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1
BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1 Na aula anterior Prova. 2 Na aula de hoje Geometria. 3 A geometria é inerentemente uma disciplina
Processamento de Malhas Poligonais
Processamento de Malhas Poligonais Tópicos Avançados em Computação Visual e Interfaces I Prof.: Marcos Lage www.ic.uff.br/~mlage mlage@ic.uff.br Conteúdo: Notas de Aula Curvas 06/09/2015 Processamento
Coordenadas e distância na reta e no plano
Capítulo 1 Coordenadas e distância na reta e no plano 1. Introdução A Geometria Analítica nos permite representar pontos da reta por números reais, pontos do plano por pares ordenados de números reais
Priority Queues. Problem. Let S={(s1,p1), (s2,p2),,(sn,pn)} where s(i) is a key and p(i) is the priority of s(i).
Priority Queues Priority Queues Problem. Let S={(s1,p1), (s2,p2),,(sn,pn)} where s(i) is a key and p(i) is the priority of s(i). How to design a data structure D to support the following operations over
Aula Orientação do espaço. Observação 1
Aula 14 Nesta aula vamos definir dois novos produtos entre vetores do espaço, o produto vetorial e o produto misto. Para isso, primeiro vamos apresentar o conceito de orientação. 1. Orientação do espaço
Triangulação de Delauney
Triangulação de Delauney Um pedaço da superfície terrestre é chamado de terreno. Um terreno é uma superfície 2-dimensional em um espaço 3-dimensional com uma propriedade especial: cada linha vertical intercepta
J. Delgado - K. Frensel - L. Crissaff Geometria Analítica e Cálculo Vetorial
76 Capítulo 4 Distâncias no plano e regiões no plano 1. Distância de um ponto a uma reta Dados um ponto P e uma reta r no plano, já sabemos calcular a distância de P a cada ponto P r. Definição 1 Definimos
Algoritmos Randomizados: Geometria Computacional
Algoritmos Randomizados: Geometria Computacional Celina Figueiredo Guilherme Fonseca Manoel Lemos Vinicius de Sá 26º Colóquio Brasileiro de Matemática IMPA Rio de Janeiro Brasil 2007 Resumo Introdução
Lista de exercícios de GA na reta e no plano Período de Prof. Fernando Carneiro Rio de Janeiro, Janeiro de 2017
Lista de GA no plano 1 Lista de exercícios de GA na reta e no plano Período de 016. - Prof. Fernando Carneiro Rio de Janeiro, Janeiro de 017 1 Retas no plano 1.1) Determine os dois pontos, que chamaremos
Ponto q está no polígono?
Ponto q está no polígono? P convexo Geometria Computacional p.1/12 Ponto q está no polígono? P convexo Algoritmo trivial: verifique se q está à esquerda de todas as arestas de P Geometria Computacional
LISTA DE EXERCÍCIOS MAT GEOMETRIA E DESENHO GEOMÉTRICO I
LISTA DE EXERCÍCIOS MAT 230 - GEOMETRIA E DESENHO GEOMÉTRICO I 1. Numa geometria de incidência, o plano tem 5 pontos. Quantas retas tem este plano? A resposta é única? 2. Exibir um plano de incidência
Geometria Analítica - Aula
Geometria Analítica - Aula 18 228 IM-UFF K. Frensel - J. Delgado Aula 19 Continuamos com o nosso estudo da equação Ax 2 + Cy 2 + Dx + Ey + F = 0 1. Hipérbole Definição 1 Uma hipérbole, H, de focos F 1
CMP189 Algoritmos Geométricos
CMP189 Algoritmos Geométricos Prof. João Comba Proximidade Diagrama de Voronoi (1907) Planejamento de movimento Encontrar o caminho mais curto sem colidir com paredes e objetos Sobreposição de Mapas Sobreposição
Material Teórico - Módulo: Vetores em R 2 e R 3. Módulo e Produto Escalar - Parte 1. Terceiro Ano - Médio
Material Teórico - Módulo: Vetores em R 2 e R 3 Módulo e Produto Escalar - Parte 1 Terceiro Ano - Médio Autor: Prof. Angelo Papa Neto Revisor: Prof. Antonio Caminha M. Neto 1 Módulo de um vetor O módulo
Professor: Anselmo Montenegro Conteúdo (aula 11): - Diagramas de Voronoi. Instituto de Computação - UFF
Geometria Computacional Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo (aula 11): - Diagramas de Voronoi 1 Roteiro Introdução Propriedades Algoritmos para geração do Diagrama de Voronoi
Teorema da Galeria de Arte e Triangularização de Polígonos e Pontos no Plano
e Triangularização de Polígonos e Pontos no Plano Rocha Corrêa Orientador: Carlos Eduardo Ferreira Departamento de Ciência da Computação Instituto de Matemática e Estatística Universidade de São Paulo
J. Delgado - K. Frensel - L. Crissaff Geometria Analítica e Cálculo Vetorial
178 Capítulo 10 Equação da reta e do plano no espaço 1. Equações paramétricas da reta no espaço Sejam A e B dois pontos distintos no espaço e seja r a reta que os contém. Então, P r existe t R tal que
Aula 10 Regiões e inequações no plano
MÓDULO 1 - AULA 10 Aula 10 Regiões e inequações no plano Objetivos Resolver inequações do segundo grau. Analisar sistemas envolvendo inequações do primeiro e segundo graus. Resolver inequações modulares
MAT2457 ÁLGEBRA LINEAR PARA ENGENHARIA I 2 a Lista de Exercícios - 1 o semestre de f 1 = 2 e 1 e 2 e 3,
MAT2457 ÁLGEBRA LINEAR PARA ENGENHARIA I 2 a Lista de Exercícios - 1 o semestre de 2015 1 Sendo E = { e 1 e 2 e 3 } F = { f 1 f 2 f 3 } bases com: f 1 = 2 e 1 e 3 f 2 = e 2 + 2 e 3 f 3 = 7 e 3 e w = e
Professor: Anselmo Montenegro Conteúdo (aula 10): - Triangulações de Delaunay. Instituto de Computação - UFF
Geometria Computacional Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo (aula 10): - Triangulações de Delaunay 1 Roteiro Introdução Triangulações de Delaunay Definição Teste do círculo Algoritmo
FICHA de AVALIAÇÃO de MATEMÁTICA A 10.º Ano Versão 2
FICHA de AVALIAÇÃO de MATEMÁTICA A 0.º Ano Versão Nome: N.º Turma: Apresente o seu raciocínio de forma clara, indicando todos os cálculos que tiver de efetuar e todas as justificações necessárias. Quando,
Teoria dos Grafos Aula 8
Teoria dos Grafos Aula 8 Aula passada Grafos com pesos, caminhos e distâncias Ideia e algoritmo de Dijkstra Dijkstra o próprio Aula de hoje Corretude de Dijkstra Fila de prioridades e Heap Dijkstra eficiente
Combinatória geométrica
Yuri Lima yurilima@gmail.com Combinatória geométrica Problema 1. São desenhadas n 3 retas no plano tais que: (i) quaisquer duas retas são concorrentes; (ii) por todo ponto de interseção entre duas retas
Caminhos mínimos de única origem
Caminhos mínimos de única origem Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Introdução
Professor: Computação Gráfica I. Anselmo Montenegro Conteúdo: - Objetos gráficos planares. Instituto de Computação - UFF
Computação Gráfica I Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: - Objetos gráficos planares 1 Objetos gráficos: conceitos O conceito de objeto gráfico é fundamental para a Computação
Aula 2 A distância no espaço
MÓDULO 1 - AULA 2 Objetivos Aula 2 A distância no espaço Determinar a distância entre dois pontos do espaço. Estabelecer a equação da esfera em termos de distância. Estudar a posição relativa entre duas
FICHA de AVALIAÇÃO de MATEMÁTICA A 10.º Ano Versão 3
FICHA de AVALIAÇÃO de MATEMÁTICA A 0.º Ano Versão Nome: N.º Turma: Apresente o seu raciocínio de forma clara, indicando todos os cálculos que tiver de efetuar e todas as justificações necessárias. Quando,
Interseção de Semiplanos
Interseção de Semiplanos Claudio Esperança Paulo Roma 1 Interseção de Semiplanos Problema consiste em construir a região convexa dada pela interseção de um conjunto de n semiplanos H = { h 1, h 2..., h
ANTÔNIO LUIZ PEREIRA E SEVERINO TOSCANO MELO
CONTANDO ÁREAS (O TEOREMA DE PICK) Introdução Consideremos um polígono P no plano cartesiano. Se os vértices de P têm todos coordenadas inteiras, então a Fórmula de Pick para sua área é (1) A = i+ f 1,
Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Visualização de terrenos em GPU
Visualização de terrenos em GPU Leonardo Martins { lmartins@inf.puc-rio.br} Disciplina: Visualização de Modelos Massivos Professor: Alberto Raposo Sumário Introdução Objetivos Visão geral Hierarquia de
Geometria Computacional
Geometria Computacional André Tavares da Silva andre.silva@udesc.br baseado no material de João Comba Roteiro Fundamentação Interseções de Segmentos de Linha Envoltória Convexa Particionamento de Polígonos
Aula Distância entre duas retas paralelas no espaço. Definição 1. Exemplo 1
Aula 1 Sejam r 1 = P 1 + t v 1 t R} e r 2 = P 2 + t v 2 t R} duas retas no espaço. Se r 1 r 2, sabemos que r 1 e r 2 são concorrentes (isto é r 1 r 2 ) ou não se intersectam. Quando a segunda possibilidade
Algoritmo CGM para o Problema de. Baseado em artigos de Einar Saukas e Siang Song
Algoritmo CGM para o Problema de Seleção Baseado em artigos de Einar Saukas e Siang Song O Problema da Seleção Considere um conjunto de n elementos. Dado um inteiro k (1 k n) deseja-se selecionar o k-ésimo
Geometria Descritiva 28/08/2012. Elementos Primitivos da Geometria
Geometria Descritiva Prof. Luiz Antonio do Nascimento ladnascimento@gmail.com www.lnascimento.com.br A Geometria, como qualquer outra ciência, fundamenta-se em observações e experiências para estabelecer
Algoritmos e Estrutura de Dados II. Árvore. Prof a Karina Oliveira.
Algoritmos e Estrutura de Dados II Árvore Prof a Karina Oliveira kkco@dei.unicap.br Introdução Estruturas de dados lineares (pilha, fila) são estruturas que guardam coleções de elementos que são acessados
SCC-210 Algoritmos Avançados. Capítulo 9 Grafos. Adaptado por João Luís G. Rosa
SCC-21 Algoritmos Avançados Capítulo Grafos Adaptado por João Luís G. Rosa Representação (Skiena & Revilla, 2) Vértices rotulados: u Chaves (índices) são associadas aos vértices Arestas sem elementos.
Plano cartesiano, Retas e. Alex Oliveira. Circunferência
Plano cartesiano, Retas e Alex Oliveira Circunferência Sistema cartesiano ortogonal O sistema cartesiano ortogonal é formado por dois eixos ortogonais(eixo x e eixo y). A intersecção dos eixos x e y é
Objetivos. em termos de produtos internos de vetores.
Aula 5 Produto interno - Aplicações MÓDULO 1 - AULA 5 Objetivos Calcular áreas de paralelogramos e triângulos. Calcular a distância de um ponto a uma reta e entre duas retas. Determinar as bissetrizes
Matemática. Nesta aula iremos aprender as. 1 Ponto, reta e plano. 2 Posições relativas de duas retas
Matemática Aula 5 Geometria Plana Alexandre Alborghetti Londero Nesta aula iremos aprender as noções básicas de Geometria Plana. 1 Ponto, reta e plano Estes elementos primitivos da geometria euclidiana
UFRJ - Instituto de Matemática
UFRJ - Instituto de Matemática Programa de Pós-Graduação em Ensino de Matemática www.pg.im.ufrj.br/pemat Mestrado em Ensino de Matemática Seleção 9 Etapa Questão. Determine se as afirmações abaio são verdadeiras
GEOMETRIA II EXERCÍCIOS RESOLVIDOS - ABRIL, 2018
GEOMETRIA II EXERCÍCIOS RESOLVIDOS - ABRIL, 08 ( Seja a R e f(x, y ax + ( ay. Designe por C a a cónica dada por f(x, y 0. (a Mostre que os quatro pontos (±, ± R pertencem a todas as cónicas C a (independentemente
GEOMETRIA MÉTRICA ESPACIAL
GEOMETRIA MÉTRICA ESPACIAL .. PARALELEPÍPEDOS RETÂNGULOS Um paralelepípedo retângulo é um prisma reto cujas bases são retângulos. AB CD A' B' C' D' a BC AD B' C' A' D' b COMPRIMENTO LARGURA AA' BB' CC'
MAT2457 ÁLGEBRA LINEAR PARA ENGENHARIA I Gabarito da 2 a Prova - 1 o semestre de 2015
MAT27 ÁLGEBRA LINEAR PARA ENGENHARIA I Gabarito da 2 a Prova - 1 o semestre de 201 Nesta prova considera-se fixada uma orientação do espaço e um sistema de coordenadas Σ (O, E) em E 3, em que E é uma base
DESENHO GEOMÉTRICO ETECVAV
DESENHO GEOMÉTRICO ETECVAV 1. DEFINIÇÕES Desenho Geométrico é a "expressão gráfica da forma, considerando-se as propriedades relativas à sua extensão, ou seja, suas dimensões" (REIS, p.08) Existem três
Álgebra Linear I - Aula 8. Roteiro
Álgebra Linear I - Aula 8 1. Distância de um ponto a uma reta. 2. Distância de um ponto a um plano. 3. Distância entre uma reta e um plano. 4. Distância entre dois planos. 5. Distância entre duas retas.
Processamento de Imagens CPS755
Processamento de Imagens CPS755 aula 01 - geometria projetiva e transformações 2D Antonio Oliveira Ricardo Marroquim 1 / 44 laboratório de processamento de imagens tópicos geometria projetiva transformações
Escola Secundária com 3º ciclo D. Dinis 10º Ano de Matemática A Funções e Gráficos Generalidades. Funções polinomiais. Função módulo.
Escola Secundária com 3º ciclo D. Dinis 10º Ano de Matemática A Funções e Gráficos Generalidades. Funções polinomiais. Função módulo. Trabalho de casa nº 10 1. Na figura está representado, num referencial
1 Geometria Analítica Plana
UNIVERSIDADE ESTADUAL DO PARANÁ CAMPUS DE CAMPO MOURÃO Curso: Matemática, 1º ano Disciplina: Geometria Analítica e Álgebra Linear Professora: Gislaine Aparecida Periçaro 1 Geometria Analítica Plana A Geometria
Aula 08. Estruturas de dados Árvore e Grafo
Logo Aula 08 Estruturas de dados Árvore e Grafo 2 Árvore Estruturas estudadas até agora não são \ adequadas para representar dados que devem ser dispostos de maneira hierárquica Ex., hierarquia de pastas
O Plano no Espaço. Sumário
17 Sumário 17.1 Introdução....................... 2 17.2 Equações paramétricas do plano no espaço..... 2 17.3 Equação cartesiana do plano............. 15 17.4 Exercícios........................ 21 1 Unidade
Aula 24 mtm B GEOMETRIA ESPACIAL
Aula 24 mtm B GEOMETRIA ESPACIAL Entes Geométricos Ponto A T Reta r s Plano Espaço y α z x Entes Geométricos Postulados ou Axiomas Teorema a 2 = b 2 + c 2 S i =180 Determinação de uma reta Posições relativas
Distância entre duas retas. Regiões no plano
Capítulo 4 Distância entre duas retas. Regiões no plano Nesta aula, veremos primeiro como podemos determinar a distância entre duas retas paralelas no plano. Para isso, lembramos que, na aula anterior,
Grafos. Notas. Notas. Notas. Notas. Caminhos mais curtos de única origem. Subestrutura ótima. Propriedades de caminhos mais curtos
Grafos Caminhos mais curtos de única origem Conteúdo Subestrutura ótima Inicialização Propriedades de caminhos mais curtos Algoritmos Algoritmo de Bellman-Ford Caminhos mais curtos de única origem em gaos
Introdução à Computação Gráfica Ray Tracing. Claudio Esperança Paulo Roma Cavalcanti
Introdução à Computação Gráfica Ray Tracing Claudio Esperança Paulo Roma Cavalcanti Características Principais Tipicamente implementado em Software Combina um modelo de iluminação com determinação de visibilidade
Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 11: Grafos Eulerianos. Departamento de Matemática Aplicada
Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 11: Grafos Eulerianos Preparado a partir do texto: Rangel, Socorro. Teoria do
Olimpíadas envolvendo números complexos
Catarina Isabel Rosa Silva Trabalho realizado no âmbito do Projeto Educacional II, Disciplina do Mestrado em Ensino da Matemática no 3º Ciclo do Ensino Básico e no Secundário Orientadora: Raquel Caseiro
Introdução ao Processamento e Síntese de imagens -Linhas e superfícies escondidas
Introdução ao Processamento e Síntese de imagens -Linhas e superfícies escondidas Júlio Kiyoshi Hasegawa 26 Fontes: Rogers, D. F. Procedural Elements for Computer Graphics Introdução Linhas e superfícies
Lista 1. 8 de abril de Algorithms: Capítulo 0, exercícios 1 e 2. Tardos: Todos exercícios do cap 2 do livro texto, exceto 7 e 8 letra b.
Lista 1 8 de abril de 2013 1 Exercícios Básicos 1.1 Na bibliografia Algorithms: Capítulo 0, exercícios 1 e 2. Tardos: Todos exercícios do cap 2 do livro texto, exceto 7 e 8 letra b. 1.2 Outros 1. Projete
Tema III Geometria analítica
Tema III Geometria analítica Unidade 1 Geometria analítica no plano Páginas 154 a 181 1. a) A(1, ) B( 3, 1) d(a, B) = ( 3 1) + (1 ( )) = ( 4) + 3 = 16 + 9 = 5 = 5 b) C ( 3, 3) O(0, 0) d(c, O) = (0 3 )
GEOMETRIA ANALÍTICA 2017
GEOMETRIA ANALÍTICA 2017 Tópicos a serem estudados 1) O ponto (Noções iniciais - Reta orientada ou eixo Razão de segmentos Noções Simetria Plano Cartesiano Abcissas e Ordenadas Ponto Médio Baricentro -
Particionamento de Polígonos João Comba. Problema da Galeria de Arte. The Walters Art Museum, Baltimore, EUA
Particionamento de Polígonos João Comba Problema da Galeria de Arte The Walters Art Museum, Baltimore, EUA Problema da Galeria de Arte Polígonos Simples Polígono Simples: Região do plano limitado por uma
A B C A 1 B 1 C 1 A 2 B 2 C 2 é zero (exceto o caso em que as tres retas são paralelas).
MAT 105- Lista de Exercícios 1. Prolongue o segmento com extremos em (1, -5) e (3, 1) de um comprimento de (10) unidades. Determine as coordenadas dos novos extremos. 2. Determine o centro e o raio da
Bubble Sort. Tempo total O(n 2 )
Bubble Sort Considere uma seqüência de n elementos que se deseja ordenar. O método da bolha resolve esse problema através de várias passagens sobre a seqüência Não é um algoritmo eficiente, é estudado
Material Teórico - Módulo: Vetores em R 2 e R 3. Módulo e Produto Escalar - Parte 2. Terceiro Ano - Médio
Material Teórico - Módulo: Vetores em R 2 e R 3 Módulo e Produto Escalar - Parte 2 Terceiro Ano - Médio Autor: Prof. Angelo Papa Neto Revisor: Prof. Antonio Caminha M. Neto Nesta segunda parte, veremos
CIC 111 Análise e Projeto de Algoritmos II
CIC 111 Análise e Projeto de Algoritmos II Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 18 Tree queries Finding ancestors Subtrees and paths Lowest common ancestor Offline
A equação da circunferência
A UA UL LA A equação da circunferência Introdução Nas duas últimas aulas você estudou a equação da reta. Nesta aula, veremos que uma circunferência desenhada no plano cartesiano também pode ser representada