Você está na página 1de 27

Computação Gráfica

Prof. Dr. Vinicius S. Andrade


• Simetria e Reflexão
Temas da aula • Conversão Matricial de Segmentos de Reta

de hoje • Conversão Matricial de Circunferências


A simetria é um tipo de conversão matricial a qual,
aplicada a um objeto, produz um novo objeto como
se fosse visto reproduzido por um espelho,
posicionado no eixo em torno do qual se faz o
espelhamento.
Simetria e
Reflexão Com isso, conseguimos transformar um objeto a
partir do espelhamento das suas dimensões
matriciais e obter uma imagem rotacionada do que
foi refletido.
Simetria e
Reflexão
Quando aplicada em um objeto
2D, a reflexão pode ser
representada usando o eixo
vertical e horizontal do plano.

Se considerarmos o eixo x
como um espelho e aplicarmos
a reflexão do objeto
representado, teremos o
seguinte resultado:
Simetria e
Reflexão
No caso de objetos em 3D, a
reflexão pode ser feita em torno
de qualquer um dos três planos.

Por exemplo, podemos aplicar a


reflexão em torno do plano zx,
assim, invertendo as
coordenadas do eixo y.
Portanto, teríamos um novo
objeto que manteve as
coordenadas x e z, mas teve
sua coordenada y “invertida”.
Onde podemos aplicar simetria e reflexão em jogos
digitais?
Outro exemplo de uma possível aplicação
Conversão Matricial de
Segmentos de Reta
• São formadas por uma matriz de pixels
• Numero de pixels que compõem uma
Algumas imagem é variável
características • Cada pixel guarda a informação de sua cor
(RGB)
de uma • São utilizadas principalmente em fotografias
imagem • Também são utilizadas em resolução de
matricial monitores: 640 X 480 – VGA; 1280 X 1024 –
SXGA; 2048 X 1536 – QXGA; 2560 X 2048 –
QSXGA
Esse processo que permite realizar a conversão de
Conversão um desenho qualquer armazenado na memória de
imagem para um dispositivo matricial (rastering),
Matricial ou seja, convertem um elemento gráfico vetorial
em uma representação matricial.

A rastering (rasterização) é a tarefa de converter


uma imagem vetorial em uma imagem matricial
para a possível leitura em um monitor (também
matricial), por exemplo.
Sua implementação via hardware é feita pela
placa de vídeo, a nível de software pode ser
feita utilizando linguagens de programação
como Assembly, Java, entre outras.
Conversão A reta é a primitiva 2D mais comum. Todos
wireframes (modelos de arame) 3D são
Matricial de eventualmente retas 2D.

Segmentos de Reta
Características – Os pixels traçados devem dar a aparência de
que estão sobre uma reta, independente de
Linearidade angulação ou outras variações.
Características – Segmentos devem iniciar e terminar nos
pontos especificados, sem gaps entre
Precisão segmentos contínuos.
Características – Pixels igualmente espaçados, sem variar a
intensidade ou a espessura do segmento ao
Espessura longo de sua extensão.

Uniforme
Características – Ausência de interrupções indesejáveis

Continuidade
Característica
s– Segmentos em diferentes inclinações
deve manter a mesma intensidade.
Intensidade
independente
da inclinação
Onde
aplicamos
conversão
matricial de As aplicações são inúmeras! Em
modelagem com Blender, texturização
retas? de objetos, criação de objetos no Unity,
dentre outras.
Wireframes
em
modelagem
com Belnder
Contorno de objetos em Cena – Unity 2019.
Conversão Matricial
de Circunferências
Introdução

A abordagem é semelhante a da reta,


porém aqui, os princípios são voltados
para circunferências, bem como sua
matemática. A equação de uma
circunferência com centro na origem e
raio R, em coordenadas cartesianas, é
dada por:
Obtenção de circunferência - Simetria de Ordem 8

É o princípio relativamente mais simples


e amplamente mais utilizado. Basta
calcular um arco de circunferência de
45º para obter a circunferência toda.
Pseudo código da ideia do slide anterior
void PontosCircunferência(int x,int y,int valor)
{
PintaPixel(x,y,valor);
PintaPixel(y,x,valor);
PintaPixel(y,-x,valor);
PintaPixel(x,-y,valor);
PintaPixel(-x,-y,valor);
PintaPixel(-y,-x,valor);
PintaPixel(-y,x,valor);
PintaPixel(-x,y,valor);

}
Inúmeros objetos de uma cena na Unity usam
um formato de circunferência que será
renderizado em tela utiliza princípios de
conversão matricial de circunferências. Alguns
E onde modelos de iluminação de cena também
utilizam conversão matricial de circunferências.
aplicamos É claro que você não precisa executar toda
matemática necessária para que isso ocorra.
Essa matemática é feita “por trás”, em outras
camadas como S.O, compiladores, etc. tudo
depende da ferramenta que você utiliza.

Você também pode gostar