• Nenhum resultado encontrado

Computação Gráfica. Prof. MSc André Yoshimi Kusumoto

N/A
N/A
Protected

Academic year: 2021

Share "Computação Gráfica. Prof. MSc André Yoshimi Kusumoto"

Copied!
21
0
0

Texto

(1)

Prof. MSc André Yoshimi Kusumoto

[email protected]

(2)

Primitivas gráficas em duas dimensões

Matrizes em Computação Gráfica

• Todas as transformações geométricas podem ser representadas na forma de equações

• As matrizes são muito utilizadas porque o seu uso e o seu entendimento é menos complexo do que equações algébricas

• Devido ao padrão de coordenadas usualmente adotado para

representação de pontos no plano (x,y) e no espaço tridimensional (x,y,z) é mais conveniente manipular esses pontos por matrizes quadradas 2x2 ou 3x3 elementos.

(3)

Primitivas gráficas em duas dimensões

Pontos, vetores e matrizes

• Dado um sistema de coordenadas cartesianas, é possível definir pontos e objetos pelas suas coordenadas

• Nos espaços bidimensionais ou nos objetos planos, duas coordenadas caracterizam um ponto. Para objetos tridimensionais, três coordenadas são necessárias.

• Ex.

• Para definir um ponto, usa-se a sua distância em relação a cada um dos eixos do sistema de coordenadas

(4)

Pontos, vetores e matrizes

• Os vetores e matrizes não são limitados a dois ou três elementos.

Primitivas gráficas em duas dimensões

  Matriz Quadrada 5x5   Matriz 2x3      

(5)

Operações de Matrizes

• Adição e subtração – matrizes de mesma dimensão

• Multiplicação por um valor constante

• Transposta – a matriz transposta, simbolizada pela letra T sobrescrito, tem como matriz resultante da troca dos valores de suas linhas e colunas.

Primitivas gráficas em duas dimensões

   

 

(6)

Operações de Matrizes

• Multiplicação de matrizes – desde que o número de colunas da primeira seja igual ao níveis de linha da segunda. Isto é, uma matriz de dimensão m x n pode ser multiplicada por outra matriz de dimensão n x p. A matriz resultante será de dimensão m x p.

• Considere os seguintes vetores e verifique

Primitivas gráficas em duas dimensões

 

 

 

(7)

• Podemos utilizar diferentes sistemas de coordenadas para descrever os objetos

• Serve para dar uma referência em termos de medida do tamanho e posição dos objetos

• Coordenadas Polares – descritas por raio (r) e ângulo (θ)

• Coordenadas Esféricas – descritas por raio (r) e dois ângulos (θ e ψ)

• Coordenadas Cilíndricas – descritas por raio (r), ângulo (θ) e comprimento (P) • Esféricas e Cilíndricas são sistemas que representam pontos em 3D

(8)

• Um determinado sistema de coordenadas é denominado Sistema de Referência se for um sistema de coordenadas cartesianas para alguma finalidade específica.

• Assim, sua definição deve abranger dois aspectos principais:

• A unidade de referência básica

• Os limites extremos dos valores aceitos para descrever os objetos

Sistema de Referência do Universo (SRU)

• Coordenadas do universo, ou do mundo.

• Utilizado para descrever os objetos em termos das coordenadas utilizadas pelo usuário em determinada aplicação

• Cada tipo de aplicação especifica o seu universo de trabalho próprio

• Ex. CAD (metros ou centímetros), CAD Mecânica de precisão (milímetros ou nanômetros)

• Cada um como seus limites extremos (coordenadas mínimas e máximas do universo)

(9)

Sistema de Referência do Objeto (SRO)

Cada objeto é um miniuniverso individual, ou seja, cada objeto tem suas particularidades

descritas em função de seu sistema

Muitas vezes coincide com o centro do sistema de coordenadas

• Ex. na modelagem de sólidos, este centro é conhecido como pivô.

Sistema de Referência Normalizado (SRN)

Trabalha com coordenadas normalizadas, com valores entre 0 e 1, onde 0 x 1 e 0 y 1, sendo x e y, as coordenadas horizontais e verticais possíveis.

• Serve como um sistema de referência intermediário entre SRU e SRD

• Principal aplicação é tornar a geração das imagens independente do seu dispositivo

• Pois, coordenadas do universo são convertidas para um sistema de coordenadas padrão normalizado.

(10)

Sistema de Referência do Dispositivo (SRD)

• Utiliza coordenadas que podem ser fornecidas diretamente para um dado dispositivo de saída específico

• Ex. em um vídeo, esses valores podem ser o número máximo de pixels que podem ser acesos (640x480, 800x600, etc) ou podem indicar a resolução especificada em determinada

configuração do sistema operacional (800x600x32bits – True Color)

• Assim, nos hardwares, o sistema de coordenadas depende geralmente da resolução possível e da configuração definida pelo usuário dentre as

possíveis

(11)

Representação da Imagem

• Na representação matricial, a imagem é descrita por um conjunto de células em um arranjo espacial bidimensional, uma matriz.

• Cada célula representa um pixel, ou pontos, da imagem matricial. Os objetos são formados utilizando essa representação, isto é, utilizando os pixels ou pontos.

(12)

Primitivas Gráficas

(x,y)=(1,1) De 1 até xMax xMax

(13)

• Consideremos traçar uma reta do ponto extremo inferior esquerdo p1(x1,y1) até o ponto extremo superior direito p2(x2,y2).

• Significa definir quais pontos (pixels) devem ser ativados para representar a reta considerada

(14)

Equação de reta

m é o coeficiente angular que representa o ângulo que a reta possui em relação ao eixo x

• Para m <= 1, a reta possui um ângulo entre 0° e 45° com o eixo x • Para m > 1, a reta possui um ângulo entre 45° e 90° com o eixo x

b é o coeficiente linear que representa o valor que a reta cruza com o eixo y

Equação de Reta

 

 

(15)

Assim, em uma matriz 10x10, onde p1(1,10) e p2(10,1):

Para cada x, de 1 até 10:

Código em C m=(float)(y2-y1)/(x2-x1); b=(float)y1-m*x1; for (x=x1;x<=x2;x++) { y=(int)round(m*x+b);

Equação de Reta

      x y 1 10 2 9 3 8 4 7 5 6 6 5 7 4 8 3 9 2 10 1

(16)

Equação de Reta

(2,2)

(7,9)

Exercício

1. Considere uma matriz 10x10, onde p1(2,2) e p2(7,9). Utilizando a equação de reta

apresentada, demonstre quais pixels

deveriam ser ativados para representar a reta entre os pontos p1 e p2.

Código em C

m=(float)(y2-y1)/(x2-x1); b=(float)y1-m*x1;

(17)

Equação de Reta

(2,2)

(18)

• Digital Differential Analyser

• Algoritmo utilizado para rasterização de linhas, triângulos e

polígonos.

• Usado para interpolação linear de variáveis sobre os valores de

dois pontos

• É um algoritmo incremental que calcula o cada passo a partir

dos resultados do passo anterior

• É um algoritmo simples e não requer conhecimento especial

para a sua implementação

• A utilização de floating points (variáveis do tipo float) torna o

(19)

Algoritmo em C

dx = x2 - x1; dy = y2 - y1;

if (abs(dx) > abs(dy)) steps = abs(dx); else steps = abs(dy);

xinc = dx / (float) steps;

yinc = dy / (float) steps;

drawpixel(x1,y1);

for (aux=0; aux<steps; aux++) { x = x+xinc;

y = y+yinc; drawpixel(x,y) }

(20)

Exercícios

1. Considere os pontos abaixo. Calcule e responda quais são os

pixels que serão ativados para representar essa reta.

Demonstre e apresente os valores.

• p1(6,9) e p2(11,12)

• p1(1,1) e p2(3,5)

• p1(2,2) e p2(7,6)

(21)

• AZEVEDO, E. e CONCI, A. Computação Gráfica: Teoria e Prática. Rio de Janeiro, Editora Campus, 2003, 353p.

• CONCI, A.; AZEVEDO, E.; LETA, F. R. Computação Gráfica. Rio de Janeiro, Editora Campus, 2008. v. 2. 432 p.

Referências

Documentos relacionados

Todos os pacientes do grupo colchicina apresentam diarreia, que ocorreu antes da melhora da dor na maioria dos pacientes, após uma média de tempo de 24 horas (com

Gerência de Memória: comandos free (Mostra os espaços livres e aqueles ocupados em memória RAM e Swap), memstat (Mostra o uso da memória por parte dos diferentes processos),

Desculpem-me, mas não dá pra fazer uma cronicazinha divertida hoje. Simplesmente não dá. Não tem como disfarçar: esta é uma típica manhã de segunda-feira. A começar pela luz

Ficam estipuladas as multas contratuais previstas nesta Convenção Coletiva de Trabalho, a serem aplicadas aos infratores desta normativa, assim discriminadas:.. a) a infração

Parte da qualifi- cação profissional apresentada pela candidata fora contabilizada, visto que 01 (um) dos Certificados de 20 pontos não fora aceito, pois está com a

--- A Câmara deliberou, por unanimidade e em minuta, nos termos dos nºs 1 e 2 do artigo 15º do Regulamento Geral de Ruído, publicado pelo decreto-Lei nº 9/2007 de 17 de

A combinação entre aversão a perdas e um curto período de avaliação (aversão a perdas míope) faz com que o retorno esperado de um ativo mais arriscado seja suficientemente alto

Neste trabalho foram empregadas as fórmulas de transformação de coordenadas geodésicas elipsoidais em coordenadas cartesianas tridimensionais geocêntricas para determinar o