Modelagem Geométrica SME0271 Curvas e Superfícies de Bézier Luiz Otávio Toratti ICMC-USP 07 de outubro de 2016
Curvas de Bézier Objetivo: Construir curvas de fácil controle para auxiliar no design e fabricação assistida por computador.
Algoritmo de De Casteljau Passo 1: Escolha três pontos de controle
Algoritmo de De Casteljau Passo 2: Dividir os segmentos na mesma proporção
Algoritmo de De Casteljau Passo 2: Dividir os segmentos na mesma proporção
Algoritmo de De Casteljau Passo 2: Dividir os segmentos na mesma proporção
Algoritmo de De Casteljau Passo 2: Dividir os segmentos na mesma proporção
Algoritmo de De Casteljau Passo 3: O último ponto obtido é um ponto da curva.
Algoritmo de De Casteljau
P(t) = P (2) 2 (t)
P(t) = P (2) 2 (t) P (2) 2 (t) = (1 t)p(1) 1 + tp (1) 2
P(t) = P (2) 2 (t) P (2) 2 (t) = (1 t)p(1) 1 + tp (1) 2 P (1) 1 (t) = (1 t)p 0 + tp 1
P(t) = P (2) 2 (t) P (2) 2 (t) = (1 t)p(1) 1 + tp (1) 2 P (1) 1 (t) = (1 t)p 0 + tp 1 P (1) 2 (t) = (1 t)p 1 + tp 2
P(t) = P (2) 2 { (t) P (j) (1 t)p (j 1) i (t) = i 1 (t) + tp(j 1) i (t), se j = 1, 2 P i, se j = 0.
Forma explícita P(t) = (1 t)p (1) 1 (t) + tp(1) 2 (t)
Forma explícita P(t) = (1 t)p (1) 1 (t) + tp(1) 2 (t) = (1 t)[(1 t)p 0 + tp 1 ] + t[(1 t)p 1 + tp 2 ]
Forma explícita P(t) = (1 t)p (1) 1 (t) + tp(1) 2 (t) = (1 t)[(1 t)p 0 + tp 1 ] + t[(1 t)p 1 + tp 2 ] = (1 t) 2 P 0 + 2t(1 t)p 1 + t 2 P 2
Forma explícita P(t) = (1 t)p (1) 1 (t) + tp(1) 2 (t) = (1 t)[(1 t)p 0 + tp 1 ] + t[(1 t)p 1 + tp 2 ] = (1 t) 2 P 0 + 2t(1 t)p 1 + t 2 P 2 Atenção nos coeficientes!
Forma matricial P(t) = (1 t) 2 P 0 + 2t(1 t)p 1 + t 2 P 2
Forma matricial P(t) = (1 t) 2 P 0 + 2t(1 t)p 1 + t 2 P 2 P 0 = [ (1 t) 2 2t(1 t) t 2] P 1 P 2
Forma matricial P(t) = (1 t) 2 P 0 + 2t(1 t)p 1 + t 2 P 2 = [ (1 t) 2 2t(1 t) t 2] = [ 1 t t 2] 1 0 0 2 2 0 1 2 1 P 0 P 1 P 2 P 0 P 1 P 2
Forma matricial P(t) = (1 t) 2 P 0 + 2t(1 t)p 1 + t 2 P 2 = [ (1 t) 2 2t(1 t) t 2] = [ 1 t t 2] 1 0 0 2 2 0 1 2 1 P 0 = [ 1 t t 2] M P 1 P 2 P 0 P 1 P 2 P 0 P 1 P 2
Bézier Cúbica Algoritmo de De Casteljau
Bézier Cúbica De forma análoga obtemos: Forma explícita P(t) = (1 t) 3 P 0 + 3t(1 t) 2 P 1 + 3t 2 (1 t)p 2 + t 3 P 3
Bézier Cúbica De forma análoga obtemos: Forma explícita P(t) = (1 t) 3 P 0 + 3t(1 t) 2 P 1 + 3t 2 (1 t)p 2 + t 3 P 3 Forma matricial 1 0 0 0 onde M = 3 3 0 0 3 6 3 0 1 3 3 1 P(t) = [ 1 t t 2 t 3] M P 1 P 2 P 3 P 0
Exercícios GeoGebra Construa a Bézier cúbica. MATLAB Implemente a forma explícita.
Curvas de Bézier (Geral) Definição (Forma recursiva) Dados n + 1 pontos de controle {P 0, P 1,..., P n }, definimos P(t) = P (n) n (t) onde P (j) i (t) = { (1 t)p (j 1) i 1 (t) + tp(j 1) i (t), se j > 0, P i, se j = 0 e t [0, 1].
Curvas de Bézier (Geral) Teorema (Forma explícita) Dados n + 1 pontos de controle {P 0, P 1,..., P n }, então P(t) = n P i B i,n (t) i=0 onde B i,n (t) = ( ) n t i (1 t) n i i são Polinômios de Bernstein de grau n, e t [0, 1].
Curvas de Bézier (Geral) Teorema (Forma explícita) Dados n + 1 pontos de controle {P 0, P 1,..., P n }, então P(t) = n P i B i,n (t) i=0 onde B i,n (t) = ( ) n t i (1 t) n i i são Polinômios de Bernstein de grau n, e t [0, 1]. OBS: Alterar um ponto de controle muda toda a curva (Controle global); O grau do polinômio cresce com o número de pontos de controle.
Curvas de Bézier Propriedades A curva está contida no fecho convexo do polígono de controle;
Curvas de Bézier Propriedades A curva está contida no fecho convexo do polígono de controle; A curva tangencia o polígono de controle no primeiro e último vértice;
Curvas de Bézier Propriedades A curva está contida no fecho convexo do polígono de controle; A curva tangencia o polígono de controle no primeiro e último vértice; A curva é invariante sob transformações afins: Translação; Escala; Rotação; etc.
Superfícies de Bézier Extensão das curvas de Bézier Dados (n + 1)(m + 1) pontos de controle. A Superfície de Bézier é dada pelo produto tensorial de curvas de Bézier: P(u, v) = m n P i,j B i,n (u)b j,m (v) j=0 i=0
Superfícies de Bézier Extensão das curvas de Bézier Dados (n + 1)(m + 1) pontos de controle. A Superfície de Bézier é dada pelo produto tensorial de curvas de Bézier: P(u, v) = m n P i,j B i,n (u)b j,m (v) j=0 i=0
Superfícies de Bézier Extensão das curvas de Bézier Dados (n + 1)(m + 1) pontos de controle. A Superfície de Bézier é dada pelo produto tensorial de curvas de Bézier: P(u, v) = m n P i,j B i,n (u)b j,m (v) j=0 i=0 Propriedades Os pontos de controle P 0,0, P 0,m, P n,0, P n,m estão não superfície; A superfície está contida no fecho convexo dos pontos de controle; As curvas de aresta são curvas de Bézier.
Superfícies Bicúbicas de Bezier Forma matricial P(u, v) = 3 3 P i,j B i,3 (u)b j,3 (v) j=0 i=0
Superfícies Bicúbicas de Bezier Forma matricial P(u, v) = = 3 j=0 i=0 3 P i,j B i,3 (u)b j,3 (v) 3 [ 1 u u 2 u 3] M P 1,j P 2,j B j,3(v) P 3,j j=0 P 0,j
Superfícies Bicúbicas de Bezier Forma matricial P(u, v) = 3 j=0 i=0 3 P i,j B i,3 (u)b j,3 (v) 3 [ = 1 u u 2 u 3] M P 1,j P 2,j B j,3(v) j=0 P 3,j P 0,0 P 0,1 P 0,2 P 0,3 = [ 1 u u 2 u 3] M P 1,0 P 1,1 P 1,2 P 1,3 P 2,0 P 2,1 P 2,2 P 2,3 P 3,0 P 3,1 P 3,2 P 3,3 P 0,j MT 1 v v 2 v 3
Exercício MATLAB Implemente a forma matricial da Bézier bicúbica.