• Nenhum resultado encontrado

Extra 01 Conceitos Matemáticos

N/A
N/A
Protected

Academic year: 2018

Share "Extra 01 Conceitos Matemáticos"

Copied!
38
0
0

Texto

(1)

Conceitos Matemáticos

Computação Gráfica – DCC065

(2)

Introdução

 Computação Gráfica utiliza muitos conceitos

matemáticos

 Muitos dos conceitos não são complicados,

mas precisamos entendê-los bem para aprendermos certas técnicas

 Hoje revisaremos os seguintes tópicos:

 Sistemas de coordenadas

(3)

Ideia

Geral

Images taken from Hearn & Baker, “Computer Graphics with OpenGL” (2004)

(4)

Sistemas de Coordenadas 2D

 Quando criamos uma imagem no computador,

a cena é definida usando geometria simples

 Para cenas 2D nós

usaremos o sistema de coordenadas cartesianas 2D

 Todos os objetos serão

definidos usando pares

y axis

P

(5)

Sistemas de Coordenadas 2D

x y

(2, 3)

(2, 7) (7, 7)

(7, 3)

2 7

(6)

Sistemas de Coordenadas 3D

 Para cenas tridimensionais, basta adicionar

uma coordenada extra

y

(7)

Mão esquerda ou mão direita?

 Há duas formas de pensarmos em sistemas

de coordenadas 3D – baseado na mão esquerda e baseado na mão direita

Sistema baseado na mão direta Sistema baseado na mão esquerda

Im

ag

es

tak

en

fr

om

He

arn

& Bak

er,

“Co

m

pu

ter

G

rap

hi

cs

w

ith

O

pe

nG

L”

(20

04

(8)

Mão esquerda ou mão direita?

 Há duas formas de pensarmos em sistemas

de coordenadas 3D – baseado na mão esquerda e baseado na mão direita

arn

& Bak

er,

“Co

m

pu

ter

G

rap

hi

cs

w

ith

O

pe

nG

L”

(20

04

)

Usaremos o

(9)

Pontos e Linhas

 Pontos:

 Um ponto no espaço bidimensional é simbolizado

por um par ordenado

(x, y)

 Em três dimensões um ponto é simbolizado pela

tripla

(x, y, z)

 Linhas:

 Uma linha é definida atráves de um ponto inicial e

um ponto final

 Em 2d: (xstart, ystart) a (xend, yend)

(10)

Pontos e Linhas (cont…)

y

(2, 3)

(6, 7)

(7, 1)

(7, 3) (2, 7)

(11)

A equação de uma linha

 A equação da linha é

dada pela equação:

 onde:

 A equação da linha nos dá o valor

correspondente de

y

para cada valor de

x

x y

y0 yend

xend x0

b

x

m

y

0 0

x

x

y

y

m

end end

0 0

m

x

y

b

(12)

Um exemplo simples

 Vamos desenhar uma pequena porção da

linha dada pela equação:

 Basta encontrar o valor da coordanda

y

para

x

5

4

5

3

(13)

Um exemplo simples (cont)

x y

0 1 1

2 2

3 4 5 6 7 8 9 10 3

(14)

Um exemplo simples (cont)

Por exemplo, vamos variar x de 2 a 7

(15)

Vetores

 Vetores:

 Um vetor é definido pela diferença entre dois

pontos

 Importante lembrar que um vetor possui uma

direção e um tamanho

 Para que servem vetores em CG?

 Um vetor nos mostra como mover algo de um

ponto a outro

 São especialmente importantes em transformações

(16)

Vetores (2D)

 Para determinar o vetor entre dois pontos,

simplesmente subtraia as coordenadas dos pontos

1 2

P

P

V

)

,

(

x

2

x

1

y

2

y

1

)

3

7

,

1

6

(

)

4

,

5

(

y

P2 (6, 7)

P1 (1, 3) V

P2 (10, 7)

P1 (5, 3) V P2 (7, 10)

P1 (2, 6)

(17)

Vetores (3D)

 Em 3D um vetor é calculado da mesma

forma que vetores em 2D

1 2 P P

V  

) ,

,

(x2x1 y2y1 z2z1

) , ,

(Vx Vy Vz

x axis y axis

z axis

P1

P2

Então para o ponto (2, 1, 3) e (7, 10, 5) obteríamos

) 2 , 9 , 5 (

) 3 5

, 1 10 , 2 7

(

 

(18)

Operações Vetoriais

 Há várias operações importantes que

precisamos saber realizar com vetores:

 Calcular o tamanho do vetor

 Adição de Vetores

 Multiplicação do vetor por um escalar

 Produtor Escalar

(19)

Operações Vetoriais:

Tamanho do Vetor

 Calcular o tamanho de um vetor é fácil tanto

em 2D:

 Quanto em 3D:

2 2

|

|

V

V

x

V

y

2 2

2

|

(20)

Operações Vetoriais:

Soma de vetores

 A soma de dois vetores é calculada através da

soma de suas componentes correspondentes

)

,

(

1 2 1 2

2

1

V

V

x

V

x

V

y

V

y

V

y

V2

y

(21)

Operações Vetoriais:

Multiplicação por escalar

 A multiplicação de um vetor por um escalar

ocorre através da multiplicação de cada componente do vetor pelo escalar

)

,

(

sV

x

sV

y

sV

x y

sV

(sVx, sVy)

x y

V

(22)

Outras Operações Vetoriais

 Há outras operações importantes que serão

vistas no decorrer do curso

 As principais são:

 Produto Escalar (dot product)

(23)

Matrizes

 Uma matriz é simplesmente uma grade de

números

 Entretanto, ao utilizarmos operações

matriciais nós seremos capazes de realizar inúmeras operações matemáticas em CG de forma extremamente rápidas

           6 0 2 3 4 10 13 11 1

1 2 3 4

(24)

Operações Matriciais

 As operações matriciais importantes para

este curso são:

 Multiplicação por escalar

 Adição

 Multiplicação

 Transposta

(25)

Operações Matriciais:

Multiplicação por Escalar

 Para multiplicar os elementos de uma matriz

por um escalar basta multiplicar cada componente pelo escalar

(26)

Operações Matriciais:

Adição

 Para somar duas matrizes simplesmente

some todos os elementos correspondentes

 Exemplo:                                          z i y h x g w f v e u d t c s b r a z y x w v u t s r i h g f e d c b a             

(27)

Operações Matriciais:

Multiplicação

 Podemos multiplicar duas matrizes A e B

desde que o número de colunas de A seja igual ao número de linhas de B

 Então, se tivermos uma matriz A

m

por

n

e

uma matriz B

p

por

q

teremos a multiplicação:

C=AB

 onde C será uma matriz

m

por

q

cujos

elementos serão calculados da seguinte forma:

n

k

ki ik

ij

a

b

c

(28)

Operações Matriciais:

Multiplicação (cont…)

 Exemplos:

?

    

 

  

 

  

 

 3 4

2 1

8 7

1

2 5 0

?

  

 

  

 

6 5 4 3 2

(29)
(30)

Operações Matriciais:

Multiplicação (cont…)

 Exemplos:                                                    28 38 4 22 26 3 4 * 8 2 * 2 4 * 7 2 * 5 4 * ) 1 ( 2 * 0 3 * 8 1 * 2 3 * 7 1 * 5 3 * ) 1 ( 1 * 0 4 3 2 1 8 7 1 2 5 0

1*4 2*5 3*6

  

32 6

5 4 3 2

1    

(31)

Operações Matriciais:

Multiplicação (cont…)

 Exemplos:                                                    28 38 4 22 26 3 4 * 8 2 * 2 4 * 7 2 * 5 4 * ) 1 ( 2 * 0 3 * 8 1 * 2 3 * 7 1 * 5 3 * ) 1 ( 1 * 0 4 3 2 1 8 7 1 2 5 0

1*4 2*5 3*6

  

32 6

5 4 3 2

1    

(32)

Operações Matriciais:

Multiplicação (cont…)

Atenção!

A multiplicação de matrizes não é uma operação comutativa, então:

(33)

Operações Matriciais:

Transposta

 A transposta de uma matriz

M

, escrita como

M

T será obtida através da inversão das linhas pelas colunas de

M

 Por exemplo:

  

 

  

   

  

 

6 5 4

3 2 1

6 5

4

3 2

(34)

Outras Operações Matriciais

 Há outras operações matriciais importantes

que serão necessárias no decorrer deste curso

 Algumas destas operações:

 Determinante de uma matriz

(35)

Resumo

 Nesta aula fizemos uma breve revisão sobre

alguns aspectos matemáticos que serão necessários no decorrer do curso como:

 Sistemas de coordenadas

 Noções sobre pontos, linhas, vetores e matrizes

 Operações vetoriais e matriciais.

 Estas noções matemáticas serão aplicadas

(36)

Saiba mais!

Mathematics for Computer Graphics

John Vince

2ª Edição, Springer, 2006

Este livro não foi desenvolvido para matemáticos, mas sim, para

(37)

Saiba mais!

Computer Graphics, C Version

Apêndice A

Contém um resumo dos principais recursos matemáticos utilizados na Computação Gráfica e fornece a base necessária para o bom

entendimento do restante do livro.

(38)

Exercícios

1. Faça um programa que desenhe a linha y =

½x + 2 de x = 1 a x = 9, ponto a ponto.

2. Faça um programa que mostre o vetor

resultante da soma entre dos vetores V1 e V2

abaixo.

Ajuste a janela de renderização de forma adequada.

) . , . (

V1  3 0 2 5 V2(3.1,6.3)

) . , . (

V2  5 0 2 0 )

. , . (

Referências

Documentos relacionados

Contudo, este não é um estudo exaustivo sobre o “espaço de vida” das famílias, mas tão somente a aplicação de uma metodologia e as análises de sua validade enquanto aporte

A coleta de dados deu-se através da aplicação da bateria de testes para avaliação de parâmetros de saúde e desempenho motor como: medidas de dimensão corporal

a) Conhecimento antigo: os conceitos matemáticos são utilizados pelos alunos como ferramentas explícitas para resolver, pelo menos em parte, os problemas propostos. Neste caso,

Baseado nas variações das dimensões geométricas, como raio de curvatura, altura da ponteira, distância entre anodo e catodo, e também na tensão entre anodo e catodo, serão

•Por meio do layout ou arranjo físico, você irá definir como será o planejamento do espaço físico a ser ocupado para as operações do negócio, que envolve.. • Representa a

Entretanto, para o controle da mancha marrom de alternaria (MMA) são empregadas táticas dentro do manejo integrado utilizando produtos alternativos como o extrato etanólico de

sedentários onde a espessura da camada de osso compacto é ligeiramente maior que a espessura dos ossos das ratas treinadas, o interior destes ossos estavam ocos ou

-Identificar as diferenças entre ementas e cartas, bem como as diferentes tipologias. -Enumerar os cuidados necessários à elaboração das ementas e das cartas. -Identificar a