Curvas e Superfícies. Profª Soraia Raupp Musse

Documentos relacionados
Curvas e Superfícies. Profª Soraia Raupp Musse

Curvas e Superfícies Paramétricas

Curvas e Superfícies

Professor: Computação Gráfica I. Anselmo Montenegro Conteúdo: - Objetos gráficos planares. Instituto de Computação - UFF

Curvas e Superfícies

Altamir Dias CURSO DE GRADUAÇÃO ENGENHARIA MECÂNICA ENGENHARIA DE CONTROLE E AUTOMAÇÃO

Curvas HERMITE. Figura 1 - Efeito oscilatório dos polinômios: [PAVLIDIS, 1984]

Departamento de Matemática

Computação Gráfica. Representação e Modelagem

Interpolação. Interpolação

Objetos Gráficos Espaciais

Transformações 3D. Soraia Raupp Musse

Histórico. Estado da Arte. Histórico. Modelagem de Objetos. Modelagem por arames (wireframes). Modelagem por superfícies (década de 60).

Técnicas de Animação. Soraia Raupp Musse

Introdução à Computação Gráfica Modelagem. Claudio Esperança Paulo Roma Cavalcanti

Instituto de Computação Bacharelado em Ciência da Computação Disciplina: Computação Gráfica Primeira lista de exercícios

14 AULA. Vetor Gradiente e as Derivadas Direcionais LIVRO

Computação Gráfica - 09

REPRESENTAÇÃO DE ARCOS POR CURVAS DE BEZIER

4 CURVAS PARAMÉTRICAS

Cálculo a Várias Variáveis I - MAT Cronograma para P2: aulas teóricas (segundas e quartas)

MAT 105- Lista de Exercícios

y (n) (x) = dn y dx n(x) y (0) (x) = y(x).

Matéria das Aulas e Exercícios Recomendados Cálculo II- MAA

UNIVERSIDADE ESTADUAL DE SANTA CRUZ UESC. 1 a Avaliação escrita de Cálculo IV Professor: Afonso Henriques Data: 10/04/2008

MAT Lista de exercícios

Superfícies (2) 1 Cilindro. Sadao Massago. 3 de novembro de Paramétrica. P curva. reta.

01. (UFRGS/2003) Se n é um número natural qualquer maior que 1, então n! + n 1 é divisível por. (A) n 1. (B) n. (C) n + 1. (D) n! - 1. (E) n!.

12 Qua 16 mar Coordenadas retangulares, representação Funções vetoriais paramétrica

Modelo. Representação de Objetos Tridimensionais. Malhas Poligonais. Modelagem Geométrica. Modelos Geométricos

2 - f: R R: y = x 2 Classicação: Nem injetora, nem sobrejetora.

CÁLCULO FUNÇÕES DE UMA E VÁRIAS VARIÁVEIS Pedro A. Morettin, Samuel Hazzan, Wilton de O. Bussab.

PARTE 10 REGRA DA CADEIA

Modelagem Geométrica: Boundary Representation

APLICAÇÕES NA GEOMETRIA ANALÍTICA

étodos uméricos ZEROS DE FUNÇÕES DE UMA OU MAIS VARIÁVEIS Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Fundamentos e Conceitos Básicos

a) 6% b) 7% c) 70% d) 600% e) 700%

MOVIMENTO 3D: REFERENCIAL EM TRANSLAÇÃO

Equações não lineares

4. Curvas Paramétricas e Transformações 2D

6 AULA. Equações Paramétricas LIVRO. META Estudar funções que a cada ponto do domínio associa um par ordenado

LISTA DE EXERCÍCIOS DE CAMPOS CONSERVATIVOS NO PLANO E NO ESPAÇO. CURVAS PARAMETRIZADAS, INTEGRAIS DE LINHA (COM RESPEITO A COMPRIMENTO DE ARCO).

Modelos de Objetos por Malhas Poligonais. Maria Cristina F. de Oliveira

2 Uma caixa d'água cúbica, de volume máximo, deve ser colocada entre o telhado e a laje de uma casa, conforme mostra a figura ao lado.

2.1. Construção da Pista

Modelação de Formas Geométricas

REPRESENTAÇÃO NUMÉRICA DO TERRENO

Universidade Federal de Alagoas Instituto de Matemática. Geometria. Prof. Thales Vieira

Aula 31 Funções vetoriais de uma variável real

UNIVERSIDADE FEDERAL DE ITAJUBÁ Pró-Reitoria de Graduação - PRG Coordenação de Processos Seletivos COPS

1. Determine o valor do integral curvilíneo do campo F (x, y, z) = xzî + xĵ + y k ao longo da linha (L), definida por: { x 2 /4 + y 2 /25 = 1 z = 2

Comprimento de Arco. 1.Introdução 2.Resolução de Exemplos 3.Função Comprimento de Arco 4.Resolução de Exemplo

E. S. JERÓNIMO EMILIANO DE ANDRADE DE ANGRA DO HEROISMO. Conteúdo Programáticos / Matemática e a Realidade. Curso de Nível III Técnico de Laboratório

1. as equações paramétricas da reta que contém os pontos A e B;

Primeiro Projeto de PG: Lista de Temas Selecionados

COMPUTAÇÃO GRÁFICA E INTERFACES

Algoritmos geométricos

MÉTODOS NUMÉRICOS. ENGENHARIA ELECTRÓNICA INDUSTRIAL e de COMPUTADORES

Funções de duas (ou mais)

Derivada de ordem n. Equação da recta tangente e da recta normal. Polinómio de Taylor

CAPÍTULO 1 Sistemas de Coordenadas Lineares. Valor Absoluto. Desigualdades 1. CAPÍTULO 2 Sistemas de Coordenadas Retangulares 9. CAPÍTULO 3 Retas 18

3.6 Erro de truncamento da interp. polinomial.

Imagem Vetorial x Imagem Matricial. Conversão Matricial de Primitivas Gráficas. Sistema de Coordenadas do Dispositivo. Problema

1 Para expressar um ponto intermediário em função dos pontos extremos, precisamos

AGRUPAMENTO DE ESCOLAS

Derivadas Parciais Capítulo 14

Equações paramétricas das cônicas

Cap. 4- Interpolação Numérica Definições. Censos de BH. Qual o número de habitantes na cidade de Belo Horizonte em 1975?

étodos uméricos INTERPOLAÇÃO, EXTRAPOLAÇÃO, APROXIMAÇÃO E AJUSTE DE FUNÇÕES Prof. Erivelton Geraldo Nepomuceno

x exp( t 2 )dt f(x) =

As Primitivas de f'(x) são o conjunto: { f(x): f(x)=2x + K, K real }= {..2x + 1.., 2x + 1/2,..2x + 0..,2x + 1/3,..2x }

Vetor Tangente, Normal e Binormal. T(t) = r (t)

CCI-22 LISTA DE EXERCÍCIOS

Características Principais. Introdução à Computação Gráfica Ray Tracing. Ray Casting. Contexto Histórico. Claudio Esperança Paulo Roma Cavalcanti

Lista de Exercícios de Cálculo 3 Terceira Semana

2.1 Mudança de variáveis em integral dupla

SCE-201 Computação Gráfica. Representação de Objetos Tridimensionais Modelos Poligonais

II. Funções de uma única variável

Computação Gráfica Rasterização de Curvas

2 Conceitos Básicos da Geometria Diferencial Afim

Rotações em 3D. Descrição dos problemas. Como mover entre 2 frames. Ângulos de Euler. Foley Notas do Dave (lecture 29)

Esta opção é utilizada para desenhar círculos, arcos, elipses, e outros grupos curvilíneos.

Cálculo Diferencial e Integral 2: Aproximações Lineares. Regra da Cadeia.

Escola Secundária de Santa Maria da Feira

Aula 2: Funções. Margarete Oliveira Domingues PGMET/INPE. Aula 2 p.1/57

MÉTODOS MATEMÁTICOS. Claudia Mazza Dias Sandra Mara C. Malta

Geometria Descritiva 28/08/2012. Elementos Primitivos da Geometria

Prof. MSc. David Roza José 1/27

Geometria Analítica. Geometria Analítica 28/08/2012

Coordenadas Polares. Exemplos: Representar em um sistema de coordenadas polares, os seguintes pontos: d) P 4,

UNIVERSIDADE FEDERAL DE PERNAMBUCO

Robótica. Linguagens de Programação para Robótica (manipuladores)

MATEMÁTICA UFRGS 2008

P2 de Cálculo a Várias Variáveis I MAT Data: 14 de maio de 2013

CANDIDATO: DATA: 20 / 01 / 2010

Universidade Federal do Paraná

Geometria Diferencial

Ordenar ou identificar a localização de números racionais na reta numérica.

Transcrição:

Curvas e Superfícies Profª Soraia Raupp Musse

Classificação Curvas Apenas comprimento 2

Classificação Superfícies Apenas área Cascas infinitesimalmente finas, ocas Abertas ou fechadas 3

Classificação Sólidos O interior também interessa Isto é um sólido? 4

Problema: Gerar uma curva suave que passe por pontos específicos B A C D 5

Solução: gerar uma curva no espaço, distribuindo pontos de maneira suave B A C D

Interpolação Princípio básico Alterar de forma incremental a posição de um ponto no espaço A base para a maioria das técnicas de animação é algum tipo de interpolação de valores.

Interpolação X Aproximação

Interpolação X Aproximação Na interpolação, a curva passa sobre todos os pontos definidos. Na aproximação, a curva começa sobre o ponto inicial e termina sobre o final. Os demais pontos são aproximados. Hermite, Catmull-Rom spline Bézier, curvas B-spline

Como podemos representar uma curva? Localização no espaço de um ponto que se move Como podemos descrever este conceito? 10

Possibilidades de Representações Alguns objetos podem ter mais de uma possibilidade para serem representados Exemplo: círculo centrado na origem com raio=1 x 2 y 2 Paramétrica1

Possibilidades de Representações Alguns objetos podem ter mais de uma possibilidade para serem representados Exemplo: círculo centrado na origem com raio=1 x 2 y 2 1 x( ) cos y( ) sen Implícita Paramétrica/explícita

Possibilidades de Representações Implícita: definida através de duas variáveis, mas não é dada uma maneira explícita de resolver y em função de x Função explícita de x e y em função de outra variável. x 2 y 2 1 x( ) cos y( ) sen Implícita Paramétrica

Tipos de Representação Representação não-paramétrica Representação por equações onde uma das coordenadas é determinada em função das outras Equações explícitas: y = f(x) Adequadas para a geração de novos pontos Exemplos Equações implícitas: f(x,y) = 0 Boas para fazer consistência Exemplos

Tipos de Representação Principais desvantagens das representações nãoparamétrica em CG É difícil definir a equação não paramétrica de uma curva que passe por um conjunto de pontos prédefinidos. Não permite a representação de curvas com laços 15

Tipos de Representação Representação Paramétrica Representação por equações onde as coordenadas são obtidas em função de um parâmetro Equações paramétricas: x = f(t) e y = g(t) Adequadas para gerar uma seqüência de pontos Classificadas de acordo com seus termos: linear (grau 1), quadrática (grau 2), cúbica (grau 3), transcendental (sin, cos, log,...)

Tipos de Representação Forma paramétrica Curvas paramétricas x = f(u) y = g(u) z = h(u) Superfícies Paramétricas x = f(u,v) y = g(u,v) z = h(u,v) Exemplo de equações paramétricas x = x0 + r cos α y = y0 + r sin α αe[0,2π] 17

Tipos de Representação Principais vantagens das formas paramétricas em CG Resolve os problemas da forma não paramétrica. A curva pode ser definida a partir de pontos de controle (é fácil de manipular interativamente). A curva pode ou não passar por um conjunto de pontos prédefinidos. A curva é aproximada por polinômios que definem as suas várias partes. O comportamento da curva em relação a cada um dos eixos é definido por equações independentes As coordenadas são obtidas em função de um parâmetro 18

Representação Paramétrica Para CG, representações paramétricas costumam ser as mais convenientes Assim, genericamente, uma curva 3D é Q(t)=[x(t) y(t) z(t)] x(t), y(t), z(t) são chamadas de funções-base (blending functions)

Representação Paramétrica A curva é definida através de um conjunto de pontos de controle que influenciam a forma da curva. Os nós são pontos de controle que pertencem à curva. A curva pode ser interpolada, passando nesse caso por todos os pontos de controle, ou pode ser aproximada, passando apenas em alguns pontos de controle ou mesmo nenhum. Os pontos de controle definem a fronteira de um polígono designado por convex hull. 20

Representação Paramétrica Parâmetro (t) é usado para percorrer a curva Pode ser associado ao tempo x(t) = fx(t) y(t) = fy(t) z(t) = fz(t)

Reta Paramétrica P(t)= P 0 + at P x = P x0 + at P y = P y0 + at P z = P z0 + at 22

Complexidade Quanto mais simples a equação da função de interpolação, mais rápida sua avaliação. Polinômios são fáceis de avaliar Mas... polinômios de que grau? f ( t) at b f t) at 2 bt c 3 2 ( f ( t) at bt ct d Linear Quadrático Cúbico

Complexidade Impacta na eficiência do algoritmo Grau menor que 3: Pouca flexibilidade. Grau maior que 3: Maior custo computacional com pouca vantagem prática. Por padrão, usa-se cúbicas. f ( t) at 3 bt 2 ct d

25

26

Continuidade Questão fundamental Métodos adequados: Hermite Catmull-Rom Blending de parábolas Curvas Bézier...

Continuidade Para assegurar a continuidade entre segmentos de curva, definem-se restrições adicionais de continuidade 2 tipos de continuidade: Continuidade paramétrica, denotada por C n onde n = grau de continuidade Continuidade geométrica, denotada por G n 28

Continuidade Continuidade Geométrica G0 Continuidade Paramétrica C0 Dois segmentos se encontram em um ponto Continuidade Geométrica G1 Direção das tangentes dos segmentos são iguais no ponto de junção Continuidade Paramétrica C1 Direção e magnitude das tangentes dos segmentos são iguais no ponto de junção Continuidade Paramétrica C2 Segunda derivada é igual, ou seja, a mesma aceleração 29

Controle Local Global

Métodos para representar curvas Hermite Bézier B-Spline

Hermite Definida a partir de restrições no ponto inicial e no ponto final. Os pontos propriamente ditos: P0 e P1 Vetores tangentes nestes pontos: m0 e m1

Hermite R 1 P 1 P 4 R 4 33

Hermite Vantagens Bem fácil de implementar Adequada para aplicações onde seja útil definir a curva em função dos vetores tangentes Passa nos pontos de controle (interpolação) Desvantagens Não garante, de forma automática, a continuidade entre os segmentos de curva É necessário os vetores tangentes terem a mesma direção e sentido Não permite controle local Alteração de um ponto de controle altera toda a curva 34

// use the parametric time value 0 to 1 for(int i=0;i!=lod;++i) { float Geometry[4][3] = { { 10,10,0 }, // Point1 {-10,5,-2 }, // Point2 { 5,-5,0 }, // Tangent1 { 5,10,0 } // Tangent2 }; unsigned int LOD=20; float t = (float)i/(lod-1); // calculate blending functions float b0 = 2*t*t*t - 3*t*t + 1; float b1 = -2*t*t*t + 3*t*t; float b2 = t*t*t - 2*t*t + t; float b3 = t*t*t - t*t; // calculate the x,y and z of the curve point float x = b0*geometry[0][0] + b1*geometry[1][0] + b2*geometry[2][0] + b3*geometry[3][0] ; float y = b0*geometry[0][1] + b1*geometry[1][1] + b2*geometry[2][1] + b3*geometry[3][1] ; Código float z = b0*geometry[0][2] + b1*geometry[1][2] + b2*geometry[2][2] + b3*geometry[3][2] ; } // specify the point glvertex3f( x,y,z ); 35

Bézier Curva polinomial desenvolvida em 1962 por Pierre Bézier. Utilizada no projeto de automóveis (Renault). Baseada no algoritmo de De Casteljau em 1957. Curva de aproximação. Controle global.

Bézier

Bézier P(t)= (1 t) 2 P 0 + 2 t (1 t) P 1 + t 2 P 2

Bézier P(t) = (1 t) 3 P 0 + 3 t (1 t) 2 P 1 + 3 t 2 (1 t) P 2 + t 3 P 3

// use the parametric time value 0 to 1 for(int i=0;i!=lod;++i) { float Geometry[4][3] = { { 10,10,0 }, // Point1 {-10,5,-2 }, // Point2 { 5,-5,0 }, // Tangent1 { 5,10,0 } // Tangent2 }; unsigned int LOD=20; float t = (float)i/(lod-1); float it = 1.0f-t; // calculate blending functions float b0 = t*t*t; float b1 = 3*t*t*it; float b2 = 3*t*it*it; float b3 = it*it*it; // calculate the x,y and z of the curve point float x = b0*geometry[0][0] + b1*geometry[1][0] + b2*geometry[2][0] + b3*geometry[3][0] ; float y = b0*geometry[0][1] + b1*geometry[1][1] + b2*geometry[2][1] + b3*geometry[3][1] ; float z = b0*geometry[0][2] + b1*geometry[1][2] + b2*geometry[2][2] + b3*geometry[3][2] ; } // specify the point glvertex3f( x,y,z ); 40

Bézier De Casteljau: algoritmo geométrico para construção de curvas Bézier.

Algoritmo de De Casteljau p 1 p 12 u = 0.25 p 01 p 02 p 0 p 2

Algoritmo de De Casteljau p 1 u = 0.5 p 01 p 02 p 12 p 0 p 2

Algoritmo de De Casteljau p 1 p 01 u = 0.75 p 02 p 12 p 0 p 2

Algoritmo de De Casteljau p 1 p 02 (u) p 0 p 2

Bézier Propriedade: Convex Hull Uma curva de Bézier está completamente dentro do maior polígono convexo, formado pelos pontos de controle.

Bézier Transformações Executar as transformações (S,R,T) na curva é equivalente a realizar as transformações nos pontos de controle.

Emendando Curvas Bézier Continuidade C 0 : Último ponto da primeira = primeiro ponto da segunda Continuidade C 1 : C 0 e segmento p 2 p 3 da primeira com mesma direção e comprimento que o segmento p 0 p 1 da segunda Continuidade C 2 : C 1 e + restrições sobre pontos p 1 da primeira e p 2 da segunda p 1 p 2 p 2 p 0 p 3 p 0 p 1 p 2

B-Spline Definida por quatro pontos de controle (P 1, P 2, P 3, P 4 ). Não passa por nenhum ponto de controle. Curva de aproximação Mais suave que as anteriores Mais fácil garantir continuidade paramétrica Controle local.

B-Spline Cada segmento é definido por 4 pontos, cada ponto influencia 4 segmentos de curva (exceto P0 e Pn) Knots são os pontos de junção entre os segmentos de curva 50

B-Spline Representação matricial

// use the parametric time value 0 to 1 for(int i=0;i!=lod;++i) { float Geometry[4][3] = { { 10,10,0 }, // Point1 {-10,5,-2 }, // Point2 { 5,-5,0 }, // Tangent1 { 5,10,0 } // Tangent2 }; unsigned int LOD=20; float t = (float)i/(lod-1); float it = 1.0f-t; // calculate blending functions float b0 = it*it*it/6.0f; float b1 = (3*t*t*t - 6*t*t +4)/6.0f; float b2 = (-3*t*t*t +3*t*t + 3*t + 1)/6.0f; float b3 = t*t*t/6.0f; // calculate the x,y and z of the curve point float x = b0*geometry[0][0] + b1*geometry[1][0] + b2*geometry[2][0] + b3*geometry[3][0] ; float y = b0*geometry[0][1] + b1*geometry[1][1] + b2*geometry[2][1] + b3*geometry[3][1] ; float z = b0*geometry[0][2] + b1*geometry[1][2] + b2*geometry[2][2] + b3*geometry[3][2] ; } // specify the point glvertex3f( x,y,z ); 52

Superfícies Paramétricas Ideia de multiplicação de 2 curvas A informação geométrica que define uma curva passa a ser ela própria uma função de uma variável paramétrica 53

Superfícies Paramétricas A forma geral de uma superfície 3D na sua representação paramétrica é: f ( u, v) ( f ( u, v), f ( u, v), f ( u, v)) x y z 54

Malhas de Polígonos Coleção de arestas, vértices e polígonos conectados Diferentes formas de armazenar a estrutura do polígono Vertex list + faces list Vertex list + edges list + faces list 55

Animação de Cabelos http://http.developer.nvidia.com/gpugems2/gpugems2_chapter23.html 56

Animação de Cabelos Modelo 57

Mais exemplos 58

Brave (Disney) Desenvolveram um simulador chamado Taz. O cabelo foi modelado usando sistema Massamola. No entanto, os cachos são bem formados e deveriam ser rígidos, mas com movimento, sendo contraditório a resistência das molas. Deveriam voar ao vento, mas não muito. Além disto, tinham os problemas da intersecção e colisão que tornaram o projeto desafiador. O simulador trata grupo de cabelos usando multi-threads. Os cabelos-chave são B-splines que foram usadas para ihnterpolar o resto dos cabelos. Merida had 1500 hand placed curves which interpolate to some 111,000 curves at final render. Merida s hair was simulated at about 20 to 30 seconds a frame. 59

Brave (Disney) http://www.thepixarpodcast.com/category/all-episodes http://www.wired.com/underwire/2012/06/pl_bravehairtech/ 60

Curvas e Superfícies Profª Soraia Raupp Musse