Buscar

AULA 06

Prévia do material em texto

Disciplina: Computação Grá�ca
Aula 6: Curvas e superfícies
Apresentação
As curvas e superfícies são importantes para criação de objetos e na visualização de fenômenos cientí�cos.
Nesta aula, as curvas e as superfícies serão apresentadas como elementos formadores de objetos grá�cos. Teremos,
portanto, uma excelente oportunidade de identi�car alguns dos algoritmos clássicos da área da Computação Grá�ca.
Objetivos
Compreender a importância das curvas no processo de modelagem;
Conhecer os principais algoritmos de desenho de curva;
Diferenciar as características de cada curva;
Compreender a importância das superfícies no processo de modelagem.
Curvas
As curvas são importantes para a criação de objetos e a visualização de fenômenos cientí�cos, servindo de base para
modelagem de objetos simples, como círculos e elipses, e de objetos complexos, como automóveis, aeronaves e navios.
Representação
Uma curva simples pode ser de�nida apenas por uma
sucessão de linhas.
Curva gerada a partir de segmentos de retas.
Curvas mais complexas irão demandar uma maneira mais e�ciente de representação:
De�nir uma curva que passe por um determinado
conjunto de pontos.
De�nir a melhor curva para representar um determinado
conjunto de pontos.
Formalmente, as curvas podem ser representadas de diversas formas:
Por um conjunto de pontos
Uma curva pode ser representada por um conjunto �nito de pontos, podendo ser representada por um número grande de
pontos ou pela conexão deles por segmentos adequados.
Pontos
conectados.
No caso de uma quantidade limitada de pontos, pode-se utilizar retas para conectá-los, para alcançar uma suavidade maior,
pode-se acrescentar uma maior quantidade de pontos.
Conjunto de pontos.
Curva gerada com poucos pontos.
Curva gerada com muitos pontos.
Através de sua Representação Analítica
A representação analítica utiliza uma ou mais equações.
Vejamos algumas vantagens:
É mais precisa;
Não requer área de armazenamento;
Facilita o cálculo de novos pontos;
É mais fácil obter propriedades da curva (inclinação, área).
Pode ser:
Não paramétrica
Paramétrica
Vamos entender cada uma dessas categorias.
Categorias: Não paramétricas
A forma não paramétrica não recebe parâmetros, sendo calculada através de uma equação de y em x (ou vice-versa):
Certas curvas, chamadas de seções cônicas, podem ser obtidas a partir do corte de um cone por um plano.
1
Círculo
2
Eclipse
3
Parábola
4
Hipérbole
5
Retas
Categorias: Paramétricas
Na forma paramétrica, usa-se um parâmetro para de�nir as coordenadas dos pontos da curva, onde a posição do ponto na
curva é de�nida com base no valor do parâmetro.
Formalmente, a posição de um ponto na curva é dada por:
Representação paramétrica
X = 10   cosθ =  (θ)           X = t+ 1 =  (t)fx fx
Y = 10  senθ =  (θ)           Y = 2t+ 1 =  (t)fy fy
Hermite
Representação criada por Charles Hermite (1822 – 1901) que faz uso de polinômios de terceira ordem e quatro fatores:
Representação de um ponto na curva.
P(t) = (x(t),  y(t)) ← Independente do sistema de coordenadas.
                                      Ex :  Pode− se acrescentar mais uma coordenada z facilmente.
Paramétrica de terceira ordem
Algumas curvas não podem ser facilmente descritas por expressões analíticas em toda sua extensão. Para isso, o objeto
representado passa a ser formado pela união de diversas curvas.
Essa solução trouxe como novo problema a continuidade das conexões, que foi
solucionado com a adoção de curvas representadas por polinômios cúbicos.
Muito conhecidas pelos usuários da CG, as curvas paramétricas de terceira ordem são geradas por um polinômio cúbico e
pela de�nição de um conjunto determinado de pontos de controle, suas abordagens mais conhecidas são:
Hermite
Bézier
Splines
Vamos conhecê-las com mais detalhes.
Ponto inicial (P1)
Ponto �nal (P2)
Vetor de controle de saída (T1)
Vetor de controle de chegada (T2)
Curva Hermite
Permite um maior controle da representação, sendo capaz de gerar formas suaves e homogêneas e formas bruscas, loops,
pois os módulos de T1 e T2 funcionam como pesos na determinação da curva.
Bézier
A curva de Bézier está contida no fecho convexo do polígono de controle. A curva interpola o primeiro e o último ponto do
polígono de controle e utiliza quatro fatores:
Sendo uma curva que possui controle global, ou seja, movendo-se a posição de um só ponto, toda a forma da curva se
modi�ca.
Exemplos das diferentes curvas formadas por alteração na direção de T1 e T2.
Ponto inicial
Ponto �nal
2 pontos de controle das tangentes nos extremos
Controle global
Junção de curvas
Splines
A base de Bézier não é própria para a modelagem de curvas longas, pois possui suporte global e as restrições nos trechos
emendados não são naturais.
Com alternativa a esse problema surge a solução: B-Splines.
Modelagem por polígonos de controle sem restrições adicionais, ou seja, o grau do polinômio independe do número de
pontos de controle, a curva não passa pelos pontos de controle, o controle da curva é local (alteração de um vértice afeta a
curva apenas na vizinhança).
Exemplo de curva Splines.
Comparativo
A �gura abaixo apresenta uma curva modelada pelas três abordagens.
Uma superfície (como uma curva) pode ter representação analítica ou ser gerada por famílias de conjuntos de pontos. Podemos
ainda interpolar, ajustar ou aproximar superfícies a partir de pontos, pois essa forma de geração de objetos por seus contornos é
muito importante na modelagem geométrica.
Comparação entre curvas.
Superfícies
As superfícies são muito importantes para a computação grá�ca, pois grande quantidade de elementos grá�cos é formada
através de superfícies.
Exemplos de objetos formados por superfícies.
Representação analítica
Assim como as curvas, superfícies representadas de forma analítica são obtidas através de uma equação.
As curvas bem conhecidas e usadas na C.G. também podem ser utilizadas para gerar superfícies.
Exemplos de objetos formados por superfícies.
Exemplos de objetos formados por superfícies.
Representação analítica de superfícies geradas por rotação
Uma curva pode ainda ser rotacionada em torno de um eixo para produzir a família mais conhecida de superfícies (sólidos de
revolução ou superfícies de revolução).
A �gura [ao lado] apresenta um segmento de reta girando 360º em torno do eixo z e produz a seguinte superfície cônica:
Representação por conjunto de pontos
Uma forma muito tradicional (e bastante utilizada por tecnologias como OpenGL) de de�nir superfícies é através da simples
representação de seus pontos e conexão dos mesmos. Os pontos podem ser conectados de diversas formas, gerando
malhas que de�nem um conjunto de polígonos como triângulos ou quadriláteros. Estes conjuntos de arestas formam as
faces.
As formas principais de conexão de polígonos utilizando triângulos são:
Triangle list
De�ne uma série de triângulos, sendo a abordagem que
gasta mais memória por não compartilhar vértices, pois
para conectar os triângulos, os vértices precisam ser
repetidos.
Funcionamento: Cada triângulo é de�nido por um
conjunto separado de três pontos.
Triângulo 1: vértices 1, 2 e 3
Triângulo 2: vértices 4, 5 e 6
Triângulo 3: ...
Triangle fan
De�ne uma série de triângulos conectados, que
compartilham um vértice central e o último de�nido.
Funcionamento: Uma vez de�nido o primeiro triângulo, o
primeiro de seus vértices é compartilhado pelos outros
triângulos. Cada triângulo é formado pelo primeiro
vértice, mais outros dois vértices.
Triângulo 1: vértices 1, 2 e 3
Triângulo 2: vértices 1, 3 e 4
...
Triangle strip
De�ne uma série de triângulos conectados, que
compartilham vértices, sendo a abordagem que possui
economia de memória e rápida renderização.
Funcionamento: Depois de de�nir um triângulo com três
vértices, o próximo triângulo pode ser de�nido
simplesmente com a adição de um novo vértice.
Triângulo 1: vértices 1, 2 e 3
Triângulo 2: vértices 2, 3 e 4
...
Representação por conjunto de pontos
Também é possívelconectar polígono utilizando um conjunto de quadriláteros. Os quadriláteros podem ser especi�cados
separadamente ou conectados.
Atividade
1. Abra o paint e procure a ferramenta de desenho de curvas e veri�que qual das três abordagens é utilizada no desenho
dessas curvas.
NotasReferências
ANGEL, Edward. Interactive computer graphics: a top-down approch using OpenGL tm. 5. ed. Boston: Addison-Wesley, 2009.
AZEVEDO, Eduardo; CONCI, Aura. Computação grá�ca: teoria e prática. São Paulo: Campus, 2003.
______. Computação grá�ca: teoria e prática. Volume 2. São Paulo: Campus, 2003.
FOLEY, James D. Computer graphics: principles and practice. 2.ed. Massachusetts: Addison-Wesley, 1996.
WATT, A, POLICARPO, F. 3D Games. [S.l]: Addison Wesley, 2003. v.2.
Próxima aula
Câmera sintética e o processo de visualização 3D.
Explore mais
Leia os textos:
Curvas <//www.ic.uff.br/~aconci/curvas.pdf> ;
Representação de Curvas e Superfícies <https://paginas.fe.up.pt/~aas/pub/Aulas/CG/Slides/10_CurvSuperf.pdf> .
https://www.ic.uff.br/~aconci/curvas.pdf
https://paginas.fe.up.pt/~aas/pub/Aulas/CG/Slides/10_CurvSuperf.pdf

Continue navegando