Aula 12 – Superfícies Prof. Leo Superfícies Introdução 2  As superfícies são muito importantes para a computação gráfica  Uma grande quantidade de elementos gráficos são formados através de superfícies Superfícies Introdução 3  Uma superfície (como uma curva) pode:  Ter representação analítica  Ser gerada por famílias de conjuntos de pontos   Podemos ainda interpolar, ajustar ou aproximar superfícies a partir de pontos Essa forma de geração de objetos por seus contornos é muito importante na modelagem geométrica Superfícies Representação Analítica 4   Assim como as curvas, superfícies representadas de forma analítica são obtidas através de uma equação s x(s,1) P1,1 Exemplo:  Polinômios P0,1 de grau 1 x(s,t) t P0,0 s P1,0 x(s,0) Superfícies Representação Analítica 5  Exemplo:  polinômios de grau maior que 1 Esfera Parabolóide Hiperbólico Superfícies Representação Analítica 6  As curvas bem conhecidas e usadas na C.G. também podem ser utilizadas para gerar superfícies  Pontos intermediários podem ser interpolados Bézier Spline Superfícies Representação Analítica – Geradas por Rotação 7  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 Ex: um segmento de reta girando 360º em torno do eixo z produz a seguinte superfície cônica: Superfícies Representação Analítica – Geradas por Rotação 8  Exemplos POV-Ray Superfícies Representação por Conjuntos de Pontos 9  Uma forma muito tradicional (e bastante utilizada por tecnologias como OpenGL) de definir superfícies é através da simples representação de seus pontos e conexão dos mesmos  Os pontos podem ser conectados de diversas formas diferentes  As malhas formadas pela conexão de pontos em geral definem um conjunto de polígonos como triângulos ou quadriláteros  Este conjunto de arestas formam as faces Superfícies Representação por Conjuntos de Pontos 10  As formas principais de conexão de polígonos utilizando triângulos são:  Triangle list  Triangle strip  Triangle fan Superfícies Representação por Conjuntos de Pontos 11  Triangle list  Define uma série de triângulos É o que gasta mais memória por não compartilhar vértices  Para conectar os triângulos, os vértices precisam ser repetidos  Funcionamento:  Cada triângulo é definido por um conjunto separado de 3 pontos    Triângulo 1: vértices 1, 2 e 3 Triângulo 2: vértices 4, 5 e 6 ... Superfícies Representação por Conjuntos de Pontos 12  Triangle list B  Ex: Definição da malha: A, B, C, B, C, D, C, D, E D 2 1 A 3 E C  Qual o formato da malha formada pelo conjunto de vértices: ( 0.0f, 0.0f, 0.0f ) ( 0.0f, 1.0f, 0.0f ) ( 1.0f, 0.0f, 0.0f ) ( 1.5f, 1.0f, 0.0f ) ( 2.0f, 0.5f, 0.0f ) ( 3.0f, 1.5f, 0.0f ) Superfícies Representação por Conjuntos de Pontos 13  Triangle strip  Define uma série de triângulos conectados, que compartilham vértices  Economia de memória e rápida renderização  Funcionamento:  Depois de definir um triângulo com três vértices, o próximo triângulo pode ser definido 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 ... Superfícies Representação por Conjuntos de Pontos 14  Triangle strip  Ex: Definição da malha: A, B, C, D, E, F  Qual o formato da malha formada pelo conjunto de vértices: ( 0.0f, 0.0f, 0.0f ) ( 0.0f, 1.0f, 0.0f ) ( 1.0f, 0.0f, 0.0f ) ( 1.5f, 1.0f, 0.0f ) ( 2.0f, 0.5f, 0.0f ) ( 3.0f, 1.5f, 0.0f ) Superfícies Representação por Conjuntos de Pontos 15  Triangle fan  Define uma série de triângulos conectados, que compartilham um vértice central e o último definido  Funcionamento:  Uma vez definido 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 ... Superfícies Representação por Conjuntos de Pontos 16  Triangle fan  Ex: Definição da malha: A, B, C, D, E, F  Qual o formato da malha formada pelo conjunto de vértices: ( 0.0f, 0.0f, 0.0f ) ( 1.0f, 0.0f, 0.0f ) ( 0.5f, 0.5f, 0.0f ) ( -0.5f, 1.0f, 0.0f ) ( -2.0f, 0.0 f, 0.0f ) Superfícies Representação por Conjuntos de Pontos 17  Também é possível conectar polígono utilizando um conjunto de quadriláteros  Os quadriláteros podem ser especificados separadamente ou conectados Independentes Conectados