Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
1
Matemática para CG
Soraia Raupp Musse
2
Sumário
• Introdução
• Revisão Matemática
– Vetores
– Matrizes
3
Introdução
• Em CG, trabalha-se com objetos definidos em um mundo 3D
• Todos os objetos têm forma, posição e orientação
• Precisamos de programas de computador que descrevam esses objetos e como a luz interage com eles, de forma que o valor do pixels possam ser computados
4
• Dois conceitos matemáticos ajudam enormemente em CG:
– Análise e álgebra vetorial
– Transformações
• Com estas duas diciplinas saberemos:
– Como descrever os objetos geométricos de uma cena
– Como converter idéias geométricas para números
• Como resultado tem-se uma coleção de algoritmos úteis em CG
Introdução
5
Revisão Matemática - Vetores
• Por que vetores são tão importantes para CG?
– Utilizados para resolver problemas que seriam dificilmente resolvidos via outro método
– Aritmética vetorial provê uma maneira unificada de se expressar idéias geométricas algebricamente
– Ray-Tracing
6
Exemplos – Ray-Tracing
Fonte: www.povray.org
7
Rendering
reflexão especular
refração
sombraseye
image
Principais fenômenos que podem acontecer na
interação entre luz e objetos
reflexão difusa
Olho virtual
8
Mais Exemplos
9
10
11
Mais Exemplos
12
Exemplos – Ray-Tracing
13
• SRs mão direita e mão esquerda
Revisão Matemática - Vetores
14
• Geometricamente, vetores são objetos com comprimento e direção
• Podem representar diversas entidades físicas, como força e velocidade
• Notação matemática (seta ou bold)
• Applet http://www.fisica.ufpb.br/prolicen/applets.html
Revisão Matemática - Vetores
Q
Pv
l)dimensiona -n(Vetor ),...,,(
Ponto) vetor (Ponto
vetor)um é pontos dois de (Diferença
21 nvvvv
PvQ
QPv
15
Vetores Especiais
i
j
k
i
j
k
azkayjaxia
azkayjaxia
a
16
• Vetores unitários padrões
Vetores – Produto Escalar
kjiv
kcjbiaa,b,c
,,k,,,j, ,,i
152)1,0,0(1)0,1,0(5)0,0,1(2)1,5,2( :Ex
)100()010()001(
17
Revisão Matemática - Vetores
i
j
k
i
j
k
azkayjaxia
azkayjaxia
a
Inversão de vetores: MULT(-1)
azkayjaxia
.1
Como ficaria -1.a?
18
Revisão Matemática - Vetores
• Magnitude, tamanho (sempre positivo) ou módulo do vetorDISTÂNCIA ENTRE DOIS PONTOS
...
),...,,(
22
2
2
1
21
m
m
vvvv
vvvv
Dedução matemática!!!
19
Revisão Matemática - Vetores
• Magnitude, tamanho (sempre positivo) ou módulo do vetorDISTÂNCIA ENTRE DOIS PONTOS
• Origem em Pitágoras
...
),...,,(
22
2
2
1
21
m
m
vvvv
vvvv
ax
ay
az
a=axi+ayj+azk
20
Revisão Matemática - Vetores
• Magnitude, tamanho (sempre positivo) ou módulo do vetorDISTÂNCIA ENTRE DOIS PONTOS
• Origem em Pitágoras
...
),...,,(
22
2
2
1
21
m
m
vvvv
vvvv
ax
ay
az
a=axi+ayj+azk
222 azayaxa
2
3
2
2
2
1
2 lllh
21
• Vetor Unitário (magnitude = 1)
– Algumas vezes é interessante normalizar um vetor, tornando-o unitário
Revisão Matemática - Vetores
1ˆ ,5
4,
5
3ˆ e 5 ),4,3( :Ex
ˆ
aaaa
a
ax
a
ay
a
ax
a
aa
22
Para você fazer:
:a tário vetor Unido Módulo
:a unitárioVetor
:a de Módulo
:)matemática notação a com (escreva calcule ),3,2( Sendo a
23
Resultado:
:a tário vetor Unido Módulo
:a unitárioVetor
:a de Módulo
:)matemática notação a com (escreva calcule ),3,2( Sendo a
1ˆ
83,0,55,0 6055,3
3,
6055,3
2ˆ
6055,3 31
)3,2(
a
a
a
a
24
Revisão Matemática - Vetores
• Operações Básicas:– Soma de Vetores
)5,8,7()1,5,2()6,3,5()(
)7,2,3(
)1,5,2(
)6,3,5(
baba
ba
b
a
bx by bzbax ay aza
25
• Operações Básicas:
– Soma de Vetores
Revisão Matemática - Vetores
)5,8,7()1,5,2()6,3,5()(
)7,2,3(
)1,5,2(
)6,3,5(
baba
ba
b
a
bx by bzbax ay aza
(5,3)
(-2,-5)
(3,-2)
(7,8)
26
• Operações Básicas:
– Soma de Vetores
Revisão Matemática - Vetores
Lei do paralelograma:•Transporta paralelas•Diagonal=Soma
(5,3)
(-2,-5)
(3,-2)
27
• Operações Básicas:
– Multiplicação por Escalar
Revisão Matemática - Vetores
)36,30,12(.6
)6,5,2(
a
a
28
• Combinação Linear
– Utilizado para splines e representações paramétricas
Revisão Matemática - Vetores
escalares. são ,...,, onde , ... 212211 mmm aaavavavav
29
• Soma de Vetores
– Propriedades da adição: a,b,c (vetores) e k,l (escalares)
Revisão Matemática - Vetores
vaDistributibkakbak
vaDistributialakalk
aAssociativaklalk
aAssociativcbacba
Comutativaabba
30
Com você outra vez…
bkak
alak
alk
cba
ba
, - e l),k,,(c
b),,(a
:responda15120
),2,1,5(,342 Sejam
31
Respostas:
)5,15,35()(
)12,16,8()(
)15,20,10(
)2,5,7(
)1,3,7(
:responda15120
),2,1,5(,342 Sejam
bakbkak
lkaalak
alk
cba
ba
, - e l),k,,(c
b),,(a
32
• Produz um escalar
– Ex: v = (2, 3, 1), w = (0, 4, -1) = 11
• Propriedades– Comutativa: a.b = b.a
– Distributiva: (a+c). b= a.b +c.b
– Associativa: (sa).b = s(a.b)
– Produto Escalar de b com ele mesmo é o quadrado do comprimento de b
Entre Vetores – Produto Escalar
n
i
ii
nn
wvwvd
wwwwvvvv
1
2121
. .
),,...,,( e ),...,,(
bbb
.2
33
• Uma aplicação interessante é achar o cosseno do ângulo entre 2 vetores.
– Exemplo de aplicação
Revisão Matemática - Vetores
34
• Ângulo entre dois vetores (b e c)
– Mais importante aplicação do produto escalar
Vetores – Produto Escalar
Dedução matemática!!!
35
• Ângulo entre dois vetores (b e c)
– Mais importante aplicação do produto escalar
Vetores – Produto Escalar
bb bbybbx
bybxb
doLei
sin cos
:cosseno
alpha
bx
by
36
• Ângulo entre dois vetores (b e c)
– Mais importante aplicação do produto escalar
Vetores – Produto Escalar
bcbc
bcbc
cc
bb
bb
cbcb
cbcbcb
ccc
bbb
bbybbx
bybxb
doLei
sinsincoscos.
sinsincoscos.
)sin,cos(
)sin,cos(
sin cos
:cosseno
37
• Ângulo entre dois vetores (b e c)
– Mais importante aplicação do produto escalar
Vetores – Produto Escalar
bcbc
bcbc
cc
bb
b
cbcb
cbcbcb
ccc
bbb
bbx
bybxb
doLei
sinsincoscos.
sinsincoscos.
)sin,cos(
)sin,cos(
cos
:cosseno
cb
cbcb
cbcb
bababa
bc
ˆ.ˆcos
c) e b entre ângulo( cos.
)cos(.
temos),sin()sin()cos()cos()cos( Como
38
• Ângulo entre dois vetores (b e c)
– Mais importante aplicação do produto escalar
Vetores – Produto Escalar
bbbc
bbbc
cc
bb
b
cbcb
cbcbcb
ccc
bbb
bbx
bzbybxb
doLei
sinsincoscos.
sinsincoscos.
)sin,cos(
)sin,cos(
cos
:cosseno
cb
cbcb
cbcb
bababa
bc
ˆ.ˆcos
c) e b entre ângulo-( cos.
)cos(.
temos),sin()sin()cos()cos()cos( Como
O cosseno do ângulo entre dois vetores é o produto escalar
destes vetores normalizados
39
• Calcule o ângulo entre os vetores:
Para você fazer...
)2,5( e )4,3( cb
40
Vetores – Produto Escalar
• Ex:
• Conversão de graus em radianos e radianos em graus?
)(54,0
)(deg325.31cos85422.0ˆ.̂
)3714.0,9285.0(ˆ ,5
4,
5
3ˆ
385.5 ,5
)2,5( e )4,3(
radianos
reescb
cb
cb
cb
radianosgraus 1416,3180
41
• Ex:
• Sinal de b.c e Perpendicularidade
Vetores – Produto Escalar
325.31cos85422.0ˆ.ˆ
)3714.0,9285.0(ˆ ,5
4,
5
3ˆ
385.5 ,5
)2,5( e )4,3(
cb
cb
cb
cb
0 b.c 90 se 0cos
0 b.c 90 se 0cos
0 b.c 90 se 0cos
b.c>0
b.c=0 (Perpendiculares)
b.c<0
42
• Produz como resultado um vetor perpendicular aos dois vetores operandos
• Válido para 3D
Vetores – Produto Vetorial
zyx
zyx
xyyxzxxzyzzy
zyxzyx
bbb
aaa
kji
ba
kbabajbabaibababa
ba,,b,bbb ,,a,aaa
43
• Produz como resultado um vetor perpendicular aos dois vetores operandos
• Válido para 3D
Vetores – Produto Vetorial
zyx
zyx
xyyxzxxzyzzy
zyxzyx
bbb
aaa
kji
ba
kbabajbabaibababa
ba,,b,bbb ,,a,aaa
(aybz-azby)i
44
• Produz como resultado um vetor perpendicular aos dois vetores operandos
• Válido para 3D
Vetores – Produto Vetorial
zyx
zyx
xyyxzxxzyzzy
zyxzyx
bbb
aaa
kji
ba
kbabajbabaibababa
ba,,b,bbb ,,a,aaa
-(axbz-azbx)j(-axbz+azbx)j(azbx-axbz)j
45
• Produz como resultado um vetor perpendicular aos dois vetores operandos
• Válido para 3D
Vetores – Produto Vetorial
zyx
zyx
xyyxzxxzyzzy
zyxzyx
bbb
aaa
kji
ba
kbabajbabaibababa
ba,,b,bbb ,,a,aaa
(axby-aybx)k
46
• Normal de um Plano– Importante aplicação do produto vetorial
– P1, P2 e P3 sempre determinam um plano
• a = P2 – P1
• b = P3 – P1
– axb = Vetor normal ao plano
– Ordem influencia:
• axb<>bxa
Vetores – Produto Vetorial
47
Rendering
reflexão especular
refração
sombraseye
image
Principais fenômenos que podem acontecer na
interação entre luz e objetos
reflexão difusa
Olho virtual
48
Matrizes
• Arranjo retangular de elementos
• Matriz com m linhas e n colunas é dita matriz mxn
• Matriz Quadrada: m=n– Exemplo (2x2, 3x3, 4x4)
• Matriz Identidade:
• Vetor Linha: 1xn
• Vetor Coluna: nx1
100
010
001
I
1
1
1
111
C
L
49
• Scale:– Multiplica cada elemento
da Matriz por um fator de escala
• Soma:– Se duas matrizes têm o mesmo número de
linhas e colunas, elas podem ser somadas (mesma forma)
Matrizes - Operações
121266
541836
0486
301218
6A
141477
632142
0567
351421
6AA
34
2211
936
081
523
A
50
• Matriz Transposta:– Troca linhas por colunas
(útil para calcular a matriz inversa)
• Matriz Inversa:– B.B-1=I
Matrizes - Operações
43
2905
21382
1613
TA
34
2211
936
081
523
A
218.25.1det
212.85.1det
58
21
52
81
T
T
B
B
B
B
51
• Produto:– Definido somente se matrizes são conformes
• Número de colunas de A(mxn) = Número de linhas de B(nxp), resultando em matrix C que será de dimensão (mxp)
– Propriedades (A,B,C são conformes)• (AB)C = A(BC)
• A(B+C) = AB+AC
• (A+B)C = AC+BC
• (AB)T=BT AT
Matrizes - Operações
2011
1311
1415
85
13
11
26
1750
0418
3602
:Ex
52
• Produto:
– Definido somente se matrizes são conformes
• Número de colunas de A(mxn) = Número de linhas de B(nxp), resultando em matrix C que será de dimensão (mxp)
2.6+0.-1+6.3+-3.-5=12+0+18+15=45
2.2+0.1+6.1+-3.8=4+0+6-24=-14
8.6+1.-1+-4.3+0.-5=48-1-12+0=35
8.2+1.1+-4.1+0.8=16+1-4+0=13
0.6+5.-1+7.3+1.-5=0-5+21-5=11
0.2+5.1+7.1+1.8=0+5+7+8=20
Matrizes - Operações
2011
1335
1445
85
13
11
26
1750
0418
3602
:Ex
53
Vamos trabalhar de novo? ☺
1
2
1
644
105
312
54
Resultado:
10
4
1
1
2
1
644
105
312
55
De novo? AB=CCalcule C
425
301
43
12
B
A
56
Resultado
25823
223
425
301
43
12
C
B
A