Baixe o app para aproveitar ainda mais
Prévia do material em texto
Robson Lins CCT – DEI/UNICAP http://www.dei.unicap.br/rcl/cg CURVAS E SUPERFÍCIES DE BÉZIER Computação Gráfica - Robson Lins Curvas Cúbicas formadas por concatenação de trechos de curva descritos por polinômios do terceiro grau tipos mais comuns: curvas de Bézier, “splines” conservam a curvatura nas ampliações permitem modelagem rápida e flexível de contornos arbitrários e desenhados à mão livre Computação Gráfica - Robson Lins Algoritmo de Castejau’s 0 1 2 3 4 5 0 1 2 3 4 5 6 P0 P1 P2 P3 P01 P12 P23 Q1 Q2 P Computação Gráfica - Robson Lins 0 1 2 3 4 5 0 1 2 3 4 5 6 Algoritmo de Castejau’s Computação Gráfica - Robson Lins O processo inicia com L+1 pontos de controle, p0, p1, p2, ..., pL No primeiro laço, gera-se um novo conjunto de L pontos, usando as fórmulas Curvas de Bézier p t p t p k Lk k k (1) ( ) , , , , , 1 0 1 2 11 0 t 1 Computação Gráfica - Robson Lins Para fazer o segundo laço, repete-se as fórmulas sobre os pontos pk (1) para chegar aos pontos pk (2) Curvas de Bézier p t p t pk k k ( ) (1) (1) ( ) 2 11 ( ) ( ) ( )1 1 11 1 2t t p t p t t p t pk k k k 1 2 1 0 12 2 2 1 2 2t p t t p t p k Lk k k , , , , , , Computação Gráfica - Robson Lins Note que podemos escrever a equação anterior na forma Curvas de Bézier p B p B p B pk k k k ( ) ( ) ( ) ( )2 0 2 1 2 1 2 2 2 em que B0 (2) = (1 - t)2, B1 (2) = 2t(1-t), B2 (2) = t2 Computação Gráfica - Robson Lins Repetindo esse processo L-1 vezes, temos que um ponto qualquer sobre a curva é expresso por Curvas de Bézier p B pL k L k L k ( ) ( ) p 0 B L k L k t t k Lk L L k k( ) ! ! ( )! ( ) , , , , , 1 0 1 2 em que Computação Gráfica - Robson Lins Quando L for pequeno, pode-se usar o triângulo de Pascal para obter as funções Bk (L) Curvas de Bézier L L L L L L L 0 1 1 1 1 2 1 2 1 3 1 3 3 1 4 1 4 6 4 1 5 1 5 10 10 5 1 6 1 6 15 20 15 6 1 : : : : : : : Computação Gráfica - Robson Lins Exercício Encontre a fórmula da curva de Bézier para os quatro pontos de controle (0,0), (1,3), (4,4) e (5,1), e então use esta fórmula para calcular as coordenadas (x,y) do ponto P correspondente a t=0.3 Curvas de Bézier Computação Gráfica - Robson Lins Solução No exemplo L=3, então Curvas de Bézier (k = 0) B0 (3) = 1(1 - t)3 t0 = (1 - t)3 (k = 1) B1 (3) = 3(1 - t)2 t1 = 3t(1 - t)2 (k = 2) B2 (3) = 3(1 - t)1 t2 = 3t2 (1 - t)1 (k = 3) B3 (3) = 1(1 - t)0 t3 = t3 p = (1 - t)3 p0 + 3t(1 - t) 2 p1 + 3t 2 (1 - t) p2 + t 3 p3 Computação Gráfica - Robson Lins Solução x = (1 - 0.3)3 x0 + 3(0.3)(1 - 0.3) 2 x1 + 3(0.3 2 )(1 - 0.3)x2 + 0.33 x3 = (1 - 0.3)3 0 + 3(0.3)(1 - 0.3)2 1 + 3(0.32 )(1 - 0.3)4 + 0.33 5 = 1.332 y = (1 - 0.3)3 y0 + 3(0.3)(1 - 0.3) 2 y1 + 3(0.3 2 )(1 - 0.3)y2 + 0.33 y3 = (1 - 0.3)3 0 + 3(0.3)(1 - 0.3)2 3 + 3(0.32 )(1 - 0.3)4 + 0.33 1 = 2.106 Curvas de Bézier Computação Gráfica - Robson Lins Curvas de Bézier: a base de funções A figura abaixo ilustra a base de Bézier para caso L = 3 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 B0 (3) B1 (3) B2 (3) B3 (3) Computação Gráfica - Robson Lins Curvas de Bézier na Forma Matricial A curva de Bézier pode ser escrita na forma p = BP. Para L=3, tem-se 3 2 1 0 )3( 3 )3( 2 )3( 1 )3( 0 P P P P BBBBPBp 1331 0363 0033 0001 1 32 )3( 3 )3( 2 )3( 1 )3( 0 tttBBBB em que, Computação Gráfica - Robson Lins Curvas de Bézier Propriedades os trechos são separados por nodos; a forma de cada trecho é determinada pelos pontos de controle; pontos de controle: nodos e extremidades das tangentes à curva nos nodos. Computação Gráfica - Robson Lins Edição gráfica bidimensional Curva de Bézier: Computação Gráfica - Robson Lins Edição gráfica bidimensional Propriedades das curvas de Bézier: há continuidade quando os nodos de trechos consecutivos coincidem; há concordância quando as tangentes de trechos consecutivos coincidem; nodos e tangentes podem ser editados individualmente, com efeito local. Computação Gráfica - Robson Lins Edição gráfica bidimensional Concordância de curvas de Bézier: Computação Gráfica - Robson Lins Superfícies de Bézier As Superfícies de Bézier são generalizações das Curvas de Bézier Uma Superfície de Bézier de ordem (n,m) pode ser definida em termos de um conjunto de (n+1)(m+1) pontos de controle Pij com índices inteiros i = 0,…,n e j = 0,…, m n i m j ij m j n i PtBsBtsP 0 0 )()(),( em que 0 s 1 e 0 t 1 Computação Gráfica - Robson Lins Superfícies de Bézier Exemplo de uma superfície de Bézier com n = 3 e m = 3. São necessários 16 pontos de controle Computação Gráfica - Robson Lins Superfícies de Bézier Observações Qualquer curva para s ou t constante é uma curva de Bézier Cada linha da grade com 4 pontos de controle define uma curva de Bézier para o parâmetro s Ao avaliar cada curva para um mesmo s obtemos 4 pontos de controle “virtuais” Pontos de controle “virtuais” definem uma curva Bézier em t Avaliando esta curva em um dado t resulta no ponto P(s,t) Computação Gráfica - Robson Lins Superfícies de Bézier Forma matricial 10001 0033 0363 1331 0001 0033 0363 1331 1),( 2 3 3,32,31,30,3 3,22,21,20,2 3,12,11,10,1 3,02,01,00,0 23 t t t PPPP PPPP PPPP PPPP ssstsP
Compartilhar