• Nenhum resultado encontrado

Curvas e Superfícies

N/A
N/A
Protected

Academic year: 2021

Share "Curvas e Superfícies"

Copied!
34
0
0

Texto

(1)

Curvas e Superfícies

Baseado em materiais preparados por Marcelo Gattass – Depto. de Informática – PUC-Rio

e

André Maués Brabo Pereira – Depto. de Eng. Civil – UFF

(adaptado por Luiz Fernando Martha para a disciplina CIV2802 – Sistemas Gráficos para Engenharia)

Quatro tipos de representações para curvas e superfícies são comuns em Computação Gráfica e Projeto Geométrico: explícita, implícita,

paramétrica e procedural.

Cada uma dessas alternativas será brevemente introduzida, entretanto apenas uma forma particular será enfatizada, a representação paramétrica, utilizada ao longo do curso.

Representações de

Curvas e Superfícies

(2)

Curvas e Superfícies - Parte 1

2

Ao estudar geometria analítica, é comun utilizar coordenadas retangulares e considerar equações da forma y = f(x). Os gráficos (x, f(x)) dessas funções são curvas no plano. Por exemplo, y = 3x + 1 representa uma linha reta, e y = x2

representa uma parábola (ver figura).

Similarmente, podem-se gerar superfícies ao considerar equações da forma z = f(x,y): a equação z = 2x + 5y - 7

representa um plano no espaço, e z = x2- y2representa um

paraboloide hiperbólico.

Expressões da forma y = f(x) ou z = f(x,y) são chamadas de representações explícitas porque elas expressam uma variável explicitamente em termos das outras variáveis.

Representações

Explícitas

Nem todas as curvas e superfícies podem ser prontamente capturadas por uma única expressão explícita. Por exemplo, o círculo de raio unitário e centrado na origem é

representado implicitamente por todas as soluções da equação x2+ y2- 1 = 0. Se tentar resolver explicitamente

para yem termos de x, obtém-se

que representa apenas a metade superior do círculo.

Portanto, tem de usar duas fórmulas explícitas

para capturar o círculo inteiro. Muitas vezes é mais fácil ficar com a equação implícita original em vez de resolver explicitamente por uma das variáveis. Assim, x2+ y2- 1 = 0

representa um círculo, e x2+ y2+ z2- 1 = 0 representa uma

esfera. Equações da forma f(x, y) = 0 ou f(x, y, z) = 0 são chamadas representações implícitas porque representam a curva ou superfície implicitamente sem resolver

explicitamente por uma das variáveis.

Representações

Implícitas

(3)

Representações implícitas são mais gerais do que as

representações explícitas. A curva explícita y = f(x)é a mesma curva implícita y - f(x) = 0, porém como já foi visto, nem sempre é uma questão simples converter uma curva implícita numa única fórmula explícita. Além disso, as equações implícitas podem ser utilizadas para definir curvas e superfícies fechadas ou curvas e superfícies que se auto-interceptam, formas que são impossíveis de representar com funções explícitas (figura no próximo slide).

Para curvas e superfícies fechadas, a equação implícita pode também ser usada para distinguir o interior do exterior, olhando para o sinal da expressão implícita. Por exemplo, para pontos dentro do círculo unitário x2+ y2- 1 < 0, e para

pontos fora do círculo unitário x2+ y2- 1 > 0. Esta capacidade

de distinguir facilmente entre o interior e o exterior de uma curva ou superfície fechada é frequentemente importante em aplicações de modelagem de sólidos.

Representações

Implícitas

A lemniscata de Bernoulli: (x2+y2)2- (x2-y2)2= 0. Note que

diferentemente de funções explicitas, os gráficos de equações implícitas podem se auto-interceptarem.

Representações

Implícitas

(4)

Curvas e Superfícies - Parte 1

4

No entanto, as representações implícitas também têm suas desvantagens. Dada uma representação explícita y = f(x), pode-se facilmente encontrar muitos pontos da curva (x,f(x)), selecionando valores para xe calculando f(x).

Se as funções f(x) forem restritas a funções elementares como polinômios, então para cada xexiste um único y

facilmente calculável. Assim, é uma questão simples representar graficamente a curva y = f(x).

Por outro lado, pode não ser uma tarefa tão fácil encontrar pontos na curva f(x,y) = 0. Para muitos valores de xpode não existir um valor correspondente y, ou pode haver vários valores de y, mesmo que as funções de f(x,y) sejam restritas a polinômios em x e y.

Encontrar pontos em superfícies implícitas f(x,y,z) = 0pode ser ainda mais complicado. Assim, pode ser difícil renderizar curvas e superfícies definidas implicitamente.

Representações

Implícitas

Existe outra forma padrão para representar curvas e superfícies, que é mais geral do que a forma explícita e que é ainda fácil de

renderizar. Pode-se expressar curvas e superfícies

parametricamente, representando cada coordenada com uma equação explícita em um novo conjunto de parâmetros. Para curvas planas tem-se x = x(t) e y = y(t), para superfícies em 3D tem-se x = x(s,t), y = y(s,t)e z = z(s,t). Por exemplo, as equações paramétricas

representam o círculo unitário centrado na origem. Pode-se facilmente verificar que x2(t) + y2(t) - 1 = 0. Da mesma forma, as

equações paramétricas

representam uma esfera unitária: x2(s,t) + y2(s,t) + z2(s,t) - 1 = 0.

Muitas vezes, restringe-se o domínio do parâmetro. Deste modo, uma curva paramétrica é tipicamente a imagem de um segmento de reta; uma superfície paramétrica, a imagem de uma região -geralmente retangular ou triangular - do plano.

Representações

Paramétricas

(5)

A representação paramétrica tem várias vantagens. Assim como a representação explícita, a representação paramétrica é fácil de renderizar: basta avaliar as funções de coordenadas em vários valores dos parâmetros. Assim como as equações implícitas, equações paramétricas também podem ser usadas para representar curvas e superfícies fechadas, bem como as curvas e superfícies que se auto-interceptam. Além disso, a representação paramétrica tem outra vantagem: é fácil estender para dimensões maiores. Para ilustrar: caso deseja-se

representar uma curva em 3D, tudo o que precisa fazer é introduzir uma equação adicional z = z(t). Assim, as equações paramétricas

representam uma linha em 3D. A figura ilustra uma curva paramétrica mais complicada em 3D. A hélice:

x = cos(t), y = sin(t), z = t/5.

Representações

Paramétricas

A representação paramétrica tem suas próprias idiossincrasias. A representação explícita de uma curva é única: o gráfico de

y = g(x) é a mesma curva como o gráfico de y - f(x) = 0 se e somente se g(x) = f(x).

Analogamente, se restringir às funções polinomiais, então a representação implícita f(x,y) = 0é essencialmente única. No entanto, a representação paramétrica de uma curva não é única. Por exemplo, as equações

são duas representações paramétricas muito diferentes para o círculo unitário x2+ y2= 1. Além disso, para parametrizações

polinomiais ou racionais, sabe-se que para uma dada curva ou superfície paramétrica encontra-se uma curva ou superfície polinomial implícita. O inverso, no entanto, não é verdade. Existem curvas e superfícies polinomiais implícitas que não possuem parametrização polinomial ou racional. Assim, a forma polinomial implícita é mais geral do que a forma paramétrica.

Representações

Paramétricas

(6)

Curvas e Superfícies - Parte 1

6

No entanto, por causa de seu poder, simplicidade e facilidade de uso, a representação paramétrica de curvas e superfícies é a mais utilizada. Além disso, a representação paramétrica funciona igualmente bem em um número arbitrário de dimensões. Note-se que no caso unidimensional a

representação paramétrica é a mesma que a representação explícita, portanto as representações explícitas serão cobertas automaticamente como um caso especial.

As vezes será útil pensar sobre o caso especial de representações explícitas, mas que não gere confusão, porque as curvas paramétricas apresentam propriedades geométricas tais como a auto-intersecção que nunca ocorre em representações explícitas. Curvas paramétricas planares

(x(t), y(t)) são muito mais flexível do que os gráficos planares

(t,x(t)) de funções explícitas.

Representações

Paramétricas

Resta dizer que tipos de funções serão permitidas nas representações paramétricas de interesse. A questão principal é a seleção das funções paramétricas que devem ser

utilizadas para gerar curvas e superfícies adequadas. Geralmente as funções utilizadas serão variantes de polinômios: ou polinômios simples ou funções racionais (razões de polinômios), ou ainda polinômios por partes (splines) ou funções racionais por partes.

Polinômios têm muitas vantagens, especialmente quando usados em conjunto com um computador. Polinômios são fáceis de avaliar. Além disso, as funções mais complicadas são geralmente avaliadas calculando alguma aproximação polinomial, então não está se perdendo nada ao se restringir a polinômios em primeiro lugar. Além disso, há uma teoria bem desenvolvida de polinômios em análise numérica e teoria da aproximação; computação gráfica e modelagem geométrica empregam extensivamente conhecimentos dessa teoria.

Representações

Paramétricas

(7)

Ainda tem-se que mencionar as curvas ou superfícies proceduralmente definidas. Em projetos geométricos, offsets, composições e filetes são frequentemente especificados por procedimentos em vez de fórmulas. Na modelagem de sólidos, a geometria é frequentemente construída proceduralmente através de operações booleanas, como união, interseção e diferença. A maioria das superfícies fractais e curvas que preenchem completamente um espaço são definidas por algoritmos recursivos e não com fórmulas explícitas.

Não serão discutidos quaisquer destes tipos de procedimentos neste curso. Subdivisão é um outro paradigma para a definição de curvas e superfícies, explorando procedimentos recursivos. Uma vez que certas técnicas de subdivisão estão intimamente relacionadas com curvas e superfícies paramétricas, será mais negócio discutir sobre esses métodos mais adiante neste curso.

Representações

Procedurais

Talvez a maneira mais fácil de descrever uma forma é selecionar alguns pontos sobre essa forma. Dada uma quantidade suficiente pontos, o olho tem uma tendência natural de interpolar suavemente entre os dados. Aqui este problema será estudado matematicamente. Dado um conjunto finito de pontos no espaço afim, serão investigados métodos para gerar curvas e superfícies polinomiais que interpolam os pontos. Começa-se com esquemas para curvas e, posteriormente, estende-se tais técnicas para superfícies.

(8)

Curvas e Superfícies - Parte 1

8

Curvas

• Linhas

• Beziers

• B-Splines

• NURBS

• Outros tipos especiais de curvas:

Poli-linhas, arcos de círculo e arcos

de elipses

Curvas

Requisito 1: Independência de eixos

x

y

(9)

Curvas

Requisito 2: Valores Múltiplos

x

y

Curvas

Requisito 3: Controle Local

x

y

(10)

Curvas e Superfícies - Parte 1

10

Curvas

Requisito 4: Pouca Oscilação

polinômio de grau elevado

Curvas

(11)

Curvas

Requisito 5: Versatilidade

Curvas

Requisito 6: Amostragem Uniforme

∆s1 ∆s2 ∆s3 ∆s4 ∆sn

∆s

i

≈ ∆s

j

Curvas – Requisito 7:

Formulação matemática tratável

(12)

Curvas e Superfícies - Parte 1

12

Solução

Curva representada por partes através de polinômios de grau baixo (geralmente 3)

z z z z y y y y x x x x d t c t b t a t z d t c t b t a t y d t c t b t a t x + + + = + + + = + + + = 2 3 2 3 2 3 ) ( ) ( ) (

[ ]

[

u u

]

global u ou local t n , 1 , 0 0 ∈ ∈ t=0 t=1 Parametrização t=0 t=1 t=0 t=1t=0 t=1 u0 u1 u2 un z z z z y y y y x x x x d t c t b t a t z d t c t b t a t y d t c t b t a t x + + + = + + + = + + + = 2 3 2 3 2 3 ) ( ) ( ) ( continuidade no ponto comum dos trechos

Geometria Diferencial

s P(u) ) ( ) ( Pu du d u R   = ou P(s) ) ( ) ( ˆ Ps ds d s T  = ou u

T

du

ds

R

=

ˆ



)

(u

s

s

=

R

du

ds



=

Parâmetro de comprimento: u Parâmetro genérico:

(13)

Requisitos da parametrização

P0 P1 P(u) 1 0

)

1

(

)

(

u

u

P

u

P

P







+

=

1 0

(

)

))

(

1

(

)

(

u

f

u

P

f

u

P

P







+

=

(1-u) ua (1-f(u)) f(u) ub ua ub 0 1 0 ) (u = P du d 

)

(

)

(

2 1 1 2

u

s

u

s

u

u

Se

>

>

u

Continuidade Geométrica e

Paramétrica

Descontínua Contínua: C0e G0 ) 1 ( ) 0 ( 2 1 R R   = Contínua: C1e G1 ) 1 ( ) 0 ( 2 1 T T   =

C

0

e G

1 ) 1 ( ) 0 ( 2 1 R R   ≠ Geométrica ) 1 ( ) 0 ( 2 1 T T   ≠

C

1

e G

0 1(0) 2(1) R =R   Paramétrica

(14)

Curvas e Superfícies - Parte 1

14

Curvas de Bézier

P. de Casteljau, 1959 (Citroën)

P. de Bézier, 1962 (Renault) - UNISURF Forest 1970: Polinômios de Bernstein

i i n n i

t

t

i

n

t

B





=

(

1

)

)

(

,

=

=

n i i n i

t

V

B

t

P

0 ,

(

)

)

(





x P(t) y z t=0 t=1 V0 V1 V2 V3 Vn-1 Vn onde:

)!

(

!

!

i

n

i

n

i

n

=





coef. binomial pol. Bernstein

Bézier Cúbicas

3 0 0 3 3 , 0 (1 ) (1 ) 0 3 ) (t t t t B  − = −      = −

x

P(t)

=

=

3 0 3 ,

(

)

)

(

i i i

t

V

B

t

P





y

z

V0 V1 V2 V3 t t t t t B1,3 (1 )31 1 3(1 )2 1 3 ) (  − = −      = − 2 2 2 3 3 , 2 (1 ) 3(1 ) 2 3 ) (t t t t t B  − = −      = − 3 3 3 3 3 , 3 (1 ) 3 3 ) (t t t t B  − =      = − =

i i t B,3()

[

(1 )

]

1 3 = + −t t 3 3 2 2 1 2 0 3

)

1

(

3

)

1

(

3

)

1

(

)

(

t

t

V

t

t

V

t

t

V

t

V

P











+

+

+

=

(15)

Polinômios Cúbicos de Bernstein

1 1 0 t B0,3 (1-t)3 3 1 0 t B1,3 3(1-t)2t 1 1 0 t B3,3 t3 1 0 t B2,3 3(1-t) t2 -3 1 1 0 t B0,3 + B1,3 + B2,3 + B3,3

Propriedades da Bézier Cúbica

3 3 2 2 1 2 0 3 ) 1 ( 3 ) 1 ( 3 ) 1 ( ) (t t V t tV tt V t V P      + − + − + − =

[

]

[

]

3 3 2 2 1 2 0 2 ) 1 ( 6 3 ) 1 ( 3 ) 1 ( 6 ) 1 ( 3 ) (t t V tt t V t ttV t V P dt d      + − + − + − + − − + − − = 0

)

0

(

V

P





=

3

)

1

(

V

P





=

1 0

3

3

)

0

(

V

V

P

dt

d







+

=

3 2

3

3

)

1

(

V

V

P

dt

d







+

=

x P(t) y z V0 V1 V2 V3 R(0) R(1)

(16)

Curvas e Superfícies - Parte 1

16

Controle da Bézier Cúbica

Fecho Convexo

1

)

(

0 0

=

=

= = n i i n i i i

V

com

t

P

α

α





(17)

Demonstração

Indução 1 ) (t =α0V0+α1V1 α0+α1= P   



ok

n=1 1 ) ( ) ( ) ( ) ( ) ( 1 ) ( 2 1 0 2 2 1 1 0 1 0 1 0 0 1 0 2 1 0 2 2 1 1 0 0 = + + +       + + + + = = + + + + = α α α α α α α α α α α α α α α α α α V V V t P V V V t P         ) (t P  é interior



ok

n=2 n=3 ...

Equação do Foley

                          − − − − − = z y x z y x z y x z y x V V V V V V V V V V V V t t t t P 3 3 3 2 2 2 1 1 1 0 0 0 2 3 0 0 0 1 0 0 3 3 0 3 6 3 1 3 3 1 1 ) ( 

)

(t

P



0

V



1

V



V

2



3

V



3 3 2 2 1 2 0 3

)

1

(

3

)

1

(

3

)

1

(

)

(

t

t

V

t

t

V

t

t

V

t

V

P











+

+

+

=

(18)

Curvas e Superfícies - Parte 1

18

Redução de n=3 para n=2

3 3 2 2 1 2 0 3

3

(

1

)

3

(

1

)

)

1

(

)

(

t

t

V

t

t

V

t

t

V

t

V

P











+

+

+

=

1 0 1 0

(

t

)

(

1

t

)

V

t

V

V







+

=

2 1 1 1

(

t

)

(

1

t

)

V

t

V

V







+

=

3 2 1 2

(

t

)

(

1

t

)

V

t

V

V







+

=

1 2 2 1 1 1 0 2

)

1

(

2

)

1

(

)

(

t

t

V

t

t

V

t

V

P









+

+

=

[

]

[

]

[

2 3

]

2 2 1 1 0 2

)

1

(

)

1

(

)

1

(

2

)

1

(

)

1

(

)

(

V

t

V

t

t

V

t

V

t

t

t

V

t

V

t

t

t

P















+

+

+

+

+

=

)

(

1 0

t

V



)

(

1 1

t

V



(

)

1 2

t

V



Bezier n=2

Redução de n=2 para n=1

1 1 1 0 2 0

(

t

)

(

1

t

)

V

t

V

V







+

=

1 2 2 1 1 1 0 2

)

1

(

2

)

1

(

)

(

t

t

V

t

t

V

t

V

P









+

+

=

[

] [

1

]

2 1 1 1 1 1 0

(

1

)

)

1

(

)

1

(

)

(

t

t

t

V

t

V

t

t

V

t

V

P











+

+

+

=

Bezier n=1 1 2 1 1 2 1

(

t

)

(

1

t

)

V

t

V

V







+

=

1 1 2 0

)

1

(

)

(

t

t

V

t

V

P







+

=

1 0

V



1 1

V



1 2

V



2 0

V



2 1

V



)

(t

P



(19)

Cálculo de um Ponto

1 0

V



1 1

V



1 2

V



2 0

V



2 1

V



)

(t

P



0

V



1

V



2

V



3

V



1 1

V



1 0

V



1 2

V



2 0

V



2 1

V



P

(t

)



(1-t) t

)

(

)

(

)

1

(

)

(

, 1 1, 1 ,

t

t

B

t

t

B

t

B

in

=

in

+

in− Mostre que: 0

V



1

V



V

2



3

V



Subdivisão de Bézier Cúbicas

                          =               3 2 1 0 3 2 1 0 1 3 3 1 0 2 4 2 0 0 4 4 0 0 0 8 8 1 V V V V V V V V L L L L                                   =               3 2 1 0 3 2 1 0 8 0 0 0 4 4 0 0 2 4 2 0 1 3 3 1 8 1 V V V V V V V V R R R R         1 0 1 2 1 2 1 V V VL =  +  . . . L

V

1



H  0 0 V VL =  1 V  2 V  L

V

2



R L

V

V

3 0





=

R

V

1



R

V

2



3 3 V VR   =

(20)

Curvas e Superfícies - Parte 1

20

Construção de uma Bezier

u=1/2

P(1/2)

Curve fitting

3 3 2 2 1 2 0 3 ) 1 ( 3 ) 1 ( 3 ) 1 ( ) (t t V t tV tt V t V P      + − + − + − =

[

]

[

]

3 2 2 2 1 2 0 2 3 3 ) 1 ( 6 ) 1 ( 6 ) 1 ( 3 ) 1 ( 3 ) (t t V t ttV tt t V t V P dt d      + − − + − − − + − − = 3 2 2 2 1 2 0 2 3 ) 2 3 ( 3 ) 1 4 3 ( 3 ) 1 ( 3 t V t t V t t V t V     + + − + + − + − − = 3 2 2 1 0 2 2 3 ) 2 6 ( 3 ) 4 6 ( 3 ) 1 ( 6 ) (t t V t V t V t V P dt d      + + − + − + − =

(

0 1 2

)

2 1 0 2 2 2 6 6 12 6 ) 0 ( V V V V V V P dt d        + − = + − =

(

1 2 3

)

3 2 1 2 2 2 6 6 12 6 ) 1 ( V V V V V V P dt d        + − = + − =

(

1 0

)

1 0 2 3 3 3 ) 0 ( V V V V P dt d      − = + − =

(

3 2

)

3 2 2 3 3 3 ) 1 ( V V V V P dt d      − = + − =

(21)

Nova notação

0 V 1 − nc p 2 − nc r 0 p 1 p 2 p 2 − nc p 0 r 1 r 2 r 1 − nc l 2 l 1 l 2 − nc l 1 V 2 V 3 V 4 V 5 V V6 7 V 4 − n V Vn−1 Vn 3 − n V Vn−2

Derivadas na nova notação

1 3 1 2 2 3 ) 1 ( 3 ) 1 ( 3 ) 1 ( ) ( = − i+ − i+ − i+ + i+ i t t t t tt t P p r l p 

(

1

)

2 2 2 6 ) 0 ( = ii+ i+ i P dt d l r p 

(

1 1

)

2 2 2 6 ) 1 ( = ii+ + i+ P dt d p l r 

(

i i

)

i P dt d p r − = 3 ) 0 ( 

(

1 1

)

3 ) 1 ( = i+i+ i P dt d l p 

x

y

z

)

(t

P

i



i p i r 1 + i l 1 + i p

(22)

Curvas e Superfícies - Parte 1

22

Construção de uma curva que passa

por 2 pontos

n=2

0 ) 0 ( '' = P  0 ) 1 ( '' = P 0 p 1 p 0 r 1 l

(

2

)

0

6

p

0

r

0

+

l

1

=

(

2

)

0 6 r0l1+p1 =

(

1 0

)

0

3

1

p

p

r

=

(

1 0

)

1

3

2

p

p

l

=

Construção de uma curva que passa

por 3 pontos

0 p 0 r 2 p 1 r 1 p 1 l 2 l 0 2 0 1 0− r +l = p 0 ) 0 ( '' 0 = P  0 ) 1 ( '' 1 = P  0



1



0 2 2 2 1− l +p = r 1 1 1 ) 1 ( −ρ lr =p 1 0 0    + = ρ

=

2 1 0 2 1 1 0

0

2

1

0

0

1

2

2

1

0

)

1

(

0

0

0

1

2

p

p

p

l

r

l

r

ρ

ρ

) 0 ( '' ) 1 ( '' 1 0 P P   = 2 1 1 1 1 0 2l p p 2r l r − + = − +

(23)

Método construtivo: dados n pontos

acrescentar mais um

0 p 1 p 1 − n p n p 1 + n p 0 r 1 r n r 1 − n r 1 + n l 1 − n l 1 l n l 1 0 0    + = ρ n n n r p l + = −ρ) ρ 1 ( 1 1 2 2 + − − n+ n= nn+ n n l p p r l r 0 2 1+ 1= − n+ n+ n l p r           − =                     − − − − + − + 1 1 1 2 1 0 1 2 2 0 ) 1 ( n n n n n n p r p l r l

ρ

ρ

Interpolação: dados p

0

…p

n

, encontre l’s e r’s

1 p 1 − n p n p 1 + n p 0 r 1 r n r 1 − n r 1 + n l 1 − n l 1 l n l 0 p

(24)

Curvas e Superfícies - Parte 1

24

0 d 1 d 2 d np−2 d

Bezier interpolation

0 p 1 p 2 p 2 − np p 1 − np p 0 r 1 r 2 − np r 2 r 1 − np l 2 l 1 l 2 − np l Given: np points 1 1 0,p, ,pnpp  Find: 2(np-1) points 1 2 1,l, ,lnpl  2 1 0,r, ,rnpr  Criteria: 0 ''0= p ⇒ 6

(

p0−2r0+l1

)

=0 ⇒ 2r0−l1=p0 0 ''np−1= p ⇒6

(

rnp−2−2lnp−1+pnp−1

)

=0 ⇒ −rnp−2+2lnp−1=pnp−1 right i i left i i d dp' = −1p' ⇒ 3di

(

pili

)

=3di−1

(

ripi

)

dili+di−1ri=(di−1+di)pi right i left i'' p'' p = ⇒6

(

ri−1−2li+pi

) (

=6pi−2ri−1+li

)

⇒ −ri−1+2li−2ri−1+li=0

Bezier interpolation

Criteria:

0 1 0 2r−l=p 1 1 2

2

− − −

+

=

r

np

l

np

p

np i i i i i i i

l

d

d

d

d

+

−1

r

=

(

−1

+

)

p

0

2

2

1 1

+

+

=

r

i

l

i

r

i

l

i                           + + + =                                                     − − − − − − − − − − − − − − − − − 1 2 2 3 2 2 1 1 1 0 0 1 2 2 2 2 1 1 0 1 2 1 2 0 1 0 ) ( 0 ) ( 0 ) ( 2 1 0 0 0 0 0 0 1 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 1 2 n n n n nc nc nc n n d d d d d d l l l l d d d d d d p p p p p r r r r 2 − np r 0 d 1 d 2 d np−2 d 0 p 1 p 2 p 2 − np p 1 − np p 0 r 1 r 2 r 1 − np l 2 l 1 l 2 − np l

resulting linear system:

(25)

B-Splines

• vértices + nós 0 V  1 V  2 V  3 V 4 V  n V  + + + + + + ) (u P  i n i p i u V N u P  

= = 0 , ( ) ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( 1, 1 1 1 1 1 , , N u u u u u u N u u u u u N i p i p i p i p i i p i i p i + − + + + + + − + − − + − − = . 1 0 0 : . pordefinição obs =

p = grau do polinômio Ni,p(u)

controla a continuidade ( Cp-1 ) u0 ≤ u1≤ u2 ≤ … ≤ um    ∈ = + contrário caso u u u se u N i i i 0 ) [ 1 ) ( 1 0 , U={u0, u1, ..., um} m=n+p+1 u0 u2 ui ui+1 ... um u Ni,0(u) u1 ... ui= nós (knots) [ui,ui+1] = trechos (spans)

Propriedades de N

i,p

(u)

Não negativa: N

i,p

(u)≥0 para qualquer u, i, e p.

Partição da unidade: ∑ N

i,p

(u)=1 para todo u∈[u

0

,u

m

].

Suporte local: N

i,p

(u)=0 se u∉[u

i

, u

i+p+1

]. Mais ainda,

in qualquer intervalo dos nós no máximo p+1 das

N

i,p

(u) são não zero.

Diferenciabilidade: todas as derivadas de N

i,p

(u)

existem no interior de um intervalo de nós (onde é

polinômial) . Nos nós N

i,p

(u) é p-k diferenciável, onde k

é a multiplicidade do nó.

Extremo: exceto para o caso p=0, N

i,p

(u) tem apenas

(26)

Curvas e Superfícies - Parte 1

26

Spline

Uniforme

)

(

)

)

1

(

(

)

(

)

(

)

(

, 1 1, 1 ,

N

u

pd

u

d

p

u

u

N

pd

u

u

u

N

i p i p i i p i − + −

+

+

+

=

u

j+1

- u

j

=d

)

(

)

(

)

(

)

(

)

(

)

(

)

(

1, 1 1 1 1 1 , ,

N

u

u

u

u

u

u

N

u

u

u

u

u

N

i p i p i p i p i i p i i p i + − + + + + + − +

+

=

Splines

Uniformes

p=0 e p=1

   ∉ ∈ = + + ) [ 0 ) [ 1 ) ( 1 1 0 , i i i i i u u u se u u u se u N p=0 0 ui-d ui ui+d ... n Ni,0(u) ... p=1

(

)

        ∈ ∈ − + ∈ − ∈ = + + + + ] [ 0 ) [ ) 2 ( ) [ ) 0 [ 0 ) ( 2 2 1 1 1 , m i i i i i i i i i u u u se u u u se d u d u u u u se d u u u u se u N ) ( ) 2 ( ) ( ) ( ) ( , 1 1, 1 1 , N u d u d u u N d u u u N i i p p i i i − + − − + + − = Ni,2(u) ui-d ui ui+d ui+2d

(27)

Splines

Uniformes

p=2

Ni,1(u) Ni+1,1(u)

Ni-1,1(u)               ∈ ∈ − + − ∈ + − − + + − + − ∈ − ∈ = + + + + + + ] , [ 0 ) , [ 2 ) 3 ( ) , [ 2 )) ( )( 3 ( ) 2 )( ( ) , [ 2 ) ( ) , 0 [ 0 ) ( 3 3 2 2 2 2 1 2 1 2 2 2 , 1 m i i i i i i i i i i i i i i u u u se u u u se d u d u u u u se d d u u u d u u d u u u u u u se d u u u u se u N ui-d ui ui+d ui+2d ui+3d p=2 ( ) 2 ) 3 ( ) ( 2 ) ( ) ( ,1 1,1 2 , N u d u d u u N d u u u N i i i i i + − + + − =

Polinômios da B-Spline Uniforme

u ui ui+d ui+2d ui+3d ui+4d

Ni,0 (u) 0 1 0 0 0 0

Ni+1,0 (u) 0 0 1 0 0 0

Ni,1 (u) 0 (u-ui) (ui+2d-u) 0 0 0

Ni+1,1 (u) 0 0 (u-(ui+d)) (ui+3d-u) 0 0

Ni,2 (u) 0 (u-ui)

2

/2d2 (u-ui)(ui+2d-u)/2d2 +

(ui+3d-u)(u-(ui+d))/2d2 (ui+3d-u)

2

/2d2

0 0

Ni+1,2 (u) 0 0 (u-(ui+d))

2

/2d2 (u-(ui+d))(ui+3d-u)/2d2

+ (ui+4d-u)(u-(ui+2d))/2d 2 (ui+4d-u) 2 /2d2 0

Ni,3 (u) 0 (u-ui)

3

/6d3

[(u-ui)

2

(ui+2d-u) +

(u-ui)(ui+3d-u)(u-(ui+d))

+(ui+4d-u)(u-(ui+d))2 ]

/6d3

[(u-ui) (ui+3d-u)

2

+ (ui+4d-u)(u-(ui+d))(ui+3d-u)

+ (ui+4d-u) 2 (u-(ui+2d))]/6d 2 (ui+4d-u) 3 /6d3 0

t t=(u-ui)/d t = (u-(ui+d))/d t = (u-(ui+2d))/d t=(u-(ui+3d))/d

Ni,3 (t) 0 t6/6 (-3t3+3t2+3t+1)/6 (3t3-63t2+4)/6 (1-t)3/6 0

)

(

)

)

1

(

(

)

(

)

(

)

(

, 1 1, 1 ,

N

u

pd

u

d

p

u

u

N

pd

u

u

u

N

i p i p i i p i − + −

+

+

+

=

(28)

Curvas e Superfícies - Parte 1

28

Segmentos da B-spline cúbica

p

(t)

0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,0 0,2 0,4 0,6 0,8 1,0

t

t3/6 (-3t3+3t2+3t+1)/6 (3t3-6t2+4)/6 (1-t)3/6

Funções da base

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 u1 u2 u3 ... um-4 u0 um-3 um-2 u N0,3(u) N2,3(u) N-1,3(u) ... t 2 3 1 2 3 2 3 1 3 6 6 1 3 3 3 6 4 6 3 6 ) 1 ( ) ( − + + + + + + − + + − + − = i i i i i V t V t t t V t t V t t P      For i = 0, ..., n For t = 0, ..., 1 Nn-1,3(u) um-1 um N1,3(u) i=0 t i=1 t i=n Nn,3(u) Nn+1,3(u)

(29)

B-Spline Periódica

Foley

-                          − − − − = + + + + + + − − − z i y i x i z i y i x i z i y i x i z i y i x i V V V V V V V V V V V V t t t t P , 3 , 3 , 3 , 2 , 2 , 1 , , , , 1 , 1 , 1 2 3 0 1 4 1 0 3 0 3 0 3 6 3 1 3 3 1 1 ) ( 

Para cada par Vi, Vi+1, i=0,...,n

Para cada t=0,...,1 Periódica: i=0, ... , n V-1= Vn Vn+1= V0 Vn+2= V1 Vn+1= V0 V n+2=V1 V2 V3 V4 V-1= Vn

B-Spline Não Periódica

Foley

-• vértices + nós 0 V  1 V  2 V  3 V  Vn−1  n V  + + + + + + i=0 i=1 i=2 i=3 1 V  i=n-1 Vn−1  1 − n V  i=0 P(0) = (V-1+ 4V0+ V1)/6 P’’(0) = V-1 -2V0+ V1 = 0 ⇒V-1= 2V0- V1 i=0; P(0) = V0 i=n-1 P(1) = (Vn-1+ 4Vn+ Vn+1)/6 P’’(1) = Vn-1-2Vn+ Vn+1 ⇒Vn+1= 2Vn- Vn-1 i=n-1; P(1) = Vn

(30)

Curvas e Superfícies - Parte 1

30

Base Periódica

B-Spline Cúbica Uniforme Periódica

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.0 0.2 0.4 0.6 0.8 1.0 u N (u ,i ,p ) N(u,0,3) N(u,1,3) N(u,2,3) N(u,3,3) N(u,4,3) N(u,6,3) N(u,7,3) U = {0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0} V-1= V7 V8= V0 V9= V1 V2 V3 V4 V-3=V5 V-2= V6 i=0 i=1 i=2 i=3 i=4i=5 i=6 i=7

Base Não Periódica

B-Spline Cúbica Uniforme e Aperiódica

0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 u N (u ,i ,p ) N(u,0,3) N(u,1,3) N(u,2,3) N(u,3,3) N(u,4,3) N(u,6,3) N(u,7,3) U={0, 0, 0, 0, 1/4, 2/4, 3/4, 1, 1, 1, 1}

(31)

Bézier e B-Spline

Bézier através da B-Spline Cúbica U ={0,0,0,0,1,1,1,1} 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 u N (u ,i ,p ) N(u,0,3) N(u,1,3) N(u,2,3) N(u,3,3)

B-Spline Periódica

Interpolação

-Vn+1= V0 Vn+1=V1 V2 V3 V4 V-1= Vn Para i=0,..., n Pi(0) = (Vi-1+ 4Vi+ Vi+1)/6; P0(0) P1(0) P2(0) P3(0) P4(0) Pn(0) Considere os nós como os pontos dados

                    =                                         n n P P P P P P V V V V V V             4 3 2 1 0 4 3 2 1 0 4 1 0 0 0 1 1 4 1 0 0 0 0 1 4 1 0 0 0 0 1 4 1 0 0 0 0 1 4 1 1 0 0 0 1 4 6 1 • vértices + nós

(32)

Curvas e Superfícies - Parte 1

32

B-Spline Não Periódica

Foley

-• vértices + nós 0 V  1 V  2 V  3 V  Vn−1  n V  + + + + + + i=0 i=1 i=2 i=3 1 V  i=n-1 Vn−1  1 − n V  P0= V0 ; Pn= Vn; Para i=1,..., n-1 Pi(0) = (Vi-1+ 4Vi+ Vi+1)/6; Considere os nós como os pontos dados

                    =                                         n n P P P P P P V V V V V V             4 3 2 1 0 4 3 2 1 0 1 0 0 0 0 0 1 4 1 0 0 0 0 1 4 1 0 0 0 0 1 4 1 0 0 0 0 1 4 1 0 0 0 0 0 1 6 1

Funções Racionais

]

1

,

0

[

1

2

,

1

1

)

(

2 2 2





+

+

=

u

u

u

u

u

u

P



2 2 2 1 1 ) cos( 1 2 ) sin( ) 2 / tan( u u u u u + − = + = =

α

α

α

Da trigonometria: 0 0.2 0.4 0.6 0.8 1.0 0.2 0.4 0.6 0.8 1.0

(33)

Cônicas

c

bt

at

et

dt

x

c

bt

at

e

dt

y

ey

dty

cy

bty

y

at

ty

x

ey

dx

cy

bxy

ax

+

+

+

=

+

+

+

=

=

+

+

+

+

=

=

+

+

+

+

2 2 2 2 2 2 2 2 2

0

0

x y

cônica qualquer escrita num sistema de eixos cuja origem é um ponto da cônica

Qualquer cônica pode ser representada parametricamente como uma fração de polinômios quadráticos

NURBS

Non Uniform Rational B-Splines

yh xh w w=1 x y             =            

= i i i i i i i n i p i w z w y w x w u N u w u z u w u y u w u x u w 0 , ( ) ) ( ) ( ) ( ) ( ) ( ) ( ) (

= =           =           n i i i i n k p k k p i i z y x u N w u N w u z u y u x 0 0 , , ) ( ) ( ) ( ) ( ) (

= = =           =           n i n k p k k p i i p i i i i p i u N w u N w u R onde z y x u R u z u y u x 0 0 , , , , ) ( ) ( ) ( ) ( ) ( ) ( ) (

(34)

Curvas e Superfícies - Parte 1

34

Cônicas como NURBS

} 1 , 1 , 1 , 0 , 0 , 0 { ) ( ) ( : ) ( ) ( ) ( ) ( ) ( ) ( ) ( 2 , 2 , 2 2 , 2 1 2 , 1 0 2 , 0 2 2 2 , 2 1 1 2 , 1 0 0 2 , 0 = = + + + + = U com u N u B onde w u B w u B w u B V w u B V w u B V w u B u P i i     0 V  2 V  1 V  w0=1 w1=s/(1-s) w2=1 w1=0 0.2 -0.2 1 3 s Elipse (w1<1) Parábola (w1=1) Hipérbola (w1>1) Faux et al. w0w2/w1 - determina a cônica 0 V  2 V  1 V  w0=1 w1=s/(1-s) w2=1 w1=0 0.2 -0.2 1 3 s Elipse (w1<1) Parábola (w1=1) Hipérbola (w1>1) S  M  1 2 1 ) 1 ( ) ( V s M s S e S P      + − = =

Círculo através de NURBS

U={0, 0, 0, 1/4, 1/4, 1/2, 1/2, 3/4, 3/4, 1, 1, 1}

{ }

,1} 2 2 , 1 , 2 2 , 1 , 2 2 , 1 , 2 2 , 1 { = w

= = =       =       8 0 8 0 2 , 2 , 2 , 2 , ) ( ) ( ) ( ) ( ) ( ) ( i k k k i i i i i i u N w u N w u R onde y x u R u y u x -1 -0.8 -0.6 -0.4 -0.2 0.2 0.4 0.6 0.8 1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 n=8 p=2 m=12 (x0 , y0) (x1 , y1) (x2 , y2) (x3 , y3) (x4 , y4) (x5 , y5) (x6 , y6) (x7, y7) (x8 , y8)

Referências

Documentos relacionados

Os autores destacam três formas de abordar a resolução de problemas, que configuraram o trabalho do professor: ensinar sobre resolução de problemas, teorizando

O preço das ações ordinárias a serem adquiridas pelos beneficiários, em decorrência do exercício das opções, será fixado pelo Conselho de Administração da

botão direito do mouse sobre o programa “Microsoft Office Word 2007” / apontar para Enviar para / clicar em Área de Trabalho (Criar Atalho).. d) apontar para Todos os Programas

Foram obtidas satisfatoriamente a reconstituição dinâmica e a determinação do campo de deslocamento utilizando o método interferométrico de Moiré com Deslocamento de Fase

O trabalho realizado teve o intuito de conhecer o nível de percepção dos alunos sobre a educação ambiental e a agroecologia, assim, conclui-se que os alunos da Escola Agrotécnica

No relatório Espelho de Ponto, o usuário pode gerar um relatório de freqüência dos funcionários no período de um mês de marcações, o relatório informará

sentido estrito - designa as normas constitucionais escritas ou costumeiras, inseridas ou não num documento escrito, que regulam a estrutura do Estado, a organização de seus órgãos e

2.1.6 O candidato que não obtiver a pontuação mínima exigida será considerado eliminado e, consequentemente, estará automaticamente eliminado do concurso.. 2.1.6 Serão chamados