Computa - PowerPoint PPT Presentation

About This Presentation
Title:

Computa

Description:

Computa o Gr fica: Aula2: Curvas e Superf cies http://www.fei.edu.br/~psergio psergio_at_fei.edu.br Curvas e Superf cies: as curvas de B zier Resultado Curvas e ... – PowerPoint PPT presentation

Number of Views:136
Avg rating:3.0/5.0
Slides: 48
Provided by: psergio
Category:
Tags: bezier | computa

less

Transcript and Presenter's Notes

Title: Computa


1
Computação Gráfica Aula2 Curvas e Superfícies
  • http//www.fei.edu.br/psergio
  • psergio_at_fei.edu.br

2
Curvas e Superfícies
  • As Curvas de Hermite

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
Curvas e Superfícies
  • As Curvas de Bézier
  • 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 elesAdobe, 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 n2.
  • 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 n3.
Que leva à expressão
29
Curvas e Superfícies as curvas de Bézier
Algoritmo de Casteljau
30
Curvas e Superfícies as curvas de Bézier
Aspectos Computacionais
  • As curvas de Bézier são computacionalmente
    baratas, mesmo com
  • uma discretização de t muito pequena.
  • Manuseio das curvas
  • RESUMO
  • Curva Poligonal
  • Avaliação por polinômios de Bernstein
  • Algoritmo de Casteljau
  • Número de pontos controle e grau são
    interdependentes
  • Propriedade de Convex Hull

31
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.
32
Curvas e Superfícies as curvas de Bézier
Funções para Usar no Lab
  • // variável Global para os Pontos de Controle
  • GLfloat ctrlpoints43
  • -4.0, -4.0, 0.0, -2.0, 4.0, 0.0,
  • 2.0, -4.0, 0.0, 4.0, 4.0, 0.0
  • // Função na Main para a criação da Curva
  • glMap1f(GL_MAP1_VERTEX_3, 0.0, 1.0, 3, 4,
    ctrlpoints00)
  • glEnable(GL_MAP1_VERTEX_3)

33
Curvas e Superfícies as curvas de Bézier
Funções para Usar no Lab
void Desenha2() int i // avaliação
da Curva glClear(GL_COLOR_BUFFER_BIT)
glColor3f(0.0, 0.0, 0.0) glBegin(GL_LINE_STRIP
) for (i0 i lt30 i)
glEvalCoord1f((GLfloat) i/30.0) glEnd()
// Plotagem dos pontos de controle
glPointSize(5.0) glColor3f(1.0, 0.0, 0.0)
glBegin(GL_POINTS) for (i0 i lt 4 i)
glVertex3fv(ctrlpointsi0)
glEnd() glFlush()
34
Curvas e Superfícies as curvas de Bézier
Resultado
35
Curvas e Superfícies
B-Splines
  • 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.

36
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.

37
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.
38
Curvas e Superfícies B-Splines
para k 2
39
Curvas e Superfícies B-Splines
para k 3
40
Curvas e Superfícies B-Splines
para k 4
41
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
42
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
43
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.
44
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
45
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
46
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
47
Curvas e Superfícies NURBS em OpenGL
Está curioso por mais detalhes interessantes?
... ... não perca as aulas de LAB!!!
Write a Comment
User Comments (0)
About PowerShow.com