• Nenhum resultado encontrado

Curvas Planas. Sumário COMPUTAÇÃO GRÁFICA E INTERFACES. Introdução. Introdução. Carlos Carreto

N/A
N/A
Protected

Academic year: 2021

Share "Curvas Planas. Sumário COMPUTAÇÃO GRÁFICA E INTERFACES. Introdução. Introdução. Carlos Carreto"

Copied!
8
0
0

Texto

(1)

COMPUTAÇÃO GRÁFICA E INTERFACES

Curvas Planas

Carlos Carreto

Curso de Engenharia Informática Ano lectivo 2003/2004

Escola Superior de Tecnologia e Gestão da Guarda

Sumário

Introdução

◊ Curvas paramétricas

◊ Curva Bèzier

◊ Curva Hermite

◊ Curva B-Spline

◊ Curva Catmull-Rom

Introdução

Hoje em dia, uma das aplicações mais importantes da computação gráfica é sem duvida o computer-aided design (CAD). O CAD é usado extensivamente num grande número de áreas tais como engenharia aeroespacial, engenharia automóvel, engenharia náutica, engenharia civil e engenharia electrónica.

O sucesso da aplicação da computação gráfica à engenharia deve-se sobretudo ao progresso do chamado computer aided geometric design (CAGD)que proporciona a base matemática para descrever e processar forma geométricas, nomeadamente (curvas, superfícies e sólidos).

Os métodos mais promissores para descrever formas geométricas são as curvas e superfícies paramétricas. Embora estes métodos sejam em conhecidos na teoria, as suas aplicações em sistemas CAD têm sido objecto de investigação nos últimos 50 anos. Os maiores avanços conseguidos são sem duvida as representações Bèzier e B-splinede curvas e superfícies que são hoje em dia o standard da industria.

Veremos a seguir a matemática por detrás destes métodos que são de grande importância para a modelação de superfícies e sólidos.

Introdução

Formas de representar curvas Forma não paramétricas

Representação por equações onde uma das coordenadas é determinada em função da outra:

y = F(x)

Equações paramétricas

Representação por equações onde as coordenadas são obtidas em função de um parâmetro:

y = F(t) x = F(t)

(2)

Introdução

Forma não paramétrica

Exemplos de equações não paramétricas na forma explicita y = f(x)

y = mx + b

z = - (Ax + By + D) / C

Levantam problemas na hora de representar curvas com laços ou com tangentes verticais (m = ∞ na equação da recta).Por esse motivo têm um uso limitado na computação gráfica.

Introdução

Forma não paramétrica

Exemplos de equações não paramétricas na forma implícita f( x, y) = 0

Ax + By + C = 0

(x - x0)2+ (y - y0)2- r2= 0

Resolvem alguns problemas da representação explicita, mas não permitem o calculo directo das coordenadas dos pontos. São úteis em computação para determinar o exterior e o interior.

f( x, y, z) > 0 => Exterior f( x, y, z) < 0 => Interior

Introdução

Principais desvantagens da forma não paramétricas para uso em CAGD É difícil definir a equação não paramétrica de uma curva a partir de um conjunto de pontos de controlo (é difícil de manipular interactivamente).

Não permite a representação de curvas com laços.

É difícil definir a equação não paramétrica de uma curva que passe por um conjunto de pontos pré-definidos.

Introdução

Forma paramétrica

Exemplos de equações paramétricas Circunferência:

x = x0 + r cosθ y = y0 + r sinθ θ∈[0, 2π]

Segmento de recta:

x = (1-t) . x0+ t . x1

Superfícies Paramétricas x = f(u,v)

y = g(u,v) z = h(u,v) Curvas paramétricas

x = f(u) y = g(u) z = h(u)

(3)

Introdução

Principais vantagens da forma paramétricas para uso em CAGD

Resolve os problemas da forma não paramétrica.

A curva pode ser definida a partir de um conjunto de pontos de controlo (é fácil de manipular interactivamente).

A curva pode ou não passar por um conjunto de pontos pré-definidos.

A curva é aproximada por polinómios que definem as suas várias partes.

O comportamento da curva em relação a cada um dos eixos é definido por equações independentes.

As coordenadas são obtidas em função de um parâmetro.

Introdução

A curva é definida através de um conjunto de pontos de controloque influenciam a forma da curva.

Os nóssão pontos de controlo que pertencem à curva.

A curva pode ser interpolada, passando nesse caso por todos os pontos de controlo, ou pode ser aproximada, passando apenas em alguns pontos de controlo ou mesmo em nenhum.

Os pontos de controlo definem a fronteira de um polígono designado por convex hull.

Introdução

Por vezes é necessário representar a curva através de um conjunto de curvas menores ligadas entre si. Nesse caso queremos garantir a continuidade das curvas.

Continuidade de ordem zero, as curvas encontram-se num ponto

Continuidade de primeira ordem, as tangentes são coincidentes

Continuidade de segunda ordem, a “velocidade”

antes e depois é igual

Introdução

Definição de Spline

Uma Spline é uma curva composta por segmentos de curvas definidos por polinómios que satisfazem determinadas

condições de continuidade nas extremidades de cada segmento.

Uma equação é classificada de acordo com os termos que

contem. Se todos os termos são elevados a uma determinada

potência, a equação é um polinómio. Se a maior potência é um, a

equação é

linear. Se a maior potência é dois, a equação é quadrática. E a maior potência é três, a equação é cúbica.

(4)

Introdução

Curvas paramétricas cúbicas

Para garantir a continuidade de primeira ordem, as curvas são aproximadas por polinómios de grau 3:

x(t) = axt3+ bxt2+ cxt + dx y(t) = ayt3+ byt2+ cyt + dy t∈[0, 1]

Forma matricial:

[ ] [ ]

 

 

 

 

=

y x

y x

y x

y x 2

3

d d

c c

b b

a a 1 t t t y x

Curvas Bèzier

Características da curva Bèzier

É definida por 4 pontos de controlo (P0, P1, P2, P3).

Passa pelos pontos extremos.

Os vectores tangentes dos pontos extremos são determinados a partir dos segmentos de recta (P0, P1) e (P2, P3) .

P0

P1

P2

P3

Curvas Bèzier

Curva Bèzier de 3 pontos

Considerem-se 3 pontos P0, P1e P2definindo os segmentos de recta (P0, P1) e (P1, P2).

Vimos que a equação da recta consiste numa média ponderada onde (1-t) é o peso de P0e t é o peso de P1: P(t) = (1-t) . P0+ t . P1

É então possível definir uma curva com os 3 pontos, fazendo a ponderação entre os dois segmentos de recta:

R1(t) = (1-t) . P0+ t . P1 R2(t) = (1-t) . P1+ t . P2 C(t) = (1-t) . R1+ t . R2

P1

Curvas Bèzier

Curva Bèzier de 4 pontos

Seguindo o mesmo raciocínio e fazendo agora a ponderação de duas curvas:

C1(t) = (1-t) . R1+ t . R2 C2(t) = (1-t) . R2+ t . R3

C3(t) = (1-t)3. P0+ 3 . t . (1-t)2. P1+ 3 . t2. (1-t) . P2+ t3. P3

P0

P1

P

P3

C1

C2

(5)

Curvas Bèzier

Curva Bèzier de 4 pontos A forma matricial fica:

[ ] [ ]

 

 

 

 

 

 

 

 

=

3 2 1 0 2

3

P P P P 0 0 0 1

0 0 3 3

0 3 6 3

1 3 3 1 - 1 t t t y x

Curvas Bèzier

Vantagens

É fácil de construir.

Os vectores tangentes são definidos automaticamente pelos segmentos de recta.

Desvantagens

Não garante, de forma automática, a continuidade entre os segmentos de curvas. Para que haja continuidade os últimos dois pontos do primeiro segmento e os dois primeiros pontos do segundo segmento têm que ser colineares.

Não permite controlo local, isto é, a alteração de um ponto de controlo altera toda a curva.

Curvas Hermite

Características da curva Hermite

É definida por dois pontos de controlo P0 eP1, e dois vectores tangentes (derivadas nos pontos), V0e V1.

Passa pelos dois pontos de controlo.

P0 P1

V1 V0

Curvas Hermite

Construção da curva Hermite

Sabemos que tem a forma geral P(t) = a . t3+ b . t2+ c . t + d, com t∈[0, 1].

Sabemos que passo nos pontos extremos P0e P1e as derivadas nesses pontos são V0e V1.

Então:

P’(t) = 3 . a . t2+ 2 . b . t + c

P(0) = P0, P(1) = P1, P’(0) = V0, P’(1) = V1 P0 P1 V1 V0

(6)

Curvas Hermite

Construção da curva Hermite

[ ]









=

d c b a 1 0 0 0

P(0)

[ ]









=

d c b a 1 1 1 1 P(1)

[ ]









=

d c b a 0 1 0 0 (0)

P'

[ ]









=

d c b a 0 1 2 3 (1) P'

Curvas Hermite

Construção da curva Hermite

As quatro incógnitas a, b, c e d podem ser determinadas resolvendo o sistema de equações:

Resolvendo em ordem aos coeficientes:

















=









d c b a

0 1 2 3

0 1 0 0

1 1 1 1

1 0 0 0 (1) P'

(0) P'

P(1) P(0)

















=









(1) P'

(0) P'

P(1) P(0)

0 0 0 1

0 1 0 0

1 - 2 - 3 3 -

1 1 2 - 2 d c b a

Curvas Hermite

Construção da curva Hermite Como

Fica:

[ ]









=

d c b a 1 t t t P(t) 3 2

[ ]

















=

(1) P'

(0) P'

P(1) P(0)

0 0 0 1

0 1 0 0

1 - 2 - 3 3 -

1 1 2 - 2 1 t t t P(t) 3 2

Curvas Hermite

Vantagens É fácil de construir.

É adequada para aplicações onde seja útil definir a curva em função da inclinação dos vectores tangentes.

Passa nos pontos de controlo.

Desvantagens

Não garante, de forma automática, a continuidade entre os segmentos de curvas.

Para que haja continuidade, o vector de fim do primeiro segmento deve ter a mesma direcção e sentido do vector de inicio do segundo segmento.

Não permite controlo local, isto é, a alteração de um ponto de controlo altera toda a

(7)

Curvas B-Spline

Características da curva B-Spline

É definida por quatro pontos de controlo (P0, P1, P2, P3).

Não passa por nenhum dos pontos de controlo.

É um tipo de curva mais suave do que as anteriores, com continuidade de segunda ordem entre segmentos.

Curvas B-Spline

Equação matricial da curva B-Spline

[ ]

















=

P P P P

0 1 4 1

0 3 0 3 -

0 3 6 - 3

1 3 - 3 1 - 1 t t t P(t)

2 2 1 0 2

3

Curvas B-Spline

Vantagens

É fácil de construir.

Garante a continuidade automaticamente.

Permite controlo local.

Desvantagens

Não passa nos pontos de controlo.

Curvas Catmull-Rom

Características da curva Catmull-Rom

É definida por quatro pontos de controlo (P0, P1, P2, P3).

É formada a partir de uma sequência de curvas Hermite, cujas tangentes são calculadas automaticamente a partir dos pontos de controlo.

É traçada uma curva Hermite a cada par de pontos.

A curva passa pelos pontos de controlo excepto pelo primeiro e último.

(8)

Curvas Catmull-Rom

Construção da curva Catmull-Rom

Dado um conjunto de pontos de controlo {P0, P1, …, Pn}, queremos a curva que passa por todos os pontos. A curva Catmull-Rom é construída com segmentos de curvas Hermite a cada par (Pi, Pi+1) de pontos de controlo, cujos respectivas tangentes são: (Pi+1– Pi-1) / 2 e (Pi+2– Pi) / 2.

Considerando a equação matricial da curva Hermite:

ou

[ ]

=

+

+

+

2 P P2

P PP

P 0 0 0 1

0 1 0 0

1 - 2 - 3 3 -

1 1 2 - 2 1 t t t P(t)

i 2 i

1 i 1 i

1 i

i

2 3

[ ]

=

+ +

P P P P 0 0 1 0

0 1 0 0

20 0 1 2 1

2 0 1 2 1 0 0 0 0 1

0 1 0 0

1 - 2 - 3 3 -

1 1 2 - 2 1 t t t P(t)

2 i

1 i

i 1 - i 2

3

Curvas Catmull-Rom

Construção da curva Catmull-Rom

Multiplicando as duas matrizes de coeficientes obtemos a equação matricial da curva:

[ ]

















=

+ +

P P P P 0 0 2 0

0 1 0 1 -

1 - 4 5 - 2

1 3 - 3 1 - 1 t t t P(t)

2 i

1 i

i 1 - i 2

3

Curvas Catmull-Rom

Construção da curva Catmull-Rom

(Pi+1– Pi-1) / 2

(Pi+2– Pi) / 2

Curvas Catmull-Rom

Vantagens

É fácil de construir.

Garante a continuidade automaticamente.

Permite controlo local.

Passa nos pontos de controlo.

Referências

Documentos relacionados

Ao nível municipal não são contemplados Centros de Coordenação Operacional, no entanto, de acordo com a Directiva Operacional n.º 1/2009 da Autoridade Nacional de Protecção

Áreas sombreadas são significativas ao nível de 95% baseado no teste t-Student...67 Figura 5.19: Composições defasadas de anomalias intrasazonais do transporte meridional de calor na

De acordo com estes resultados, e dada a reduzida explicitação, e exploração, das relações que se estabelecem entre a ciência, a tecnologia, a sociedade e o ambiente, conclui-se

Para a normalização de referências, o Programa de Pós-graduação em Psicologia da UFG adota o manual de estilo da American Psychological Association (APA) – 6a edição, segundo o

No trecho do médio São Francisco, a montante da represa de Sobradinho, foram realizados estudos em três lagoas marginais (Pompeu, 1997; Pompeu e Godinho 2003), tendo

Chefia do Departamento de Ensino, Pesquisa e Extensão do Câmpus São Carlos ISRAEL DA SILVA MOTA.. Diretoria-Geral do Câmpus São José

 Para os agentes físicos: ruído, calor, radiações ionizantes, condições hiperbáricas, não ionizantes, vibração, frio, e umidade, sendo os mesmos avaliados

Nesta seção, apontaremos nossas análises, em uma perspectiva histórica, sobre a constituição de saberes que envolvem a formação docente, em específico, a formação do