Você está na página 1de 34

Introduo Computao Grfica

Introduo Computao Grfica


Geometria
Geometria
Claudio Esperana
Paulo Roma Cavalcanti
Pontos e Vetores (2D)
Pontos e Vetores (2D)
Ponto: Denota posio no
plano
Vetor: Denota deslocamento,
isto , inclui a noo de
direo e magnitude
Ambos so normalmente
expressos por pares de
coordenadas (em 2D) mas
no so a mesma coisa
) , (
) , (
v v
P P
y x v
y x P
=
=
r
y
P
v
x
Operaes com Pontos e Vetores (2D)
Operaes com Pontos e Vetores (2D)
y
Soma de vetores
t = v + u
Multiplicao de vetor por
escalar
u = 2 v
Subtrao de pontos
v = Q P
Soma de ponto com vetor
Q = P + v
v
u
t

=

v

+

u
x
y
v
v
u

=

2

v
y
P
x v
Q
x
Transformaes
Transformaes
Transformao uma funo que mapeia pontos de
um espao Euclidiano em outros (ou possivelmente
os mesmos) pontos do mesmo espao.
Se uma transformao linear, ento
Se um conjunto de pontos est contido em uma reta,
depois de transformados eles tambm estaro
contidos sobre uma reta.
Se um ponto P guarda uma relao de distncia com
dois outros pontos Q e R, ento essa relao de
distncia mantida pela transformao.
Transformao mapeia origem na origem?
Sim: Transformao Linear
No: Transformao Linear Afim: Translaes so
permitidas
Transformaes Lineares em 2D
Transformaes Lineares em 2D
Uma transformao linear
Uma transformao linear afim

+ =
+ =
dy cx y
by ax x
'
'

+ + =
+ + =
f dy cx y
e by ax x
'
'
Forma Matricial
Forma Matricial
Mais conveniente para uso em um
computador. Sejam
Ento uma transformao linear afim pode
ser escrita T (P ) = P onde

=
f
e
D
d c
b a
A
y
x
P
y
x
P
'
'
'
D P A P + = '
Transformando Vetores
Transformando Vetores
Um vetor no est atrelado a um ponto no espao
Uma transformao linear afim aplicada a um vetor
no inclui translao
Prova: Seja V um vetor e V sua imagem sob a
transformao linear afim, ento:
' ' ' P Q V P Q V = =
V A
P Q A
D P A D Q A
P Q V
=
=
+ + =
=
) (
) ( ) (
' ' '
Coordenadas Homogneas
Coordenadas Homogneas
A transformao de vetores operacionalmente
diferente da de pontos
Coordenadas homogneas permitem unificar o
tratamento
Problema levado para uma dimenso superior:
Coordenada extra w= 0 para vetores e =1 p/ pontos
Termos independentes formam uma coluna extra na
matriz de transformao

1 1 0 0 1
'
'
y
x
f d c
e b a
y
x

0 1 0 0 0
'
'
y
x
f d c
e b a
y
x
Coordenadas Homogneas
Coordenadas Homogneas
-
-
Interpretao
Interpretao
x
y
w
Plano 1 w=
Plano 0 w=
Modelando Transformaes
Modelando Transformaes
Uma t.l.a. em 2D pode ser definida se dispusermos
da imagem de 3 pontos do domnio
P P
Q
Q
R
R
x
y

+ + =
+ + =
+ + =
+ + =
+ + =
+ + =
f y d x c y
e y b x a x
f y d x c y
e y b x a x
f y d x c y
e y b x a x
R R R
R R R
Q Q Q
Q Q Q
P P P
P P P
. .
. .
. .
. .
. .
. .
'
'
'
'
'
'
Sistemas de coordenadas
Sistemas de coordenadas
Um sistema de coordenadas para R
n
definido por
um ponto (origem) e n vetores
Ex. Seja um sistema de coordenadas para R
2
definido
pelo ponto O e os vetores X e Y. Ento,
Um ponto P dado por coordenadas x
P
e y
P
tais que
Um vetor V dado por coordenadas x
V
e y
V
tais que
O Y y X x P
P P
+ + = . .
Y y X x V
V V
. . + =
Mudana de Sistema de Coordenadas
Mudana de Sistema de Coordenadas
Se estabelecemos um outro sistema (ex.: Q/T/U),
como computar as novas coordenadas dadas as
antigas?
T
X
O
P
Y y X x
P P
+
U u T t
P P
+
Q
Y
U
Mudana de Sistema de Coordenadas
Mudana de Sistema de Coordenadas
Como computar as coordenadas de um ponto P =
(x
P
, y
P
) em O/X/Y dadas as coordenadas de P em
Q/T/U, isto , (t
P
, u
P
) ?
O Y y y u y t X x x u x t
O Y y X x Y y X x u Y y X x t
Q U u T t P
Q U P T P Q U P T P
Q Q U U P T T P
P P
+ + + + + + =
+ + + + + + =
=
). . . ( ). . . (
) . . ( ) . . .( ) . . .(
. .
Q U P T P P
x x u x t x + + = . .
Q U P T P P
y y u y t y + + = . .
Logo,
+ +
Mudana de Sistema de Coordenadas
Mudana de Sistema de Coordenadas
Matricialmente:
Usando coordenadas homogneas:
Para resolver o problema inverso:

Q
Q
P
P
U T
U T
P
P
y
x
u
t
y y
x x
y
x

1
1 0 0
1
P
P
Q U T
Q U T
P
P
u
t
y y y
x x x
y
x


1
1 0 0
1
1
P
P
Q U T
Q U T
P
P
y
x
y y y
x x x
u
t
Transformaes em 3D
Transformaes em 3D
Vetores e pontos em 3D
Transformao linear afim

=
1
z
y
x
P
P
P
P

=
0
z
y
x
V
V
V
V
r

=
1 0 0 0
l i h g
k f e d
j c b a
T
Transformaes Rgidas
Transformaes Rgidas
No modificam a forma (dimenses/ngulos) do
objeto
So compostas de uma rotao e uma translao

=
1 0 0 0
l i h g
k f e d
j c b a
T
Vetor de
Translao
Submatriz de
Rotao
Translao
Translao

=
1 0
1 0 0 0
1 0 0
0 1 0
0 0 1
3
t I
t
t
t
T
z
y
x
t P
t P
t P
t P
P
P
P
t
t
t
P T P
z z
y y
x x
z
y
x
z
y
x
+ =

+
+
+
=

= =
1 1 1 0 0 0
1 0 0
0 1 0
0 0 1
'
Observe que translaes
so comutativas:
P + t + v = P + v + t
z
y
x
Rotao em torno do eixo
Rotao em torno do eixo
Z
Z
Podemos ver que o vetor (1,0,0)
T
mapeado em (cos
, sen , 0)
T
e que o vetor (0,1,0)
T
mapeado em
(- sen , cos , 0)
T

x
y
cos
cos
sen
- sen

x
y
y
z
x
Rotao em torno do eixo
Rotao em torno do eixo
Z
Z
Sabemos que
Outra maneira de ver:
) sin(
) cos(


+ =

+ =

r P
r P
y
x

sin
cos
r P
r P
y
x
=
=

P
P
x
y
r
r
Ento


cos sin sin cos
sin sin cos cos
r r P
r r P
y
x
+ =

Ou, finalmente,


cos sin
sin cos
y x y
y x x
P P P
P P P
+ =

Rotao em torno dos eixos coordenados


Rotao em torno dos eixos coordenados
Rotao emtorno de Z dada pela matriz


1 0 0 0
0 1 0 0
0 0 cos sin
0 0 sin cos


Similarmente, em torno dos eixos X e Y

1 0 0 0
0 cos sin 0
0 sin cos 0
0 0 0 1

1 0 0 0
0 cos 0 sin
0 0 1 0
0 sin 0 cos


Rotaes em geral
Rotaes em geral
Qualquer rotao pode ser definida por um
eixo de rotao dado pelo vetor unitrio u =
(x, y, z)
T
e um ngulo de rotao
Seja S a matriz
Ento a submatriz de Rotao M dada por

=
0
0
0
S
x y
x z
y z
S sin ( ) uu I )( (cos uu M
T T
) + + =
Inclinao (
Inclinao (
shear
shear
)
)
uma transformao de deformao onde um eixo entortado
em relao aos demais
z
z
y
y
z
x
x

=
1 0 0 0
0 1 0 0
0 1 0
0 0 1
y
x
inclinao
Sh
Sh
T
Se o vetor unitrio do eixo z
levado em [Sh
x
Sh
y
1 0]
T
, ento a
matriz de transformao dada
por
Escala
Escala
Especificada por trs fatores (S
x
, S
y
, S
z
) que multiplicam os vetores
unitrios x, y, z
Escala no uma transformao rgida,
Escala uniforme (S
x
= S
y
= S
z
) entretanto, uma operao ortogonal
ou homottica, isto , preserva os ngulos
Para obter reflexo em torno do plano z=0, usar fatores de escala (1,
1, -1)
y

=
1 0 0 0
0 0 0
0 0 0
0 0 0
z
y
x
escala
S
S
S
T
x
z
y
z
x
Composio de transformaes em 3D
Composio de transformaes em 3D
Em nossa notao, usamos pr-multiplicao:
P = T x P
Para compor 2 transformaes temos:
Se P = T
1
x P e P = T
2
x P , ento, P = T
2
x T
1
x P
1 2
T T
1
T
2
T
Geometria Afim
Geometria Afim
Composta dos elementos bsicos
escalares
pontos - denotam posio
vetores - denotam deslocamento (direo e
magnitude)
Operaes
escalar vetor = vetor
vetor + vetor ou vetor vetor = vetor
ponto ponto = vetor
ponto + vetor ou ponto vetor = ponto
Combinaes Afim
Combinaes Afim
Maneira especial de combinar pontos
Para 2 pontos P e Q poderamos ter uma combinao
afim R = (1 )P +Q = P +(P Q)
1 onde
...
1
2 2 1 1
=
+ + +

=
n
i
i
n n
P P P


P
R= P+(P Q)
P
Q
0 < < 1
< 0
> 1
Q
Combinaes Convexas
Combinaes Convexas
Combinaes afim onde se garante que todos
os coeficientes
i
so positivos (ou zero)
Usa-se esse nome porque qualquer ponto que
uma combinao convexa de n outros
pontos pertence envoltria convexa desses
pontos
P
2
P
1
P
4
P
5
Q
P
3
Geometria Euclidiana
Geometria Euclidiana
Extenso da geometria afim pela adio de
um operador chamado produto interno
Produto interno um operador que mapeia
um par de vetores em um escalar. Tem as
seguintes propriedades:
Positividade : (u,u) 0 e (u,u) = 0 sse u=0
Simetria: (u,v) = (v,u)
Bilinearidade: (u,v+w)= (u,v)+ (u,w) e
(u,v)= (u,v)
Geometria Euclidiana
Geometria Euclidiana
Normalmente usamos o produto escalar como
operador de produto interno:
Comprimento de um vetor definido como:
Vetor unitrio (normalizado):

=
=
d
i
i i
v u v u
1
r r
v v v
r r r
=
v
v
v
r
r
=

Geometria Euclidiana
Geometria Euclidiana
Distncia entre dois pontos P e Q =|P Q |
O ngulo entre dois vetores pode ser determinado
por
Projeo ortogonal: dados dois vetores u e v, deseja-
se decompor u na soma de dois vetores u
1
e u
2
tais
que u
1
paralelo a v e u
2
perpendicular a v
)

( cos cos ) , (
1 1
v u
v u
v u
v u ngulo =
|
|
.
|

\
|

=

r r
r r
r r
1 2 1
u u u v
v v
v u
u
r r r r
r r
r r
r
=

=
v
u
u
1
u
2
Produto Vetorial (3D)
Produto Vetorial (3D)
Permite achar um vetor perpendicular a outros dois dados
til na construo de sistemas de coordenadas
z y x
z y x
x y y x
z x x z
y z z y
v v v
u u u
k j i
v u v u
v u v u
v u v u
v u
r
r r
r r
=

=
u
v
uv
.
Propriedades (assume-se u, v linearmente independentes):
Antisimetria: u v = v u
Bilinearidade: u (v) = (u v) e u (v + w) = (u v) + (u w)
u v perpendicular tanto a u quanto a v
O comprimento de u v igual a rea do paralelogramo definido
por u e v, isto , | u v | = | u | | v | sin
Orientao
Orientao
Orientao de 2 pontos em 1D
P
1
< P
2
, P
1
= P
2
ou P
1
> P
2
Orientao de 3 pontos em 2D
O percurso P
1
, P
2
, P
3
feito no sentido dos ponteiros
do relgio, no sentido contrrio ou so colineares
Or (P
1
, P
2
, P
3
) = 0
P
3
Or (P
1
, P
2
, P
3
) = +1
P
1
P
3
P
2
Or (P
1
, P
2
, P
3
) = -1
P
3
P
2
P
1
P
2
P
1
Orientao
Orientao
Orientao de 4 pontos em 3D
O percurso P
1
, P
2
, P
3
, P
4
define um parafuso
segundo a regra da mo direita, mo esquerda
ou so coplanares
O conceito pode ser
estendido a
qualquer nmero de
dimenses ...
Or (P
1
, P
2
, P
3
, P
4
) = +1
P
3
P
1
P
4
P
2
Computando orientao
Computando orientao
A orientao de n+1 pontos em um espao n-
dimensional dado pelo sinal do determinante da
matriz cujas colunas so as coordenadas
homogneas dos pontos com o 1 vindo primeiro
|
|
|
|
|
.
|

\
|
=
4 3 2 1
4 3 2 1
4 3 2 1
4 3 2 1 3
1 1 1 1
sign ) , , , ( Or
z z z z
y y y y
x x x x
P P P P
|
|
|
.
|

\
|
=
3 2 1
3 2 1 3 2 1 2
1 1 1
sign ) , , ( Or
y y y
x x x P P P

Você também pode gostar