• Nenhum resultado encontrado

IA725 Computação Gráfica I

N/A
N/A
Protected

Academic year: 2021

Share "IA725 Computação Gráfica I"

Copied!
17
0
0

Texto

(1)

IA725 – Computação Gráfica I

Professores:

Léo Pini Magalhães (

[email protected]

)

Wu Shin – Ting (

[email protected]

)

Sala: PE-24

Horário: Segundas e quartas, das 10:00h às 12:00h

http://www.dca.fee.unicamp.br/cursos/IA725/1s2010

Computação Gráfica

é a área da

Ciência

da Computação

que estuda a

construção

de imagens

por computadores, a partir de

(2)

Aplicações



Arte digital



Publicidade



Entretenimento (Jogos, Cinema)



Arquitetura



Engenharia (CAD/CAM)



Simulações



Medicina



Geoprocessamento



Visualização de Informação etc

lógico-aritmético Inteligências lógico-aritmética linguística musical espacial corporal intra-/interpessoal naturalista existencial

(3)

Sem inteligências “espacial” e “naturalista”

,

• como as máquinas podem “ver” figuras,

cor, tons e sombreamentos?

• como as máquinas podem produzir, a

partir de conceitos, imagens próximas à

nossa percepção ou “recriar” experiências

visuais?

Áreas Correlatas

Modelos

Modelagem Geométrica

Processamento de Imagens

Síntese de

Imagens

Análise de

Imagens

Imagens

Imagens

Imagens

Visão

Computacional

Computação

Gráfica

Objetos

Físicos

Interações

Realidade Virtual

Escanneamento 3D

(4)

// top face p0 = {x:-50, y:-50, z:-50}; p1 = {x:50, y:-50, z:-50}; p2 = {x:50, y:-50, z:50}; p3 = {x:-50, y:-50, z:50}; // botton face p4 = {x:-50, y:50, z:-50}; p5 = {x:50, y:50, z:-50}; p6 = {x:50, y:50, z:50}; p7 = {x:-50, y:50, z:50}; pointArray = [p0, p1, p2, p3, p4, p5, p6, p7];

// p0 to p8 , the 3d points of a cube;

Paradigma

Linguagem

Matemática

Concepção

Linguagem

de

Programação

Cubo Representação numérica

Duas alternativas

Conceber as formas em 3D Conceber as formas em 2D

(5)

Olho Reduzido

células fotoreceptoras: bastonetes(sinais acromáticos) e cones(sinais cromáticos)

(células ganglionares) células conversoras dos sinais visuais em sinais neurais/elétricos

Projeções Radiações Sinais luminosos Sinais elétricos

Sistema Visual

Sinais visuais Respostas Fóvea ou mancha amarela Conessensíveis a comprimento de onda curto, médio e longo

Sensação de cores

(6)

Direção dos Raios Luminosos

Paradigma

Linguagem

Matemática

Concepção

Linguagem

de

Programação

Cubo Representação numérica: •Geometria

•Trajetória dos raios •Cor

(7)

Pontos

Distintas formas de identificação

por números



Coordenadas cartesianas



Coordenadas polares



Coordenadas cilíndricas



Coordenadas esféricas

y Cartesianas x R Polares θ Esféricas

n valores escalares no espaço R

n

v

Vetores

Q3=(x,y)

“Diferença” entre 2 pontos

v = Q

i

– P

i



Magnitude (|v|)



Orientação

P2 Q2 Q4 Q1 P4 P1 P3 ex

ey

Elementos geométricos que

podem ser manipulados

algebricamente.

(8)

Operações sobre Vetores

Multiplicação por um escalar

Adição Subtração

Operações sobre Vetores

Produto Escalar e Vetorial

|a|2= a.a

cosα= a.b/|a||b|

n = a x b

senα= |a x b|/|a||b|

(9)

Sistemas de Referência 3D

ez ex ey ex ez ey Mão-direita Mão-esquerda

Combinações Lineares

(10)

Combinações Lineares

n

n

v

a

v

a

v

a

v

r

=

1

r

1

+

2

r

2

+

K

+

r

i

a

: escalares

n

v

v

v

r

,

r

,

K

,

r

2

1

: vetores

n

v

v

v

r

,

r

,

K

,

r

2

1

são

linearmente dependentes

se existem

a

i

nem todos nulos, tais que

0

2

2

1

1

v

+

a

v

+

+

a

n

v

n

=

a

r

r

K

r

,

Em caso contrário, eles são

linearmente independentes

.

Transformações

n

n

v

a

v

a

v

a

v

r

=

r

+

r

+

K

+

r

2

2

1

1

n

n

v

b

v

b

v

b

w

r

=

r

+

r

+

K

+

r

2

2

1

1

v

r

w

r

1

v

r

2

v

r

1

v

r

2

v

r

T

T

(11)

Álgebra Linear

n

n

v

a

v

a

v

a

v

r

=

r

+

r

+

K

+

r

2

2

1

1

n

n

v

b

v

b

v

b

w

r

=

1

r

1

+

2

r

2

+

K

+

r

=

n

o

n

nn

n

n

n

n

w

w

w

v

v

v

t

t

t

t

t

t

t

t

t

M

M

L

M

O

M

M

L

L

1

1

0

2

1

1

11

10

0

01

00

T

T

T

T

v

r

=

w

r

Métodos Numéricos

Solucionar

sistemas de

equações (p.ex.,

interseção de raios

luminosos com

superfícies)

(12)

// top face p0 = {x:-50, y:-50, z:-50}; p1 = {x:50, y:-50, z:-50}; p2 = {x:50, y:-50, z:50}; p3 = {x:-50, y:-50, z:50}; // botton face p4 = {x:-50, y:50, z:-50}; p5 = {x:50, y:50, z:-50}; p6 = {x:50, y:50, z:50}; p7 = {x:-50, y:50, z:50}; pointArray = [p0, p1, p2, p3, p4, p5, p6, p7];

// p0 to p8 , the 3d points of a cube;

Paradigma

Linguagem

Matemática

Concepção

Linguagem

de

Programação

Cubo Representação numérica

Processamento Gráfico



Envolve muitas operações em ponto flutuante.

Considere padrão IEEE.



A depuração é mais complexa.



Tem como objetivo produzir imagens

perceptualmente aceitáveis.



Pode ter a eficiência melhorada, se levarmos em

conta a arquitetura do sistema.

(13)

Sistema Gráfico

Sintese

Processamento

Análise

Interações

Exibição

Aquisição

Armazenamento

Processamento

Arquitetura Vetorial

(14)

Arquitetura Raster

API

Interface do Programa de Aplicação

Interface de programação das funcionalidades do

sistema



Funções gráficas integradas com as funções de

gerenciamento de janelas:

Java3D



Comandos gráficos independentes dos comandos

relacionados com o sistema de janelas:

OpenGL

,

(15)

OpenGL

OpenGL – Um Código-fonte

/* Definição da geometria e das fontes luminosas */

#include <GL/glut.h>

GLfloat light_diffuse[] = {1.0, 0.0, 0.0, 1.0}; /* Red diffuse light. */

GLfloat light_position[] = {1.0, 1.0, 1.0, 0.0}; /* Infinite light

location. */

GLfloat n[6][3] = { /* Normals for the 6 faces of a

cube

. */

{-1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {1.0, 0.0, 0.0},

{0.0, -1.0, 0.0}, {0.0, 0.0, 1.0}, {0.0, 0.0, -1.0} };

GLint faces[6][4] = { /* Vertex indices for the 6 faces of a

cube

. */

{0, 1, 2, 3}, {3, 2, 6, 7}, {7, 6, 5, 4},

{4, 5, 1, 0}, {5, 6, 2, 1}, {7, 4, 0, 3} };

(16)

OpenGL – Um Código-fonte

void displayBox(void) {

/* Enable a single OpenGL light. */

glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse); glLightfv(GL_LIGHT0, GL_POSITION, light_position); glEnable(GL_LIGHT0);

glEnable(GL_LIGHTING); /* Setup the view of the cube. */ glMatrixMode(GL_PROJECTION); gluPerspective(

/* field of view in degree */ 40.0, /* aspect ratio */ 1.0, /* Z near */ 1.0, /* Z far */ 10.0); glMatrixMode(GL_MODELVIEW); drawBox(); } void drawBox(void) { int i; gluLookAt(0.0, 0.0, 5.0, /* eye is at (0,0,5) */ 0.0, 0.0, 0.0, /* center is at (0,0,0) */ 0.0, 1.0, 0.); /* up is in positive Y direction */ for (i = 0; i < 6; i++) { glBegin(GL_QUADS); glNormal3fv(&n[i][0]); glVertex3fv(&v[faces[i][0]][0]); glVertex3fv(&v[faces[i][1]][0]); glVertex3fv(&v[faces[i][2]][0]); glVertex3fv(&v[faces[i][3]][0]); glEnd(); } }

Quais profissões?

Artista/Designer

Utilizam ferramentas computacionais para criar

soluções de visualização e interatividade.

Engenheiros

Aplicam técnicas conhecidas para a

implementação de ferramentas computacionais

capazes de gerar e processar imagens.

Pesquisadores

Desenvolvem tecnologias de hardware e software

para síntese de imagens foto-realistas

(17)

O que se estuda?

Perfil de Artista/Designer



Ferramentas (AutoCAD, Maya, Photoshop,

CorelDraw, Premiere, etc)



Artes

Perfil de Engenheiro



Programação



Projetos Digitais



Matemática Básica (Trigonometria, Transformadas,

Cálculo vetorial, Álgebra e Métodos Numéricos)



Física Básica (Óptica, Luz, Cinemática e Dinâmica)

Perfil de Pesquisador



Programação



Matemática Avançada



Física Avançada

Referências

Documentos relacionados

Caltrate ® 600 + M é especialmente formulado com carbonato de cálcio, que tem biodisponibilidade tão boa quanto à do leite, e vitamina D, elemento essencial na manutenção de

O objetivo é minimizar o número de bits que devem ser transmitidos para o decodificador de tal forma que ele possa fazer a transformada inversa e reconstruir a imagem: uma

Director of the Department of Dermatology, Professor of Dermatology (School of Biomedicine) – Head of the Department - Service of Dermatology, Centro Hospitalar do Porto, EPE

Objeto: Autorizar a Interessada, inscrita no CNPJ/MF sob o nº 31.428.952/0001-34, a implantar e explorar a UFV Raios do Parnaíba I, CEG UFV.RS.PI.043203- 2.01, sob o regime de

Este trabalho apresenta algumas abordagens sobre políticas públicas, sistema único de saúde (SUS) e algumas experiências das políticas públicas de saúde no município de

Consulte a Secção 11 para obter informações pormenorizadas sobre sintomas e efeitos na saúde.. Classificação conforme Regulamentação (EC) 1272/2008 [CLP/GHS] SECÇÃO

III - Não ter abandonado o exercício do cargo, não haver sido dele destituído no próprio condomínio ou em outros condomínios por irregularidade reconhecida em

Honwana (2013, 9) desenvolve em seu livro cinco argumentos principais: 1) a maioria dos jovens, particularmente africanos, vive em.. juventude no mundo hodierno; 4) a condição