BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1

Documentos relacionados
Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação. Grades (Grids)

Matemática Básica II - Trigonometria Nota 01 - Sistema de Coordenadas no Plano

BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1

Capítulo 1-Sistemas de Coordenadas

P1 CORREÇÃO DA PROVA. GA116 Sistemas de Referência e Tempo

Introdução a Engenharia e Ciência dos Materiais

Sistema de Coordenadas Geográficas (Rede Geográfica) LOCALIZAÇÃO. Professor R O C H A

TOPOGRAFIA E ELEMENTOS DA GEODÉSIA AULA 1

Grupo 1 - PIC OBMEP 2011 Módulo 2 - Geometria. Resumo do Encontro 6, 22 de setembro de Questões de geometria das provas da OBMEP

COORDENADAS GEOGRÁFICAS. PROFESSOR: Benjamim Pereira Vilela

Geometria Espacial Profº Driko

A GEOMETRIA DO GLOBO TERRESTRE

TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher

Astronomia de Posição: Aula 06

Capítulo 1-Sistemas de Coordenadas, Intervalos e Inequações

Material Teórico - Módulo Elementos Básicos de Geometria Plana - Parte 1. Ângulos - Parte 2. Oitavo Ano

Material Teórico - Módulo Elementos Básicos de Geometria Plana - Parte 1. Ângulos - Parte 2. Oitavo Ano

estrutura atômica cristalino

Aula 2 A distância no espaço

54 CAPÍTULO 2. GEOMETRIA ANALÍTICA ( ) =

UNIVERSIDADE FEDERAL DE VIÇOSA DEPARTAMENTO DE MATEMÁTICA LISTA DE EXERCÍCIOS DE MAT243-CÁLCULO III

54 CAPÍTULO 2. GEOMETRIA ANALÍTICA ( ) =

Avaliação Diagnóstica Matriz de Referência

Fundamentos de Cartografia A Rede Geográfica

Apostila de Matemática II 3º bimestre/2016. Professora : Cristiane Fernandes

GEOPROCESSAMENTO APLICADO À AGRONOMIA AULA 2

COORDENADAS GEOGRÁFICAS E COORDENADAS GEODÉSICAS. Professor: Leonard Niero da Silveira

2 CILINDRO E ESFERA 1 CUBO E ESFERA. 2.1 Cilindro inscrito. 1.1 Cubo inscrito. 2.2 Cilindro circunscrito. 1.2 Cubo circunscrito

GEOGRAFIA PROVA SIMULADA- GLOBAL I. Podemos representar o planeta terra de duas formas. Na esférica, chamamos de e na forma plana é chamada de.

Lista de Exercícios 1 Forças e Campos Elétricos

Material Teórico - Módulo: Vetores em R 2 e R 3. Módulo e Produto Escalar - Parte 2. Terceiro Ano - Médio

AULA 03 MEDIDAS ANGULARES. Laboratório de Topografia e Cartografia - CTUFES


Posicionamento na Terra suposta esférica

CIC 111 Análise e Projeto de Algoritmos II

UNIVERSIDADE FEDERAL DE VIÇOSA CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS DEPARTAMENTO DE MATEMÁTICA

Curso de Geomática Aula 2. Prof. Dr. Irineu da Silva EESC-USP

Plano Curricular de Matemática 4.º Ano - Ano Letivo 2016/2017

1. Encontre a equação das circunferências abaixo:

INTRODUÇÃO À CARTOGRAFIA. Prof. Rogério da Mata

Colégio Santa Dorotéia

Aula 7 - Representação e Descrição de Estruturas Bi-dimensionais. Prof. Adilson Gonzaga

FIGURAS PLANAS E O CÁLCULO DE ÁREAS

Trigonometria no triângulo retângulo

Sistemas de coordenadas

ESTRUTURA DOS SÓLIDOS CRISTALINOS CAP. 03 Parte II

2. CÁLCULO E TRAÇADO DO RETICULADO DA CARTA DE MERCATOR

Aula 19 Elipse - continuação

COLÉGIO MONJOLO QUIZ N / 1 BIMESTRE SILVANA GEOGRAFIA

Cones, cilindros, esferas e festividades, qual a ligação?

AGRUPAMENTO DE ESCOLAS DE PAREDE

2013 Copyright. Curso Agora eu Passo - Todos os direitos reservados ao autor.

UECEVEST - ESPECÍFICA Professor: Rikardo Rodrigues

Domínio: Números e operações

MATEMÁTICA A - 12o Ano N o s Complexos - Conjuntos e condições Propostas de resolução

Material de apoio para o aluno

Matriz de referência de MATEMÁTICA - SAERJINHO 5 ANO ENSINO FUNDAMENTAL

à situação. à situação.

Coordenadas Geográficas e Projeção UTM. Cartografia Prof. Dr. Raoni W. D. Bosquilia

MATEMÁTICA APLICADA À AGRIMENSURA PROF. JORGE WILSON

MATEMÁTICA A - 12o Ano N o s Complexos - Conjuntos e condições Propostas de resolução

Escola Naval 2010 ( ) ( ) 8 ( ) 4 ( ) 4 (

Novo Espaço Matemática A 11.º ano Proposta de Teste Intermédio [janeiro 2015]

UNIVERSIDADE FEDERAL DO ABC BC-1105: MATERIAIS E SUAS PROPRIEDADES

Professores: Jaime, Clodoaldo

EXERCICIOS - ÁREAS E ÂNGULOS:

CARTOGRAFIA GEOGRÁFICA Prof ª Gustavo Silva de Souza

MATRIZ DE REFERÊNCIA - SPAECE MATEMÁTICA 5 o ANO DO ENSINO FUNDAMENTAL TEMAS E SEUS DESCRITORES

Universidade Federal do Pará Curso de Licenciatura em Matemática PARFOR Lista de Exercícios Referentes a Prova Substitutiva de Geometria Analítica

MATEMÁTICA - 6.º Ano 1 - NÚMEROS NATURAIS. 2 - POTÊNCIAS DE EXPOENTE NATURAL. Salesianos de Mogofores /2018

UFGD FCA PROF. OMAR DANIEL BLOCO 1.1 NOÇÕES DE CARTOGRAFIA

A TERRA ESFÉRICA. Parte I Conceitos Gerais. GA116 Sistemas de Referência e Tempo

Coordenadas Cartesianas

Em vários problemas, é preciso particionar os vértices de um grafo em conjunto de vértices independentes.

REVISÃO DOS CONTEÚDOS

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.

Conceitos de vetores. Decomposição de vetores

Projeção ortográfica de sólidos geométricos

Posicionamento na Terra suposta esférica

Geometria Analítica. Geometria Analítica 28/08/2012

Exercícios Obrigatórios

TEMA I: Interagindo com os números e funções

OS PRISMAS. 1) Definição e Elementos :

Escola Secundária com 3º ciclo D. Dinis 10º Ano de Matemática A. 5º Teste de avaliação versão2. Grupo I

Posicionamento na Terra suposta esférica

Coordenadas e distância na reta e no plano

Questão 1 Determine a medida da mediana relativa ao lado AC do triângulo de vértices A( 2,4), B(1,1) e C(6,3).

FIS-26 Prova 01 Março/2011

Número total de aulas (mínimo): 192 Número total de aulas (máximo): 206

Matemática I Cálculo I Unidade B - Cônicas. Profª Msc. Débora Bastos. IFRS Campus Rio Grande FURG UNIVERSIDADE FEDERAL DO RIO GRANDE

Aula 2 Vetores de força

7 1 3 e) 1,3. 4) O termo geral de uma progressão aritmética é dado por a 2n 1. A razão dessa PA é PROGRESSÕES ARITMÉTICAS

Navegação Aérea. Rafael Scantamburlo

RELAÇÕES TRIGONOMÈTRICAS

PROGRAMAÇÃO DA 3ª ETAPA 5º ANO MONIQUE MATEMÁTICA CONTEÚDOS:

Geografia Professor Alessandro 1. (FEI) 2. (UFAM)

Escola Secundária com 3º ciclo D. Dinis 10º Ano de Matemática A TEMA 1 GEOMETRIA NO PLANO E NO ESPAÇO I. TPC nº 7 entregar no dia

DOMÍNIO/SUBDOMÍNIO OBJETIVOS GERAIS DESCRITORES DE DESEMPENHO CONTEÚDOS

Capítulo 29. Objetivos do Aprendizado

Transcrição:

BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1

Na aula anterior Práticas. 2

Na aula de hoje Grades (Grids). 3

Grades (ou grids) são subjacentes a uma grande diversidade de estruturas naturais Tabuleiros de xadrez, o disposição de blocos O sistema de longitude e latitude define uma grade sobre o planeta Desta vez, sobre uma esfera ao invés de um plano. Representam uma maneira natural de dividir um espaço em regiões, tal que localizações podem ser identificadas. 4

5

Em situações limite, as células de uma grade representam pontos Porém, vamos nos concentrar nos casos em que as células são grandes o suficiente para terem um formato específico. Em grades regulares, todas as células possuem formato idêntico, ocorrendo em um padrão regular Divisões retangulares ou retilíneas são as mais comuns, porém, existem também as grades hexagonais. 6

Quem já utilizou folhas quadriculadas pode se dizer familiar às grades retilíneas As células são definidas por linhas verticais e horizontais regularmente espaçadas. 7

Grades tridimensionais são formadas por camadas de grades planares espaçadas uniformemente e conectadas entre si Com linhas perpendiculares entre as camadas. 8

São os componentes de uma grade planar: Vértices Endereçamento de peças em um tabuleiro. Arestas Rotas. Células (e seus interiores) Aplicações geométricas, em que o conteúdo de uma célula descreve uma região no espaço. 9

Vértice Aresta Célula 10

Os vértices de uma grade planar são tocados por 4 arestas e atingem o conteúdo de 4 células Exceto os vértices das bordas. Em grades 3D, os vértices são tocados por 6 arestas e atingem 8 células; Em d dimensões, cada vértice é tocado por 2d arestas e atingem 2 d células. 11

As células de uma grade 3D: Tocam 26 outras células; Compartilham uma face com 6 células; Compartilham arestas com 12 células; Compartilham um vértice com outras 7 células. 12

Frequentemente é necessário percorrer todas as células de uma grade retilínea n m Qualquer percurso pode ser entendido como um mapeamento de cada um dos nm pares ordenados para um único inteiro de 1 a nm; Em certas aplicações, a ordem do percurso importa, como em estrátegias de avaliação de programação dinâmica. 13

Os métodos de percurso mais importantes são: Orientado por linha (row major); Orientado por coluna (column major); Snake Order; Ordem Diagonal (Diagonal Order). Em se tratando de matrizes, quando estamos interessados em otimizar o uso de cache ou utilizaremos certas operações de aritmética de ponteiros é interessante saber qual percurso o compilador usa. 14

No percurso orientado por linha, a grade é fatiada entre as linhas, na horizontal Os primeiros m elementos visitados são os da primeira linha; Os próximos m elementos são os da segunda linha, e assim por diante; É a ordem utilizada por linguagens de programação mais modernas para representar matrizes bidimensionais como um único vetor (unidimensional). 15

16

17

No percurso orientado por coluna, a grade é fatiada entre as colunas, na vertical Os primeiros n elementos visitados são os da primeira coluna; Os próximos n elementos são os da segunda coluna, e assim por diante; Na verdade, é obtida simplesmente pela troca dos laços do percurso orientado por linha; 18

19

20

Na Snake Order, ao invés de começar cada linha a partir do primeiro elemento, as direções são alternadas entre uma linha e outra; O efeito obtido é o mesmo das impressoras que imprimem da esquerda para direita e da direita para esquerda, economizando tempo e energia. 21

22

23

Na Ordem Diagonal, como o próprio nome diz, percorremos cada uma das diagonais Uma matriz n m possui m+n-1 diagonais, cada uma com um número variável de elementos; Efetuar este percurso é mais fácil do que parece. 24

25

26

A escolha natural para representar grades retilineares é uma matriz bidimensional m[i][j] pode representar o vértice (i,j) ou a face (i,j), o que estivermos interessado. Os quatro vizinhos adjacentes são determinados ao adicionar ±1 aos índices de linha ou coluna. 27

Um conceito muito útil quando pensamos em problemas que envolvem subdivisões do plano é o de grafos duais Possuem um vértice para cada região na subdivisão; Arestas ligam vértices de duas regiões vizinhas. Um exemplo de aplicação é o de coloração de mapas, e correspondentemente, o teorema das 4 cores; Um fato muito interessante é que um grafo dual de uma subdivisão planar também deve ser planar. 28

29

Grades podem possuir arestas ponderadas Ou seja, com pesos Neste caso, podemos utilizar uma matriz tridimensional m[i][j][d], em que d armazena os pesos; Por exemplo, os pesos podem ser a direção (norte, leste, sul, oeste) da aresta em relação ao ponto i, j. 30

Além das grades retilíneas, outras grades de interesse são as grades triangulares e hexagonais Ambas intimamente relacionadas; Na verdade, uma pode ser considerada um caso especial da outra. 31

Grades triangulares são construídas a partir de conjuntos de três linhas igualmente espaçadas Uma linha eixo horizontal; Uma coluna eixo a 60 da horizontal; Um eixo diagonal a 120 da horizontal. Os vértices da grade triangular são formados pela interseção destas linhas, de modo que cada face é um triângulo equilátero Cada vértice é ligado a até outros 6. 32

Diagonal Coluna Linha 33

Para manipularmos grades triangulares, precisamos identificar os vizinhos de cada um dos vértices Bem como suas coordenadas. Para isto, podemos precisar manter informações de dois tipos de sistemas de coordenadas: Coordenadas triangulares/hexagonais; Coordenadas geométricas. 34

Em coordenadas triangulares/hexagonais, um vértice é designado com origem da grade, ponto (0, 0); Apesar de a interseção de três linhas definirem um vértice, duas dimensões são suficientes para determinar uma localização Usamos as dimensões de linha e coluna neste sistema de coordenadas. 35

Um vértice (x, y) está x linhas acima da origem e y colunas (de 60 ) à direita da origem; Os vizinhos de um determinado vértice v podem ser acessados pela adição dos seguintes pares de coordenadas em sentido antihorário (0,1), (1, 0), (1, -1), (0, -1), (-1, 0) e (-1, 1). 36

37

Em coordenadas geométricas, os vértices de uma grade triangular são interpretados como pontos geométricos no plano; Note que os vértices se localizam em linhas de meio espaçamento A coluna é a 60 e não a 90 como em grades retilíneas. 38

Considere que: Cada ponto da grade está a uma distância d de seus 6 vizinhos; O ponto (0, 0) em coordenadas triangulares está de fato no ponto geométrico (0, 0); O ponto (x t, y t ) em coordenada triangular está no ponto geométrico (x g, y g )=(d(y t +(x t cos(60 ))), dx t sen(60 )) Uma vez que cos(60 )=1/2 e sen(60 )=, podemos usar os resultados diretamente. 39

Os códigos para manipulação de grades triangulares e hexagonais são similares, como veremos a seguir. 40

Deletar os vértices centrais apropriados transforma uma grade triangular em uma grade hexagonal Agora, as faces são hexágonos regulares; Cada face é adjacente a 6 outras; Os vértices possuem grau 3 ou 2. 41

42

Grades hexagonais possuem propriedades interessantes e úteis, principalmente por serem mais arredondados do que os quadrados; Os círculos são considerados eficientes porque englobam a maior quantidade de área por unidade de perímetro. Além disso, estruturas haxagonais são mais rígidas que estruturas retilíneas. 43

A coordenada hexagonal do ponto (x h, y h ) se refere ao centro do disco na linha horizontal x h e na coluna (60 ) y h ; A coordenada geométrica de tal ponto é uma função do raio r do disco, metade do diâmetro d, descrito anteriormente Distância entre dois vértices de uma grade triangular. 44

45

A natureza linha-coluna do sistema de coordenadas hexagonal possui uma propriedade muito útil Podemos armazenar eficientemente um arranjo de hexágonos em uma matriz m[linhas][colunas]; Utilizando os offsets descritos para grades triangulares podemos encontrar os 6 vizinhos de cada hexágono. 46

Entretanto há um problema No sistema de coordenadas hexagonal, os hexágonos definidos pelas coordenadas (h x, h y ) formam um arranjo em formato de diamante, e não em formato de retângulo convencional; Para resolver isto, são definidas coordenadas matriciais tal que (a x, a y ) se refere à posição em um retângulo com ponto inferior esquerdo (0, 0) em uma matriz. 47

h a 48

49

Exemplo de Projeto Temos tempo? 50

Exemplo de Projeto Um fabricante de pratos deseja entrar para o mercado de R.U. s Todos os pratos têm tamanho padronizado; Muitas vendas de reposição, por pratos quebrados pelos alunos. Esta companhia possui uma tecnologia de empacotamento única Eles sabem que reticulados hexagonais permitem maior densidade. 51

Exemplo de Projeto Informações: Caixas com largura w e altura l; Pratos de raio r; A camada mais profunda contém exatamente p=piso(w/(2r)) pratos; As outras camadas possuem alternadamente p ou p-1 pratos Dependendo da relação entre w e r. Cada prato é identificado unicamente por um número; Tantas camadas quanto possível são colocadas na caixa, de acordo com o limite do comprimento. 52

Exemplo de Projeto Suponhamos uma caixa com w=24, l=20, e pratos com r=2 p=piso(24/4)=6. 53

Exemplo de Projeto Você deve responder quantos pratos de determinado raio cabem em uma caixa de determinadas dimensões; Ainda, você deve responder quantos pratos estão acima de um determinado outro prato, para evitar quebras Identifique qual é a maior quantidade de pratos sobre um outro. 54

Exemplo de Projeto Primeiro, precisamos determinar quantas camadas de pratos cabem em na caixa (ou seja, na vertical) Cujo leiaute é uma grade hexagonal. A primeira camada está no fundo da caixa, então os centros dos pratos estão a uma distância r do fundo; A distância vertical entre sucessivas camadas de pratos é r ou (2rsen(60 )). 55

Exemplo de Projeto 56

Exemplo de Projeto O número de pratos que cabem na caixa é uma função de ambos o número de camadas de pratos e a quantidade de pratos por camadas; Considere que: Começamos o empacotamento pelo fundo da caixa, e sempre da esquerda para a direita; Os pratos em camadas ímpares possuem um recuo (offset) de tamanho r; Eventualmente, será necessário remover o último prato da camada, a não ser que haja espaço ( r). 57

Exemplo de Projeto 58

59

Exemplo de Projeto Para determinarmos a quantidade de pratos sobre um outro, podemos antes simplificar a questão utilizando apropriadamente os sistemas de coordenadas; Em uma grade ilimitada, temos i+1 pratos a cada camada r+i sobre um prato na camada r; Porém, é necessário representar os limites da caixa Para facilitar a tarefa, convertemos as coordenadas para o sistema matricial. 60

Exemplo de Projeto 61

Exemplo de Projeto +1 62

Exemplo de Projeto +2 63

Exemplo de Projeto +2 64

Exemplo de Projeto +3 65

Exemplo de Projeto 23 24 25 18 19 12 13 7 66

Exemplo de Projeto 67

Existe uma conexão entre grades hexagonais e o empacotamento de círculos Os seis vizinhos do vértice v na grade são equidistantes de v; Então podemos desenhar um círculo centrado em v Tal disco toca os outros 6 discos vizinhos. 68

Um problema de empacotamento de pratos nos pede que avaliemos dois esquemas de empacotamento de pratos de tamanhos idênticos Um com os pratos tendo seus centros em uma grade retilínea; Outro com os pratos tendo seus centros em uma grade hexagonal. Qual esquema leva a um empacotamento mais denso? 69

70

71

Para caixas grandes o suficiente, o empacotamento hexagonal certamente nos permite a inserção de mais pratos que o empacotamento retangular; De fato, o empacotamento hexagonal é assintoticamente mais denso Assim como sua analogia tridimensional é a forma mais densa de empacotamento de esferas. 72

Uma caixa 4x4 comporta: 16 pratos em um layout retangular; 14 pratos em um layout hexagonal. Uma caixa 10x10 comporta: 100 pratos em um layout retangular; 105 pratos em um layout hexagonal. Uma caixa 100x100 comporta: 10000 pratos em um layout retangular; 11443 pratos em um layout hexagonal. 73

74

Uma coordenada de grade particularmente importante é o sistema de longitude e latitude que posiciona unicamente cada local na superfície da Terra; As linhas que percorrem de Leste a Oeste, paralelas ao equador são chamadas linhas de latitude ou paralelos O equador possui latitude 0 ; Os pólos possuem latitude 90 (Norte e Sul). 75

As linhas que percorrem do Norte ao Sul são chamadas linhas de longitude ou meridianos O primeiro meridiano é o de Greenwich, com 0 de longitude Possui longitudes com alcance de 180 a Leste e Oeste; Divide o globo em oriente e ocidente. Cada localização na superfície da Terra pode ser descrita pela interseção das linhas de latitude e longitude. 76

77

Um problema comum é determinar a menor distância em vôo entre dois pontos do globo Um Grande Círculo, ou Círculo Máximo é o círculo traçado sobre a superfície de uma esfera, dividindo-a em dois hemisférios iguais; A menor distância entre dois pontos p e q é o comprimento do arco entre p e q sobre o único grande círculo que passa por p e q. 78

Para o cálculo, denotamos os pontos p e q por suas coordenadas de longitude e latitude (p long, p lat, q long, q lat ), com todos os ângulos medidos em radianos 79

Sumário dos Arquivos order.c: implementa os percursos em grades retilineares; plates.c: implementa os sistemas de coordenadas hexagonal, geométrico e matricial, bem como as conversões entre sistemas. 80

Perguntas? 81

Na próxima aula Práticas. 82

FIM 83