A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Computação Gráfica: Aula2: Curvas e Superfícies

Cópias: 2
Computação Gráfica: Aula2: Curvas e Superfícies

Computação Gráfica: Aula2: Curvas e Superfícies

Apresentações semelhantes


Apresentação em tema: "Computação Gráfica: Aula2: Curvas e Superfícies"— Transcrição da apresentação:

1 Computação Gráfica: Aula2: Curvas e Superfícies

2 Curvas e Superfícies As Curvas de Hermite P2 P1 T2 T1

3 Curvas e Superfícies: Curvas de Hermite

4 Curvas e Superfícies: Curvas de Hermite

5 Curvas e Superfícies: Curvas de Hermite

6 Curvas e Superfícies: Curvas de Hermite

7 Curvas e Superfícies: Curvas de Hermite

8 Curvas e Superfícies: Curvas de Hermite

9 Curvas e Superfícies: Curvas de Hermite

10 Curvas e Superfícies: Curvas de Hermite

11 Curvas e Superfícies: Curvas de Hermite

12 Curvas e Superfícies: Curvas de Hermite
Em resumo e colocando em forma matricial, temos ...

13 Curvas e Superfícies: Curvas de Hermite

14 Curvas e Superfícies: Curvas de Hermite

15 Curvas e Superfícies: Curvas de Hermite

16 Curvas e Superfícies: Curvas de Hermite

17 Curvas e Superfícies: Curvas de Hermite
Juntando as idéias ...

18 Curvas e Superfícies: Curvas de Hermite
Finalmente ...

19 Curvas e Superfícies: Curvas de Hermite
Finalmente ...

20 As Curvas de Bézier Curvas e Superfícies
Desenvolvida por Pierre Bézier durante seus trabalhos em projetos de automóveis para a Renault francesa no início da década de 1960. A grande maioria dos Softwares de Computação Gráfica disponíveis no mercado usam o conceito de Curvas de Bézier. Entre eles:Adobe, Corel Draw, AutoCad, Paint Shop Pro, 3D Studio Max

21 Curvas e Superfícies: as curvas de Bézier
Esse tipo de curva, por não usar o conceito de vetor e apenas pontos, é mais compreensível pelos usuários. Para ajuste por u polinômio de grau n, a curva de Bézier pode ser gerada por 3, 4, até n-1 pontos de controle. Geralmente, é suficiente usar 4 pontos, gerando uma curva cúbica. A curva de Bézier passa pelo primeiro e último ponto, e usa os demais para construir sua tangente.

22 Curvas e Superfícies: as curvas de Bézier

23 Curvas e Superfícies: as curvas de Bézier
Essa propriedade é chamada de propriedade normalizante, e força a curva gerada a ficar inteiramente dentro da figura convexa (convex hull) definida pelos pontos de controle Bi

24 Curvas e Superfícies: as curvas de Bézier
Conexão de vários segmentos de curvas de graus menores para simplificação da expressão

25 Curvas e Superfícies: as curvas de Bézier
continuidade C0 continuidade C2 continuidade C1 sem continuidade Níveis de continuidade da união entre duas curvas

26 Curvas e Superfícies: as curvas de Bézier
Como exemplo didático apenas, supomos n = 2. Nesse caso, temos três pontos e controle: B0, B1 e B2

27 Curvas e Superfícies: as curvas de Bézier
De uma forma mais compacta e elegante, temos a curva de Bézier quando n=2. T é o vetor de potências da curva de Bézier de grau n = 2 MB é a Matriz de coeficientes da curva de Bézier de grau n = 2 GB é a Matriz de pontos de controle que definem a geometria da curva de Bézier de grau n = 2

28 Curvas e Superfícies: as curvas de Bézier
De uma forma análoga, as matrizes da curva de Bézier quando n=3. Que leva à expressão:

29 B-Splines Curvas e Superfícies
Desenvolvida em 1967 por Schenberg, são até hoje os tipos mais populares em Computação Gráfica. Uma B-Spline é uma versão da curva de Bézier que não passa pelos pontos de controle, o que permite ela ser gerada para qualquer número de pontos de controle tornando o grau do polinômio independente do número de pontos bases.

30 Curvas e Superfícies: B-Splines
A forma básica da B-Spline é bastante semelhante à curva de Bézier. Nas B-Splines um conjunto Ni,k(t) combina o efeito dos pontos de controle Bi para gerar a curva.

31 Curvas e Superfícies: B-Splines
O parâmetro k controla a ordem de continuidade da curva, e n o número de pontos de controle Bi usados. Os parâmetros são chamados nós e podem ser qualquer seqüência crescente uniforme, não-uniforme, periódica ou não-periódica.

32 Curvas e Superfícies: B-Splines
para k = 2

33 Curvas e Superfícies: B-Splines
para k = 3

34 Curvas e Superfícies: B-Splines
para k = 4

35 Curvas e Superfícies: Curvas Racionais
As curvas vistas até agora possuem uma versão racional, que são normalizadas por pesos wi A vantagem da representação racional é a invariância com relação à projeção

36 Curvas e Superfícies: Curvas Racionais
De forma geral, para cada ponto da curva temos: para as curvas de Bézier para as curvas B-Splines

37 Curvas e Superfícies: Curvas Racionais
Para o caso específico da B-Spline, se o conjunto de nós for não-uniforme, e a curva tratar-se de uma superfície racional, ela é chamada de Non Uniform Rational Base Spline, mais conhecida como NURBS As curvas racionais, principalmente as NURBS, têm se tornado muito populares, sobretudo em sistemas complexos como CAD. Controlando os pesos, podemos controlar a suavidade da curva próximo aos pontos de controle correspondentes.

38 Curvas e Superfícies: Superfícies Bézier
As superfícies de Bézier são uma extensão direta das curvas de Bézier, uma vez que basta apenas acrescentar mais uma dimensão. A expressão para as superfícies de Bézier é a seguinte:

39 Curvas e Superfícies: Superfícies B-Splines
As superfícies de B-Splines, como as superfícies de Bézier, são uma extensão direta das curvas de B-Splines, uma vez que basta apenas acrescentar mais uma dimensão. A expressão para as superfícies de Bézier é a seguinte:

40 Curvas e Superfícies: Superfícies Racionais
Assim como as curvas, as superfícies possuem a versão racional, e da mesma forma são normalizadas por pesos wi

41 Curvas e Superfícies: NURBS em OpenGL
Para desenhar uma curva de Bézier em OpenGL, são necessários 2 passos básicos: 1- Definir um avaliador através da função glMap1 2 - Avaliar o polinômio criado em 1 através da função glEvalCoord1 glMap1(Glenum target, Type t0, Type t1, Glint Stride, Glint order, TYPE *points) target: define que tipo de ponto tem a curva, exemplo: GL_MAP1_VERTEX_3 t0: valor mínimo da faixa a ser avaliada, exemplo, 0.0 t1: valor máxima da faixa a ser avaliada, exemplo, 1.0 stride: número de pontos-flutuantes entre cada par de ponto de controle sequencial ordem: significa que o grau do polinômio criado é n = ordem -1 *points: ponteiro para o primeiro elemento de um vetor de pontos de controle glEvalCoord1(Type u): esta função avalia o polinômio criado com glMap1 para a faixa de valores t0-t1.

42 Curvas e Superfícies: NURBS em OpenGL
Está curioso por mais detalhes interessantes? ... ... não perca as aulas de LAB!!!


Carregar ppt "Computação Gráfica: Aula2: Curvas e Superfícies"

Apresentações semelhantes


Anúncios Google