traçado em dispositivos gráficos matriciais circunferência
Post on 12-Apr-2017
406 Views
Preview:
TRANSCRIPT
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto1
TRAÇADO EM DISPOSITIVOS
GRÁFICOS MATRICIAISCIRCUNFÊRENCIA
Prof.ª Elaine Cecília Gatto
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto2
Circunferência e Círculo• É o conjunto de todos os pontos de
um plano equidistantes de um ponto fixo, desse mesmo plano, denominado centro da circunferência.
• O ponto fixo é o centro e a equidistância o raio da circunferência.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto3
Circunferência e Círculo• Círculo ou disco– É o conjunto de todos os pontos de
um plano cuja distância a um ponto fixo é menor ou igual que uma distância r dada.
–Quando a distância é nula, o círculo se reduz a um ponto.
–O círculo é a reunião da circunferência com o conjunto de pontos localizados dentro da mesma.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto4
Circunferencia: Características
• É a única figura plana que pode ser “rodada” em torno de um ponto sem modificar sua posição aparente.
• É a única figura que é simétrica em relação a um número infinito de eixos de simetria.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto5
Circunferencia: Definições
• Raio–O raio de uma circunferência é um
segmento de reta com uma extremidade no centro da circunferência e a outra extremidade num ponto qualquer da circunferência.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto6
Circunferencia: Definições
• Arco–O arco é uma parte da circunferência
limitada por dois pontos, que se chamam extremidades do arco.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto7
Circunferencia: Definições
• Corda–A Corda é um segmento de infinitos
pontos alinhados, cujos pontos extremos estão em um ponto da circunferência. Quando esse segmento passa pelo centro da circunferência, temos o que chamamos de diâmetro.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto8
Circunferencia: Definições
• Diâmetro–O diâmetro é sempre a corda maior.
Como é a corda que passa pelo centro, sua medida é igual a duas vezes a medida do raio.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto9
Circunferencia: Definições
• Tangente–A tangente é a reta que tem um único
ponto comum à circunferência, este ponto é conhecido como ponto de tangência ou ponto de contato.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto10
Circunferencia: Definições
• Secante–A Secante é a reta que intercepta a
circunferência em dois pontos distintos, se essa reta intercepta a circunferência em dois pontos quaisquer, podemos dizer também que é a reta que contem uma corda.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto11
Circunferencia: Definições
• Setor Circular–O Setor Circular é a porção do círculo
limitada por um arco e pelos raios que passam pelos seus pontos extremos.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto12
Circunferencia: Definições
• Coroa Circular –A Coroa Circular é a porção do circulo
compreendida entre duas circunferências concêntricas.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto13
Circunferencia: Definições
• Segmento Circular de uma Base –O Segmento Circular de uma base é a
porção do círculo limitada por um arco e pela corda correspondente.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto14
Circunferencia: Definições
• Segmento Circular de duas Bases–O Segmento Circular de duas bases é
a porção do círculo limitada por duas cordas paralelas e pelos arcos compreendidos entre elas.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto15
Circunferencia: Definições
• Setor de Coroa Circular–O Setor de Coroa Circular é a porção
de uma coroa circular limitada por dois raios.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto16
Circunferencia: Unidades de Medida
• Graus e Radianos– Grau (°) e
radiano (rad) são diferentes unidades de medida de ângulo que podem ser relacionadas por meio da circunferencia.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto17
Circunferencia: Unidades de Medida
• Graus e Radianos– Arcos de 1° é
aquele cujo comprimento é igual a 1/360 do comprimento da circunferência.
– O arco de uma volta corresponde, portanto, a C=360°.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto18
Circunferencia: Unidades de Medida
• Graus e Radianos–Arco de um
radiano (1 rad), é aquele cujo comprimento é igual ao raio da circunferência em que esta contido.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto19
Circunferencia: Unidades de Medida
• Graus e Radianos
EQUAÇÃO 1: Medida do Ângulo em Radianos
EQUAÇÃO 2: Comprimento (C) do Perímetro (P) de um círculo de Raio (r)
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto20
Circunferencia: Unidades de Medida
• Graus e Radianos
EQUAÇÃO 4: Ângulo de um círculo em radianos
EQUAÇÃO 3: Reescrita da Equação 1 de acordo com a Equação 2
Prof.ª M.ª Elaine Cecília Gatto
21
Circunferencia: Unidades de Medida
• Graus e Radianos
03/05/2023
EQUAÇÃO 5: Equação para obter um ângulo α, em graus, a partir de um ângulo, em radianos
EQUAÇÃO 6: Equação para obter um ângulo, em radianos, a partir de um ângulo α, em graus
Prof.ª M.ª Elaine Cecília Gatto
22
Circunferencia: Quadrantes• DEFINIÇIÃO EM GEOMETRIA: –Quadrante é qualquer das quatro
partes iguais em que se pode dividir uma circunferência.
– Pode ainda corresponder à quarta parte de um círculo e equivalente a 90 graus.
03/05/2023
Prof.ª M.ª Elaine Cecília Gatto
23
Circunferencia: Quadrantes• DEFINIÇÃO EM GEOMETRIA ANALÍTICA:
– São as quatro partes resultantes da divisão de um plano, por um eixo ortogonal.
– Sistema cartesiano de coordenadas.
03/05/2023
Prof.ª M.ª Elaine Cecília Gatto
24
Circunferencia: Quadrantes• DEFINIÇÃO EM GEOMETRIA DESCRITIVA:
– São as quatro partes resultantes da divisão do espaço, por intermédio de dois planos ortogonais.
–Neste caso os quadrantes também são chamados de diedros.
03/05/2023
Prof.ª M.ª Elaine Cecília Gatto
25
Circunferencia: Quadrantes03/05/2023
Prof.ª M.ª Elaine Cecília Gatto
26
Circunferencia: Quadrantes03/05/2023
Prof.ª M.ª Elaine Cecília Gatto
27
Circunferencia: Quadrantes03/05/2023
Prof.ª M.ª Elaine Cecília Gatto
28
Circunferencia: Quadrantes03/05/2023
Prof.ª M.ª Elaine Cecília Gatto
29
Circunferencia: Quadrantes03/05/2023
Prof.ª M.ª Elaine Cecília Gatto
30
Circunferencia: Quadrantes03/05/2023
Prof.ª M.ª Elaine Cecília Gatto
31
Circunferencia: Quadrantes03/05/2023
Conversão Matricial de Circunferências
• A equação de uma circunferência com centro (c) na origem e raio (r), em coordenadas cartesianas, é dada por:
• Forma paramétrica
03/05/2023
Prof.ª M.ª Elaine Cecília Gatto
32
+ EQUAÇÃO 1: Equação da Circunferência
Conversão Matricial de Circunferências
• O círculo que não está centrado na origem deve ser transladado para a origem (0,0).
• Calcula-se então os pontos do primeiro quadrante e os demais são então escritos por simetria
03/05/2023
Prof.ª M.ª Elaine Cecília Gatto
33
Conversão Matricial de Circunferências
• Um cálculo neste formato para cada ponto é computacionalmente inviável, visto que haveria um alto número de cálculos de potência e raiz, que exigem considerável processamento
• Equação explícita da circunferência
03/05/2023
Prof.ª M.ª Elaine Cecília Gatto
34
EQUAÇÃO 1: Equação Explicita da Circunferência
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto35
Conversão Matricial de Circunferências
• Existem muitas abordagens simples, porém ineficientes, para o traçaado de círculos.
• Em algoritmos não incrementais, um polígono regular de n lados é usado como aproximação para a circunferência.
• Para que a aproximação seja razoável, deve-se escolher um valor suficientemente alto para n.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto36
Conversão Matricial de Circunferências
• Entretanto, quanto maior o valor de n, mais lento será o algoritmo, e várias estratégias de aceleração precisam ser usadas.
• Em geral os algoritmos incrementais de conversão matricial são mais rápidos.
• Outra abordagem seria usar a equação explícita da circunferência.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto37
Conversão Matricial de Circunferências
• Para desenhar ¼ de circunferência poderíamos variar x de 0 a R, em incrementos de uma unidade, calculando +y a cada passo através da equação explicita da circunferência.
• Essa estratégia funciona, mas é ineficiente porque requer operações de multiplicação e raiz quadrada.
• Os outros ¾ são desenhados por simetria
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto38
Conversão Matricial de Circunferências
Um arco de ¼ de circunferência, obtido variando-se x em incrementos unitários, e calculandoe arrendondando y.
Grandes gaps nas regiões onde a tangente à circunferência é infinita
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto39
Simetria de Ordem 8• O Algoritmo de Simetria de Ordem 8
considera que o traçado de uma circunferência pode tirar proveito de sua simetria
• Considere uma circunferência centrada na origem.
• Se o ponto ( x, y ) pertence à circunferência, pode-se calcular de maneira trivial sete outros pontos da circunferência
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto40
Simetria de Ordem 8
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto41
Simetria de Ordem 8• Para obter toda a circunferência, basta
computar um arco de circunferência de 45º.
• Para uma circunferência com centro na origem, os oito pontos simétricos podem ser traçados usando o procedimento Circle-Points.
• Este algoritmo não calcula os valores de entrada de x e y, mas uma vez calculados nos dá outros sete pontos do círculo.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto42
Simetria de Ordem 8void CirclePoints(int x, int y, int color){
write_pixel( x, y, color);write_pixel( x, -y, color);write_pixel(-x, y, color);write_pixel(-x, -y, color);write_pixel( y, x, color);write_pixel( y, -x, color);write_pixel(-y, x, color);write_pixel(-y, -x, color);
}/* end CirclePoints */
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto43
Algoritmo do Ponto-Médio• Considere apenas um arco de 45° da
circunferência:
x = 0y = R
x = y =
• Considere que se usa o procedimento CirclePoints para traçar todos os pontos da circunferência
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto44
Algoritmo do Ponto-Médio• Assim como o algoritmo gerador de
linhas, a estratégia é selecionar entre 2 pixels na malha, aquele que está mais próximo da circunferência, avaliando-se uma função no ponto intermediário entre os dois pixels.
• No 2.º octante, se o pixel P em (xp, yp) foi previamente escolhido como o mais próximo da circunferência, a escolha do próximo pixel será entre os pixels E e SE
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto45
Algoritmo do Ponto-Médio
Posições dos pontos médios necessários à rasterização de uma circunferência
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto46
Algoritmo do Ponto-Médio
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto47
Algoritmo do Ponto-Médio
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto48
Algoritmo do Ponto-Médio• REFORÇANDO:
• O ponto (x1, y1) é o inferior esquerdo, e (x2, y2) é o superior direito.
• Assumimos que o pixel que acabou de ser selecionado é P, em (xp, yp), e o próximo deve ser escolhido entre o pixel a direita (pixel E) e o pixel abaixo à direita (SE).
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto49
Algoritmo do Ponto-Médio• Seja M o ponto intermediário entre os pixels E e
SE. • O que se faz é observar de que lado está o
ponto M.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto50
Algoritmo do Ponto-Médio• Se M está abaixo da curva, E está mais próximo• Se M está acima da curva, SE está mais
próximo
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto51
Algoritmo do Ponto-Médio• Seja a função F(x, y) = x2+y2−R2, então
temos que:
– F(X,Y) = 0: igual a zero sobre a circunferência
– F(X,Y) > 0: positivo fora da circunferencia
– F(X,Y) < 0: negativo dentro da circunferencia
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto52
Algoritmo do Ponto-Médio• ESCOLHA DO SE:– Se o ponto intermediário entre os
pixels E e SE estiver fora da circunferência (porque está mais próximo dela)
• ESCOLHA DO E:– Se o ponto intermediário estiver
dentro da circunferência
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto53
Algoritmo do Ponto-Médio
• Assim como no caso das linhas, a escolha é feita com base na variável de decisão d, que dá o valor da função no ponto-médio
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto54
Algoritmo do Ponto-Médio• Se dold < 0, E é escolhido, o próximo
ponto-médio será incrementado de 1 na direção x
• Então: dnew = dold + (2xp + 3)
• Consequentemente: ∆E = 2xp + 3
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto55
Algoritmo do Ponto-Médio• Se dold >= 0, SE é escolhido, e o
próximo ponto-médio será incrementado de 1 na direção de x e decrementado de 1 na direção d y
• Como: dnew = dold + (2xp − 2yp + 5)
• Então: ∆SE = 2xp − 2yp + 5
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto56
Algoritmo do Ponto-Médio• Note que no caso da reta (equação
linear), ∆E e ∆NE eram constantes.
• No caso da circunferência (equação quadrática), E e SE variam a cada passo, sendo funções do valor específico de (xp, yp), o pixel escolhido na iteração anterior.
• P é chamado ponto de avaliação.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto57
Algoritmo do Ponto-Médio
• As funções podem ser avaliadas diretamente, a cada passo, dados os valores de x e y do pixel escolhido na iteração anterior.
• Essa avaliação não é computacionalmente cara, uma vez que as funções são lineares.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto58
Algoritmo do Ponto-Médio
• Calculando o valor inicial de d– Limitar a utilização do algoritmo a raios
inteiros no segundo octante. – O pixel inicial é dado por (0,R)– O próximo ponto-médio está em:
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto59
Algoritmo do Ponto-Médio• Calculando o valor inicial de d
• Portanto:
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto60
Algoritmo do Ponto-Médio
Segundo octante da circunferência gerado com o algoritimo do Ponto-Médio e primeirooctante gerado por simetria.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto61
Algoritmo do Ponto-Médio
Valores das variáveis do algoritmo de rasterização de circunferências ao rasterizar a circunferência da figura ao lado
Píxeis do primeiro quadrante de uma circunferência de raio 10 calculados pelo respectivo algoritmo de rasterização
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto62
Algoritmo do Ponto-Médiovoid MidPointCircle(int r, int color){
int x, int y;float d;/* Valores iniciais */x = 0;y = r;d = 5/4 - r;CirclePoints(x, y, color);while (y > x){
if (d < 0){/* Selecione E */d = d + 2 * x + 3;x++;
}else{/* Selecione SE */d = d + 2 * (x - y) + 5;x++;y--;
} /* end if */CirclePoints(x, y, color);
} /* end while */} /* end MidpointCircle */
Usando números reais
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto63
Algoritmo do Ponto-Médiovoid MidPointCircleInt(int r, int color){
int x, int y, d;/* Valores iniciais */x = 0;y = r;d = 1 - r;CirclePoints(x, y, color);while (y > x){
if (d < 0){/* Selecione E */d = d + 2 * x + 3;x++;
}else{/* Selecione SE */d = d + 2 * (x - y) + 5;x++;y--;
} /*end if*/CirclePoints(x, y, color);
} /* end while */} /* end MidpointCircleInt */
Usando números inteiros
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto64
Algoritmo do Ponto-Médio: Conclusões
• O teste do ponto médio permite a escolha do pixel mais próximo da curva.
• Além disso, o erro (a distância vertical entre o pixel escolhido e a linha) é sempre inferior a 0.5.
• A aritmética necessária para calcular o próximo ponto a cada passo é adição simples, nenhuma multiplicação é necessária.
• Após o cálculo dos pontos no primeiro quadrante, de 0º `a 45º, utiliza-se o algoritmo de simetria de ordem 8 para calcular os restantes, acelerando o processo.
03/05/2023Prof.ª M
.ª Elaine Cecília Gatto65
Algoritmo do Ponto-Médio: Resumo
Referências 1. Ammeral, L. Computação Gráfica para
programadores Java. Rio de Janeiro: LTC, 2008
2. Traina, A. J. M.; Oliveira, M. C. F. Apostila de Computação Gráfica. São Carlos: USP/ICMC, 2006. Disponível em: http://www.inf.ufes.br/~thomas/graphics/www/apostilas/GBdI2006.pdf. Acessado em 22 de Janeiro de 2016.
3. Paulovich, F. V. Conversão Matricial. São Paulo: USP/ICMC, 2011. Disponível em: http://wiki.icmc.usp.br/images/4/4a/SCC0250-slides-12-Conversao_matricial.pdf. Acessado em 22 de Janeiro de 2016
03/05/2023
Prof.ª M.ª Elaine Cecília Gatto
66
Referências 1. Cavalcanti, J. Computação Gráfica. UNIVAST, 2014.
Disponível em: http://www.univasf.edu.br/~jorge.cavalcanti/comput_graf04_prim_graficas2.pdf. Acessado em 20 de janeiro de 2016.
2. Bueno, M. Primitivas Gráficas. Disponível em: http://marciobueno.com/arquivos/ensino/cg/CG_03_Primitivas_Graficas.pdf. Acessado em 20 de janeiro de 2016.
3. Mousquer, J. C.; Kliemann, K. A.; Matrakas, M. D. ALGORITMOS PARA DESENHAR RETAS E CÍRCULOS. Paraná, Foz do Iguaçu: FAC. Disponível em: http://www.udc.edu.br/v5/resources/producoes/SeminarioCientifico2014/files/CC/01.pdf. Acessado em 20 de Janeiro de 2016.
03/05/2023
Prof.ª M.ª Elaine Cecília Gatto
67
Referências 1. http://
objetoseducacionais2.mec.gov.br/bitstream/handle/mec/10396/geo0500.htm
2. http://www.infoescola.com/geometria-plana/circunferencia/
3. http://pessoal.sercomtel.com.br/matematica/geometria/geom-circ/geom-circ.htm
4. https://pt.wikipedia.org/wiki/Circunfer%C3%AAncia
5. http://www.coladaweb.com/matematica/circunferencia
03/05/2023
Prof.ª M.ª Elaine Cecília Gatto
68
Referências 1. http://
objetoseducacionais2.mec.gov.br/bitstream/handle/mec/10396/geo0500.htm
2. http://www.infoescola.com/geometria-plana/circunferencia/
3. http://pessoal.sercomtel.com.br/matematica/geometria/geom-circ/geom-circ.htm
4. https://pt.wikipedia.org/wiki/Circunfer%C3%AAncia
03/05/2023
Prof.ª M.ª Elaine Cecília Gatto
69
Referências 1. https://pt.wikipedia.org/wiki/Quadrante_%28geometria%29
2. http://disciplinas.ist.utl.pt/leic-cg/textos/livro/Rasterizacao.pdf
3. http://www.coladaweb.com/matematica/circunferencia
4. http://educador.brasilescola.uol.com.br/estrategias-ensino/relacao-entre-graus-radianos.htm
5. http://educador.brasilescola.uol.com.br/estrategias-ensino/relacao-entre-graus-radianos.htm
03/05/2023
Prof.ª M.ª Elaine Cecília Gatto
70
top related