![Page 1: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/1.jpg)
Representação de Curvas
Baseado em material preparado por
Marcelo Gattass – Depto. de Informática – PUC-Rio
(adaptado para a disciplina CIV2802)
CIV2802 – Sistemas Gráficos para Engenharia
2018.1
Luiz Fernando Martha
André Pereira
![Page 2: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/2.jpg)
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
Fonte:
![Page 3: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/3.jpg)
Ao estudar geometria analítica, é comum 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 - y2 representa 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
![Page 4: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/4.jpg)
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 y em 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
![Page 5: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/5.jpg)
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
![Page 6: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/6.jpg)
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
![Page 7: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/7.jpg)
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 x e calculando f(x).
Se as funções f(x) forem restritas a funções elementares
como polinômios, então para cada x existe 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 x pode 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) = 0 pode
ser ainda mais complicado. Assim, pode ser difícil renderizar
curvas e superfícies definidas implicitamente.
Representações
Implícitas
![Page 8: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/8.jpg)
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
![Page 9: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/9.jpg)
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
![Page 10: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/10.jpg)
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
![Page 11: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/11.jpg)
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
![Page 12: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/12.jpg)
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
![Page 13: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/13.jpg)
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
![Page 14: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/14.jpg)
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.
Curvas
![Page 15: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/15.jpg)
Curvas
• Linhas
• Beziers
• B-Splines
• NURBS
• Outros tipos especiais de curvas:
Poli-linhas, arcos de círculo e arcos
de elipses
![Page 16: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/16.jpg)
Curvas
Requisito 1: Independência de eixos
x
y
![Page 17: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/17.jpg)
Curvas
Requisito 2: Valores Múltiplos
x
y
![Page 18: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/18.jpg)
Curvas
Requisito 3: Controle Local
x
y
![Page 19: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/19.jpg)
Curvas
Requisito 4: Pouca Oscilação
polinômio de grau elevado
![Page 20: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/20.jpg)
Curvas
Requisito 5: Versatilidade
![Page 21: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/21.jpg)
Curvas
Requisito 6: Amostragem Uniforme
∆s1
∆s2
∆s3
∆s4
∆sn
∆si ≈ ∆sj
Curvas – Requisito 7:
Formulação matemática tratável
Finalizando:
![Page 22: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/22.jpg)
Solução
Curva representada por partes através de
polinômios de grau baixo (geralmente 3)
zzzz
yyyy
xxxx
dtctbtatz
dtctbtaty
dtctbtatx
+++=
+++=
+++=
23
23
23
)(
)(
)(
[ ]
[ ] globaluuu
ou
localt
n,
1,0
0∈
∈
t=0
t=1
Parametrização
t=0 t=1 t=0 t=1t=0 t=1
u0
u1 u
2un
zzzz
yyyy
xxxx
dtctbtatz
dtctbtaty
dtctbtatx
+++=
+++=
+++=
23
23
23
)(
)(
)(
continuidade no
ponto comum dos
trechos
![Page 23: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/23.jpg)
Geometria Diferencial
s
P(u)
)()( uPdu
duR
��=ou P(s)
)()(ˆ sPds
dsT
�=
ou u
Tdu
dsR ˆ=�
)(uss =
Rdu
ds �=
Parâmetro de comprimento:
uParâmetro genérico:
![Page 24: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/24.jpg)
Requisitos da parametrização
P0
P1
P(u)10)1()( PuPuuP���
+−=
10 )())(1()( PufPufuP���
+−=
(1-u)
ua
(1-f(u)) f(u)
ubua
ub0
1
0)( =uPdu
d �
)()( 1212 ususuuSe >⇒>
u
![Page 25: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/25.jpg)
Continuidade Geométrica e
Paramétrica
Descontínua Contínua: C0 e G0
)1()0( 21 RR��
=
Contínua: C1 e G1
)1()0( 21 TT��
=
C0 e G1
)1()0( 21 RR��
≠
Geométrica
)1()0( 21 TT��
≠
C1 e G0
1 2(0) (1)R R=� �
Paramétrica
![Page 26: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/26.jpg)
Curvas de Bézier
P. de Casteljau, 1959 (Citroën)
P. de Bézier, 1962 (Renault) - UNISURF
Forest 1970: Polinômios de Bernstein
iin
ni tti
ntB −−
= )1()(,
∑=
=n
i
ini VtBtP0
, )()(��
x
P(t)
y
z
t=0
t=1
V0
V1
V2
V3
Vn-1
Vn onde:
)!(!
!
ini
n
i
n
−=
coef. binomial
pol. Bernstein
![Page 27: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/27.jpg)
Bézier Cúbicas
3003
3,0 )1()1(0
3)( ttttB −=−
= −
x
P(t)
∑=
=3
0
3, )()(i
ii VtBtP��
y
z
V0
V1
V2
V3
tttttB 2113
3,1 )1(3)1(1
3)( −=−
= −
2223
3,2 )1(3)1(2
3)( tttttB −=−
= −
3333
3,3 )1(3
3)( ttttB =−
= −
=∑i
i tB )(3,[ ] 1)1(
3=+− tt
3
3
2
2
1
2
0
3 )1(3)1(3)1()( VtVttVttVttP�����
+−+−+−=
![Page 28: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/28.jpg)
Polinômios Cúbicos de Bernstein
1
10 t
B0,3
(1-t)3
3
10 t
B1,3
3(1-t)2t
1
10 t
B3,3
t3
10 t
B2,3
3(1-t) t2
-3
1
10 t
B0,3 + B1,3 + B2,3 + B3,3
![Page 29: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/29.jpg)
Propriedades da Bézier Cúbica
3
3
2
2
1
2
0
3 )1(3)1(3)1()( VtVttVttVttP�����
+−+−+−=
[ ] [ ] 3
3
2
2
1
2
0
2 )1(63)1(3)1(6)1(3)( VtVtttVtttVttPdt
d �����+−+−+−+−−+−−=
0)0( VP��
=
3)1( VP��
=
10 33)0( VVPdt
d ���+−=
32 33)1( VVPdt
d ���+−=
x
P(t)
y
z
V0
V1
V2
V3
R(0)
R(1)
![Page 30: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/30.jpg)
Controle da Bézier Cúbica
![Page 31: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/31.jpg)
Fecho Convexo
1)(00
== ∑∑==
n
i
i
n
i
ii comVtP αα��
![Page 32: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/32.jpg)
Demonstração
Indução
1)( 101100 =++= αααα VVtP���
� ok
n=1
1)()()(
)()(
1)(
210221
10
10
10
010
210221100
=+++
++
++=
=++++=
αααααα
α
αα
ααα
αααααα
VVVtP
VVVtP
����
����
)(tP�
é interior � ok
n=2
n=3
...
![Page 33: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/33.jpg)
Equação do Foley
−−
−
−−
=
zyx
zyx
zyx
zyx
VVV
VVV
VVV
VVV
ttttP
333
222
111
000
23
0001
0033
0363
1331
1)(�
)(tP�
0V�
1V� 2V
�
3V�
3
3
2
2
1
2
0
3 )1(3)1(3)1()( VtVttVttVttP�����
+−+−+−=
![Page 34: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/34.jpg)
Redução de n=3 para n=2
3
3
2
2
1
2
0
3 )1(3)1(3)1()( VtVttVttVttP�����
+−+−+−=
10
1
0 )1()( VtVttV���
+−=
21
1
1 )1()( VtVttV���
+−=
32
1
2 )1()( VtVttV���
+−=
1
2
21
1
1
0
2 )1(2)1()( VtVttVttP����
+−+−=
[ ] [ ][ ]32
2
2110
2
)1(
)1()1(2)1()1()(
VtVtt
VtVtttVtVtttP��
�����
+−+
+−−++−−=
)(1
0 tV�
)(1
1 tV�
)(1
2 tV�
Bezier n=2
![Page 35: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/35.jpg)
Redução de n=2 para n=1
1
1
1
0
2
0 )1()( VtVttV���
+−=
1
2
21
1
1
0
2 )1(2)1()( VtVttVttP����
+−+−=
[ ] [ ]1
2
1
1
1
1
1
0 )1()1()1()( VtVttVtVtttP�����
+−++−−=
Bezier n=1
1
2
1
1
2
1 )1()( VtVttV���
+−=
1
1
2
0)1()( VtVttP���
+−=
1
0V�
1
1V�
1
2V�
2
0V�
2
1V�
)(tP�
![Page 36: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/36.jpg)
Cálculo de um Ponto
1
0V�
1
1V�
1
2V�
2
0V�
2
1V�
)(tP�
0V�
1V�
2V�
3V�
1
1V�
1
0V�
1
2V�
2
0V�
2
1V� )(tP
�
(1-t)
t
)()()1()( 1,11,, tBttBttB ninini −−− +−=Mostre que:
0V�
1V� 2V
�
3V�
![Page 37: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/37.jpg)
Subdivisão de Bézier Cúbicas
=
3
2
1
0
3
2
1
0
1331
0242
0044
0008
8
1
V
V
V
V
V
V
V
V
L
L
L
L
�
�
�
�
�
�
�
�
=
3
2
1
0
3
2
1
0
8000
4400
2420
1331
8
1
V
V
V
V
V
V
V
V
R
R
R
R
�
�
�
�
�
�
�
�
1012
1
2
1VVV
L���
+=
. . .L
V1
�
H�
00 VVL��
=
1V�
2V�
LV2
�
RL VV 03
��=
RV1
�
RV2
�
33 VV R��
=
![Page 38: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/38.jpg)
Construção de uma Bezier
u=1/2
P(1/2)
![Page 39: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/39.jpg)
Curve fitting
3
3
2
2
1
2
0
3 )1(3)1(3)1()( VtVttVttVttP�����
+−+−+−=
[ ] [ ] 3
2
2
2
1
2
0
2 33)1(6)1(6)1(3)1(3)( VtVtttVtttVttPdt
d �����+−−+−−−+−−=
3
2
2
2
1
2
0
2 3)23(3)143(3)1(3 VtVttVttVt����
++−++−+−−=
3
2
2102
2
3)26(3)46(3)1(6)( VtVtVtVttPdt
d �����++−+−+−=
( )2102102
2
266126)0( VVVVVVPdt
d �������+−=+−=
( )3213212
2
266126)1( VVVVVVPdt
d �������+−=+−=
( )0110
2 333)0( VVVVPdt
d �����−=+−=
( )2332
2 333)1( VVVVPdt
d �����−=+−=
![Page 40: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/40.jpg)
Nova notação
0V
1−ncp
2−ncr
0p
1p
2p
2−ncp
0r
1r
2r
1−ncl
2l
1l
2−ncl
1V
2V
3V
4V
5V 6V 7V
4−nVnV1−nV3−nV 2−nV
![Page 41: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/41.jpg)
Derivadas na nova notação
1
3
1
223 )1(3)1(3)1()( ++ +−+−+−= iiiii tttttttP plrp�
( )12
2
26)0( ++−= iiiiPdt
dlrp
�
( )112
2
26)1( ++ +−= iiiPdt
dplr
�
( )iiiPdt
dpr −= 3)0(
�
( )113)1( ++ −= iiiPdt
dlp
�
x
y
z
)(tPi
�
ip
ir
1+il
1+ip
![Page 42: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/42.jpg)
Construção de uma curva que passa
por 2 pontos
n=2
0)0('' =P�
0)1('' =P
0p
1p
0r
1l
( ) 026 100 =+− lrp
( ) 026 110 =+− plr
( )0103
1ppr −=
( )0113
2ppl −=
![Page 43: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/43.jpg)
Construção de uma curva que passa
por 3 pontos
0p
0r
2p
1r
1p1l
2l
02 100 =+− lrp
0)0(''0 =P�
0)1(''1 =P�
0�
1�
02 221 =+− plr
111)1( prl =+− ρρ
10
0
��
�
+=ρ
=
−
−−
−
−
2
1
0
2
1
1
0
0
2100
1221
0)1(0
0012
p
p
p
l
r
l
r
ρρ
)0('')1('' 10 PP��
=
211110 22 lrpplr +−=+−
![Page 44: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/44.jpg)
Método construtivo: dados n pontos
acrescentar mais um
0p
1p
1−np
np
1+np
0r
1r
nr
1−nr
1+nl
1−nl
1l
nl
10
0
��
�
+=ρ
nnn prl =+− ρρ)1(
11 22 +− +−=+− nnnnnn lrpplr
02 11 =+− ++ nnn plr
−=
−
−−
−
+
−
+ 1
1
1210
122
0)1(
n
n
n
n
n
n
p
r
p
l
r
lρρ
![Page 45: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/45.jpg)
Interpolação: dados p0…pn , encontre l’s e r’s
1p
1−np
np
1+np
0r
1r
nr
1−nr
1+nl
1−nl
1l
nl
0p
![Page 46: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/46.jpg)
0d
1d
2d2−npd
Bezier interpolation
0p
1p
2p
2−npp
1−npp
0r
1r
2−npr
2r
1−npl
2l
1l
2−npl
Given: np points
110 ,,, −npppp �
Find: 2(np-1) points
121 ,,, −nplll �
210 ,,, −nprrr �
Criteria:
0'' 0 =p ⇒ ( ) 026 100 =+− lrp ⇒0102 pr =−l
0'' 1=−npp ⇒ ( ) 026 112 =+− −−− npnpnp l pr ⇒ 112 2 −−− =+− npnpnp l pr
rightiileftii dd '' 1pp −= ⇒ ( ) ( )iiiiii dld prp −=− −133 ⇒ iiiiiii dddld pr )( 11 +=+ −−
rightilefti '''' pp = ⇒ ( ) ( )iiiiii ll +−=+− −− 11 2626 rppr ⇒ 022 11 =+−+− −− iiii ll rr
![Page 47: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/47.jpg)
Bezier interpolation Criteria:
0102 pr =−l
112 2 −−− =+− npnpnp l pr
iiiiiii dddld pr )( 11 +=+ −−
022 11 =+−+− −− iiii ll rr
+
+
+
=
−
−−
−−
−−
−
−
−−−
−
−
−−−
1
223
221
110
0
1
2
2
2
2
1
1
0
12
12
01
0
)(
0
)(
0
)(
21000000
12210000
000000
00122100
000000
00001221
000000
00000012
n
nnn
nc
nc
ncnn dd
dd
dd
l
l
l
l
dd
dd
dd
p
p
p
p
p
r
r
r
r
2−npr
0d
1d
2d2−npd
0p
1p
2p
2−npp
1−npp
0r
1r
2r
1−npl
2l
1l
2−npl
resulting linear system:
solve for l and r
![Page 48: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/48.jpg)
B-Splines
• vértices
+ nós
0V�
1V�
2V�
3V� 4V
�
nV�
+
+ +
+
+ +
•
•
•
••
•
)(uP�
i
n
i
pi VuNuP��
∑=
=0
, )()(
)()(
)()(
)(
)()( 1,1
11
1
1,, uNuu
uuuN
uu
uuuN pi
ipi
pi
pi
ipi
ipi −+
+++
++
−
+ −
−+
−
−=
.10
0:. definiçãoporobs =
p = grau do polinômio Ni,p(u)
controla a continuidade ( Cp-1 )
u0 ≤ u1 ≤ u2 ≤ … ≤ um
∈
=+
contráriocaso
uuuseuN
ii
i0
)[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)
![Page 49: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/49.jpg)
Propriedades de Ni,p(u)
• Não negativa: Ni,p(u)≥0 para qualquer u, i, e p.
• Partição da unidade: ∑ Ni,p(u)=1 para todo u∈[u0,um].
• Suporte local: Ni,p(u)=0 se u∉[ui, ui+p+1]. Mais ainda, in qualquer intervalo dos nós no máximo p+1 das Ni,p(u) são não zero.
• Diferenciabilidade: todas as derivadas de Ni,p(u)existem no interior de um intervalo de nós (onde é polinômial) . Nos nós Ni,p(u) é p-k diferenciável, onde ké a multiplicidade do nó.
• Extremo: exceto para o caso p=0, Ni,p(u) tem apenas um ponto de máximo.
![Page 50: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/50.jpg)
Spline Uniforme
)())1((
)()(
)( 1,11,, uNpd
udpuuN
pd
uuuN pi
i
pi
i
pi −+−
−+++
−=
uj+1- uj =d
)()(
)()(
)(
)()( 1,1
11
1
1,, uNuu
uuuN
uu
uuuN pi
ipi
pi
pi
ipi
ipi −+
+++
++
−
+ −
−+
−
−=
![Page 51: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/51.jpg)
Splines Uniformes
p=0 e p=1
∉
∈=
+
+
)[0
)[1)(
1
1
0,
ii
ii
iuuuse
uuuseuN
p=0
0 ui-d ui ui+d n...
Ni,0(u)
...
p=1
( )
∈
∈−+
∈−
∈
=
+
++
+
][0
)[)2(
)[
)0[0
)(
2
21
1
1,
mi
ii
i
ii
i
i
i
uuuse
uuused
udu
uuused
uu
uuse
uN
)()2(
)()(
)( 1,11,1, uNd
uduuN
d
uuuN pi
ipi
ii −+−
−++
−=
Ni,2(u)
ui-d ui ui+d ui+2d
![Page 52: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/52.jpg)
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
322
2
212
12
2
2,1
mi
ii
i
ii
iiii
ii
i
i
uuuse
uuused
udu
uuused
duuuduuduuu
uuused
uu
uuse
uN
ui-d ui ui+d ui+2d ui+3d
p=2)(
2
)3()(
2
)()( 1,11,2, uN
d
uduuN
d
uuuN i
ii
ii +
−++
−=
![Page 53: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/53.jpg)
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/2d
2 (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))/2d2 (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))]/6d2
(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,11,, uNpd
udpuuN
pd
uuuN pi
i
pi
i
pi −+−
−+++
−=
![Page 54: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/54.jpg)
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,0t
t3/6
(-3t3+3t2+3t+1)/6(3t3-6t2+4)/6
(1-t)3/6
![Page 55: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/55.jpg)
Funções da base
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
u1 u2 u3 ... um-4u0uum-3 um-2
N0,3(u) N2,3(u)N-1,3(u) ...
t
2
3
1
2323
1
3
66
1333
6
463
6
)1()( ++− +
+++−+
+−+
−= iiiii V
tV
tttV
ttV
ttP
�����
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)
![Page 56: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/56.jpg)
B-Spline Periódica
- Foley -
−
−
−−
=
+++
+++
−−−
ziyixi
ziyixi
ziyixi
ziyixi
VVV
VVV
VVV
VVV
ttttP
,3,3,3
,2,2,1
,,,
,1,1,1
23
0141
0303
0363
1331
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 Vn+2 =V1
V2
V3
V4
V-1= Vn
![Page 57: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/57.jpg)
B-Spline Não Periódica
- Foley -
• vértices
+ nós
0V�
1V�
2V�
3V� 1−nV
�
nV�
+
++
+
+ +
•
•
•
•
••
i=0
i=1 i=2
i=3
1V�
•
i=n-1 1−nV�
1−nV�
•
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
![Page 58: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/58.jpg)
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=3i=4
i=5
i=6
i=7
1
, , 1 1, 1
1 1
( )( )( ) ( ) ( )
( ) ( )
i pii p i p i p
i p i i p i
u uu uN u N u N u
u u u u
+ +
− + −
+ + + +
−−= +
− −
![Page 59: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/59.jpg)
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}
1
, , 1 1, 1
1 1
( )( )( ) ( ) ( )
( ) ( )
i pii p i p i p
i p i i p i
u uu uN u N u N u
u u u u
+ +
− + −
+ + + +
−−= +
− −
![Page 60: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/60.jpg)
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)
1
, , 1 1, 1
1 1
( )( )( ) ( ) ( )
( ) ( )
i pii p i p i p
i p i i p i
u uu uN u N u N u
u u u u
+ +
− + −
+ + + +
−−= +
− −
![Page 61: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/61.jpg)
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
=
nn P
P
P
P
P
P
V
V
V
V
V
V
�
�
�
�
�
�
�
�
�
�
�
�
4
3
2
1
0
4
3
2
1
0
410001
141000
014100
001410
000141
100014
6
1
• vértices
+ nós
![Page 62: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/62.jpg)
B-Spline Não Periódica
- Foley -
• vértices
+ nós
0V�
1V�
2V�
3V� 1−nV
�
nV�
+
++
+
+ +
•
•
•
•
••
i=0
i=1 i=2
i=3
1V�
•
i=n-1 1−nV�
1−nV�
•
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
=
nn P
P
P
P
P
P
V
V
V
V
V
V
�
�
�
�
�
�
�
�
�
�
�
�
4
3
2
1
0
4
3
2
1
0
100000
141000
014100
001410
000141
000001
6
1
![Page 63: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/63.jpg)
Funções Racionais
]1,0[
1
2,
1
1)(
22
2
∈
++
−=
u
u
u
u
uuP�
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
![Page 64: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/64.jpg)
Cônicas
cbtat
etdtx
cbtat
edty
eydtycybtyyat
tyx
eydxcybxyax
++
+−=
++
+−=
=++++
=
=++++
2
2
2
2222
22
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
![Page 65: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/65.jpg)
NURBS
Non Uniform Rational B-Splines
yh
xh
w
w=1
x
y
=
∑=
i
ii
ii
ii
n
i
pi
w
zw
yw
xw
uN
uw
uzuw
uyuw
uxuw
0
, )(
)(
)()(
)()(
)()(
∑∑=
=
=
n
i
i
i
i
n
k
pkk
pii
z
y
x
uNw
uNw
uz
uy
ux
0
0
,
,
)(
)(
)(
)(
)(
∑∑=
=
=
=
n
in
k
pkk
pii
pi
i
i
i
pi
uNw
uNwuRonde
z
y
x
uR
uz
uy
ux
0
0
,
,
,,
)(
)()()(
)(
)(
)(
![Page 66: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/66.jpg)
Cônicas como NURBS
}1,1,1,0,0,0{)()(
:
)()()(
)()()()(
2,2,
22,212,102,0
222,2112,1002,0
==
++
++=
UcomuNuB
onde
wuBwuBwuB
VwuBVwuBVwuBuP
ii
����
0V�
2V�
1V�
w0=1
w1=s/(1-s)
w2=1w1=0
0.2
-0.2
1
3
sElipse (w1<1)
Parábola (w1=1)
Hipérbola (w1>1)
Faux et al.
w0w2 /w1 - determina a cônica
0V�
2V�
1V�
w0=1
w1=s/(1-s)
w2=1w1=0
0.2
-0.2
1
3
sElipse (w1<1)
Parábola (w1=1)
Hipérbola (w1>1)
S�
M�
1
21
)1(
)(
VsMsS
eSP���
��
+−=
=
![Page 67: Representação de Curvas - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/ftp_pub/lfm/CIV2802-RepresentacaoCur... · esfera. Equações da forma f(x, y) ... de distinguir](https://reader033.vdocuments.mx/reader033/viewer/2022052610/5c0e52b609d3f20b788cce24/html5/thumbnails/67.jpg)
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
08
0
2,
2,
2,2,
)(
)()()(
)(
)(
i
k
kk
ii
i
i
i
i
uNw
uNwuRonde
y
xuR
uy
ux
-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)