Imagem e Gráficos vetorial ou raster ?

Propaganda
http://computacaografica.ic.uff.br/conteudocap1.html
Imagem
e Gráficos
vetorial ou raster ?
UFF
Computação Visual
tem pelo menos 3 grades divisões: CG ou SI, AI e OI
Diferença entre as áreas
relacionadas ao que são as
entradas (IN) e saídas (OUT)
Outra diferença entre as áreas da
CV
É o uso da descrição dos DADOS (desenhos ou
imagens usados) na forma de pontos do
espaço continuo ou na forma de elementos
discretos.
Chamadas respectivamente de:
Descrição Vetorial e Descrição Matricial ou Raster
(ou em bitmap , que significa mapa de bits)
Imagens matriciais ou raster
são imagens que contêm a descrição de cada ponto ou
PIXEL, em oposição as formas vetoriais (que
descrevem o inicio e fim de cada segmento de reta, ou
os pontos de controle de uma curva, ou os elementos
que definem um sólido como lado de um cubo, raio de
uma esfera, etc.).
bitmap x gráfico vetorial.
Descrição Raster
• Armazenado como matrix , onde a área a ser
usada depende da resolução (linha x coluna) e
da gradação tonal (ou numero de cores_ .
• Um bitmap pode ser monocromático, em escala
de cinza ou colorido.
• No caso de cores os pixels são formados
geralmente no padrão RGB, do inglês Red,
Green, Blue, que utiliza três números
inteiros para representar
as cores vermelho, verde e azul
Descrição Matricial ou Raster
• A cada ponto da imagem exibida na tela
corresponde a um pixel, de forma que a maioria
das imagens requer um número muito grande
de pixels para ser representada completamente
de maneira bem nítida.
• Por exemplo, uma imagem comum de 100
pixels de largura por 100 de altura necessita de
3 bytes para representar cada pixel (um para
cada cor primária RGB). Isso totaliza
30.000 bytes.
e ao dar um zoom você nota os pixels!
• Isso não ocorre
nas imagens
vetoriais
Em CG usamos Descrição Vetorial
Até quase o tempo todo , isso só vai mudar
em uma das últimas fases do realismo
visual.
Assim a CG se baseia em vetores
matemáticos.
Descrição Vetorial
• Por serem baseados em vetores, essa faz desenhos e
gráficos geralmente mais leves (ocupam menos espaço
de armazenamento) e não perdem qualidade ao serem
ampliados, já que transformam por funções matemáticas
adequadamente os elementos (quanto a escala e outras
facilmente).
• Isso não ocorre com gráficos raster que perdem a
qualidade.
• Outra vantagem do desenho vetorial é a possibilidade
de isolar objetos e zonas, tratando-as
independentemente, facilitando animações e
combinações geométricas para compor objetos!
A CG
usa de primitivas como pontos, linhas, curvas e formas ou polígonos
(baseados em expressões matemáticas) para representar imagens.
Os desenhos vetoriais são baseados em vetores que são definidos
pelos seus pontos de controle ou nós.
Os mais simples são segmentos de retas definidos pelo seus pontos
limites.
Cada um desses pontos possui uma posição definida nos eixos x de
um plano de trabalho.
Com atributos como cor, forma e espessura e preenchimento.
Estas propriedades não aumentam o tamanho dos arquivos de
desenho vetorial, uma vez que todas as informações residem na
estrutura que descreve como o vetor deve ser desenhado.
Vetorização
• É o processo inverso
O objetivo neste caso é transformar uma imagem raster em imagem
vetorial (vetorização) para obter imagens MELHOR
TRANSFORMÁVEIS (escaláveis ) que podem sofrer ampliação (por
exemplo) sem perda de definição de imagem ou outras aplicações de
CV gerativa Ou CG!
Vetores serão nossos melhores amigos....
• E transformações serão coisa que
usaremos muito para ...
Vendo os pontos
Como vetores em 2D
(2,1) ,(5,1), (5,3), (2,3),....
Ou em 3D (2,1,1), (5,3,1) , (5,1,1) , (2,3,1) ...
Mas primeiro precisa-se
• Definir o sistema de coordenadas a ser
usado:
• Um sistema de coordenadas cartesiano
3D é composto de 3 planos e 3 eixos
ortogonais
• Precisam ter uma origem e unidades
predefinidas (o orientação relativa dos
eixos)
Mas há
outros tipos mais úteis em determinada
aplicação como os polares, cilíndricos
e esféricos...
Recordando geometria ...
•
O que é um sistema cartesiano positivo
ou com os eixos orientados pela regra
da mão direta?
•
O que eixos orientados pela regra da
mão direta têm a ver com o produto
vetorial da álgebra linear?
Geometria Euclideana : 3D
• Geometria
Axiomas e Teoremas
Coordenadas de pontos, equações dos objetos
• Geometria Euclideana (3D)
• CG (objetos):
Topologia :Faces, arestas, vértices
Geometria (conjunto de coordenadas dos vértices)
Distância entre 2 pontos = Distância euclidiana
Comprimento dos vetores
Transformações
n
u . v= ∑ v i ui =produtointerno
i=1
• De corpo rígido (semelhança).
Distância entre 2 pontos quaisquer é
inalterada.
Ângulos entre vetores é inalterado.
Rotações, reflexões e translações
Transformações
• Afim
Transf. Lineares + translações.
Conceitos:
• multiplicação de vetores ( u , v , w) e matrizes T
• soma de vetores.
• Vetores => (linha ou coluna)
• Transposta ( TT i,j ) = ( T j,i )
• Vetor coluna (n x 1): T (u)
• Vetor linha (1 x n) : (u’) TT
Transformações Lineares
• Definição
1. T(u + v) = T(u) + T(v)
2. T(av) = a T(v)
u , v vetores de dimensão n= 2 ou 3 .
T matriz quadradas n x n.
Objetos em CG: Basta
multiplicar T aos
vetores ou pontos do objeto
A translação não é uma transformação linear.
Transformações Lineares
Bidimensionais
• 2D
• São representadas por matrizes 2 x 2.
( )( ) ( )
a c
T=
b d
x
ax+cy
=
y
bx+dy
Rotação em torno da origem
(
cos(θ ) − sin( θ )
Rθ =
sin( θ ) cos( θ)
)
Escala em uma direção
(horizontal)
( )
k 0
S x=
0 1
Reflexão em Relação ao Eixo X
( )
1 0
Rfl x =
0 −1
Reflexão em Relação ao Eixo Y
( )
−1 0
Rfl y =
0 1
Reflexão em Relação à Reta y
=x
( )
0 1
Rfl y=x =
1 0
Como fica a reflexão em torno
da origem?
•
Cisalhamento em X
( )
1 k
C x=
0 1
Cisalhamento em Y
( )
1 0
C y=
k 1
Como fica o cisalhamento em
ambos?
Transformações Rígidas
• Rotações, Reflexões e Translações.
Preservam ângulos e comprimentos.
Para matrizes ortonormais a Inversa é a matriz
transposta (T-1 = TT).
Se o objeto não esta na
origem!!
• Mudança de
escala
Não é uma T. rígida!
Composição de
Transformações
• Quando for necessário transformar um
objeto em relação a um ponto P arbitrário:
Translada-se P para origem.
Aplicam-se uma ou mais transformações
lineares elementares.
Aplica-se a transformação desejada.
Aplicam-se as transformações elementares
inversas.
Aplica-se a translação inversa: -P
Coordenadas homogêneas
• no R2 é um elemento do R3 com uma relação de
escala.
P= (x,y,λ );λ≠ 0, (x / λ,y/ λ ,1 )
• Um ponto do plano é definido como:
Chamado P = [x,y,1] em coordenadas homogêneas
(uma classe de equivalência).
Em coordenadas homogêneas as
matrizes anteriores
• Devem ser 3 x 3 para as mesmas
transformações afins bidimensionais.
a c m
M= b d n
p q s
Matriz de Translação
1 0 m
M= 0 1 n
0 0 1
x
x+m
y = y+n
1
1
Transformações Lineares
( )( ) ( )
a c 0
M= b d 0
0 0 1
x
ax+cy
y = bx+dy
1
1
Transformação Perspectiva
( )( ) ( )
1 0 0
M= 0 1 0
p q 1
x
x
y =
y
1
px+qy+1
Transformação Perspectiva 2D
Efeito em um ponto no infinito
( )( ) ( )
1 0 0
M= 0 1 0
p q 1
x
x
y =
y
0
px+qy
Pontos de Fuga
• Um ponto no infinito pode ser levado em
um ponto P0 do plano afim.
• Família de retas paralelas que se
intersectam no infinito são transformadas
numa família de retas incidentes em P0.
P0 é chamado de ponto de fuga.
Ponto de fuga principal corresponde a uma
direção paralela aos eixos coordenados.
• Imagem de [x,0,0] ou [0,y,0].
Espaço 3D
• Um ponto do espaço 3D é definido como:
P= {( x,y,z,λ );λ≠ 0, ( x / λ,y/ λ,z / λ,1 ) }
Denotado por P = [x,y,z,w] em coordenadas
homogêneas.
Translação no Espaço 3D
Escala em torno da origem do
Espaço 3D
Rotações no Espaço 3D
(ângulos de Euler)
Em torno de Z
Em torno de X
Em torno de Y
Projeções:
Classificação:
Características:
características
Ponto de fuga
O que são eixos principais?
• Maior e menor momento de inércia.
• Não há produto de inércia para os eixos
principais
• Podem ser entendidos como os do menor
BB
• possível para o objeto de interesse.
Pontos de fuga principais
possível mas não é realista
3 pontos de fuga e realidade
Matriz Projetiva
• Uma transformação projetiva M do R3 é uma
transformação linear do R4.
• A matriz 4 x 4 de uma transformação projetiva
representa uma transformação afim
tridimensional.
a
b
M=
c
p
d
e
f
q
g m
h n
i o
r s
Transformação Perspectiva
• Ponto P do espaço afim é levado no
hiperplano w = r z + 1
• Se z = -1/r, então P é levado em um ponto
no infinito.
• Pontos do espaço afim com z = 0 não são
1 0 0 0 x
x
afetados.
( )( ) ( )
0 1 0 0
M=
0 0 1 0
0 0 r 1
y
y
=
z
z
1
rz+1
Ponto de Fuga Principal
• A imagem do ponto ideal, correspondendo
a direção z, tem coordenadas [0, 0, 1/r, 1]
Este é o ponto de fuga principal da direção z.
Semi-espaço infinito 0 < z ≤ ∞ é transformado
no semi-espaço finito 0 < z ≤ 1/r.
( )( ) ( )
1
0
M=
0
0
0
1
0
0
0
0
1
r
0
0
0
1
0
0
0
0
=
1
1
0
r
Mais de Um Ponto de Fuga
• A transformação perspectiva com 3
pontos de fuga, possui 3 centros de
projeção:
[-1/p, 0, 0, 1]
[0, -1/q, 0, 1]
[0, 0, -1/r, 1]
• O mesmo resultado é obtido com a
aplicação em cascata de 3
transformações perspectivas, com um
único ponto de fuga em cada eixo.
Basta Implementar Transformações
Com um Único Ponto de Fuga
• Transformações perspectivas com dois
pontos de fuga equivalem a combinação
de:
rotação ao redor de um eixo perpendicular ao
eixo que contém o centro de projeção.
transformação perspectiva com um único
ponto de fuga.
• Com duas rotações, obtêm-se
transformações com três pontos de fuga.
As coordenadas de um ponto só
fazem sentido
em relação a um sistema de eixos de
coordenadas perfeitamente caracterizado:
i.e. Centralizado em um ponto bem
definido (chamado origem do sistema de
coordenadas).
É importante identificar a unidade usada e
a direção considerada positiva em cada
eixo.
Fixando 2 conceitos fundamentais:
sistemas de coordenadas e coordenadas.
Qual a diferença entre as operações de dar um zoom ou mudar a de
escala nas 3 direções?
Como você pode dar o mesmo efeito visual do Zoom in e zoom out
através da mudança de escala do objeto? As coordenadas do
objeto são alteradas em qual dos casos?
E os conceitos de panned (panorâmica) e translação do objeto:
Como você pode dar o mesmo efeito visual do panned left (ou anti
clock wise) e panned right (ou clock wise) através da translação
do objeto? As coordenadas do objeto são alteradas em qual dos
casos?
Download