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