Loading
Nota de Estudos
Study Reminders
Support
Text Version

Introdução às Técnicas de Representação do Objeto

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Olá e bem-vindo à palestra número cinco no curso de computação gráfica.
Vamos recapitear o que aprendemos sobre pipeline gráfico, já que você pode se lembrar de que existem, de forma ampla, 5 estágios do pipeline. Na primeira etapa temos representação de objetos, ou seja, nesta etapa, o que fazemos, essencialmente tentamos representar os objetos que constituirão a cena.
Agora os objetos que são representados são definidos em seu sistema de coordenadas local. Na segunda etapa combinamos esses objetos juntos para formar uma cena. Então, esse estágio é chamado de estágio de transformação de modelagem. E aqui o que fazemos essencialmente realizamos uma transformação a partir do sistema de coordenadas local ou de objeto para o sistema de coordenadas mundial.
E no final dele, obtemos uma cena no sistema de coordenadas do mundo. Na terceira etapa, designamos cores, cores para os pontos de superfície do objeto. Então, a atribuição de cores ocorre no sistema de coordenadas mundial. Na quarta etapa, fazemos uma série de transformações, assim como algumas outras operações. Assim, transferimos os objetos da coordenadoria mundial para um sistema de coordenadas de visualização por meio de uma transformação chamada transformação de visualização. Então, esta é essencialmente uma transformação entre o mundo para visualizar referência de coordenadas.
Agora, depois de fazer isso, executamos uma operação chamada clipping, que fazemos no espaço de coordenadas de visualização. Isso é seguido por outra operação chamada remoção de superfície oculta, que novamente ocorre no espaço de coordenadas de visualização. Depois disso, executamos uma transformação do sistema de coordenadas de visualização 3D para o sistema de coordenadas de visualização 2D. Essa transformação é chamada de transformação de projeção.
E, finalmente, executamos mais uma transformação que é janela para visualizar a transformação de porta, onde transferimos o conteúdo do sistema de coordenadas de visualização 2D para o sistema de coordenadas de dispositivos. Assim, todas essas transformações e operações juntas constituem o quarto estágio, que é chamado de visualização de estágio pipeline.
E então há um estado final chamado de conversão de varredura ou renderização, que é a quinta etapa nesta etapa. Nós renderemos a cena na coordenada do dispositivo para uma imagem na coordenada da tela para que a transformação ocorra nesta última e última fase do pipeline. Entre essas cinco etapas, hoje, iniciaremos nossa discussão sobre a primeira etapa que é a representação de objetos.
Como todos nós sabemos, ou provavelmente podemos adivinhar, que em uma imagem sintetizada em que estamos realizando a síntese usando um computador, é provável que lidemos com objetos de diferentes formas e tamanhos.
E que diferentes formas e tamanhos podem variar bastante. Podemos lidar com minúsculos flocos de neve para criar uma cena ou podemos lidar com personagens complexos, personagens de animação para criar um filme ou animação e todas as formas e tamanhos possíveis de objetos em entre.
Agora, como você pode entender, um floco de neve, por exemplo, não é um objeto simples, ele tem uma forma elegante e a menos que reproduzimos essa forma elegante não será capaz de reproduzir uma imagem ou cena realista. Então, idealmente os flocos de neve não devem ser representados com esfera simples.
Da mesma forma, um personagem animado precisa ser representado com suas complexidades associadas para que pareça realista. Não devemos tentar simplificá-lo usando dizem polígonos simples ou formas geométricas simples.
Agora, para gerar uma cena com todos esses objetos díspares, o que precisamos, precisamos de alguma maneira de representá-los para que os computadores possam entender e processar esses objetos. E como eu disse antes, qualquer representação não funcionará. Assim, não podemos representar um floco de neve com uma esfera que reduzirá a sensação realista da imagem gerada.
Agora, há duas questões fundamentais relacionadas à representação de objetos; como podemos representar diferentes objetos com suas complexidades características, de modo que aqueles podem ser renderizados de forma realista em um ambiente sintetizado? Por isso, o que nos diz que precisamos representar diferentes objetos, preservando suas complexidades inerentes para que, ao serem renderizados na tela, obtenhamos a sensação de realismo na imagem sintetizada.
A outra questão é: como podemos ter uma representação que torne o processo de renderização eficiente? Em outras palavras, podemos realizar as operações das diferentes etapas do pipeline de maneiras que otimizem as complexidades do espaço e do tempo? Então, uma questão trata de criar efeitos realistas e como discutimos em nossas palestras introdutórias, criar efeitos realistas envolve muitas computações e muito processamento de dados que exigem armazenamento.
Por isso, a outra questão fundamental relacionada à representação de objetos é que temos alguns recursos de computação disponíveis envolvendo armazenamento e processadores. Agora, podemos querer usar representações muito complexas para criar efeito mais realista, mas se os nossos recursos disponíveis apoiarão tais representações, que serão utilizadas em fases subsequentes do pipeline? Isso também precisamos ter em mente enquanto estamos indo para uma representação particular. Então, há um ofício de ofa; um é realismo, um está disponível recursos e temos que equilibrar o tradeado.
Agora, para equilibrar esse trade off, uma infinidade de técnicas foram desenvolvidas para representar objetos e hoje passaremos por algumas dessas técnicas em breve e os detalhes serão discutidos em palestras subsequentes.
Todas essas técnicas podemos categorizar em praticamente quatro tipos, primeiro é uma representação de amostra de ponto. Segundo uma é representação de limite. O terceiro é o particionamento espacial. E o quarto é uma representação varrida. Por isso, temos um grande número de técnicas e todas essas técnicas podem categorizar em quatro tipos; amostra de ponto, representação de limite, particionamento espacial e representação de varredura.
Vejamos o que é, o que é começar com a primeira representação de amostra de ponto de categoria. Para criar uma cena 3D podemos capturar primeiramente dados brutos como cor, superfície normal e profundidade informações de diferentes pontos no local. Como podemos capturar esses? Podemos usar vários dispositivos como scanner de alcance 3D, acabamento de range ou usando câmera simples e técnicas de visão de computador. Assim, usando esses dispositivos e técnicas, podemos capturar informações cruas sobre uma cena 3D, a saber, as informações de cores ou as informações normais de superfície ou as informações de profundidade em diferentes pontos do local.
Agora, já que já conseguimos essas informações, por isso não precisamos computá-las e podemos renderizar diretamente esses pontos em uma tela. Então, podemos processar esses pontos posteriormente para gerar a cena, então aqui o foco é captar a informação em vez de computar os valores, então qual é a representação?
A representação é um conjunto de pontos de dados brutos, para cada ponto de dados, capturamos alguns valores como cor, profundidade, superfície normal, vetor. Estes são os seus atributos. Assim, nossa representação envolve o conjunto de pontos de dados, bem como alguns valores de atributos para cada um, e que é chamado de representação de amostra de pontos. Por isso, essencialmente estamos representando a cena 3D em termos de pontos amostrados em diferentes locais.
O próximo é a representação de limite. Há também um conjunto de técnicas que representam um objeto, representando as superfícies de objetos individuais. Agora essas superfícies podem ser poligonais ou curvas. Por exemplo, veja a figura aqui, aqui no lado esquerdo da figura vemos seis superfícies. Denominadas A, B, C, D, E e F. Agora, esta superfícies definiu o cubo mostrado no lado direito da imagem. Então, você está representando o cubo, que é um objeto em termos dessas superfícies, que são retângulos interligados A a F. Então, isso é representação limite. Por isso, estamos representando o cubo em termos de suas superfícies bredondadas ou de limite.
Existem outras técnicas em que, nós não representamos objetos em termos de limites. Em vez disso, o que fazemos, utilizamos o espaço 3D ocupado pelo objeto para representá-lo. Agora dividimos o espaço em várias regiões desarticuladas, desarticuladas ou regiões não sobrepostas. Qualquer ponto dentro do objeto encontra-se em exatamente uma das regiões, portanto, a divisão é feita de maneira tal que qualquer ponto dentro do objeto encontra-se em exatamente uma das regiões.
Assim, quando representamos objetos desta maneira. Em seguida, estamos essencialmente representando em termos do espaço ocupado pelo objeto em vez das superfícies delimitantes, portanto, aquelas técnicas em que tais abordagens são utilizadas são chamadas de métodos ou representações de particionamento espacial. E tais representações são muitas vezes criadas de forma hierárquica. Isso significa que o espaço ocupado pelo objeto é dividido em sub-regiões. E esse mecanismo de divisão é aplicado recorrentemente a cada sub-região até chegarmos a algum tamanho predefinido da sub-região.
Agora, essas representações hierárquicas podem ser representadas de diferentes formas. Uma maneira comum é formar uma árvore ou mostrar a representação na forma de uma árvore, que muitas vezes é chamada de árvores de particionamento espacial. Essa é uma forma comum de representar um objeto em termos do espaço ocupado por ele.
E, finalmente, temos a representação varrida. Agora, há duas técnicas de representação de varredura que são amplamente utilizadas em gráficos. Uma é a representação da superfície varrida e a superfície de representação da revolução.
Tentemos entender a representação da superfície de varredura. Neste tipo de representação 3Dsurfaces são obtidos através de atravessando uma entidade como um ponto, linha, polígono ou curva ao longo de um caminho no espaço de maneira especificada. Por exemplo, olhe para a figura aqui temos esse retângulo e o retângulo é movido em uma trajetória específica. Para criar esse objeto geral de interesse.
Então, o objeto aqui é isso, coisa toda criada ao mover um retângulo ao longo do caminho especificado.
Esse tipo de representação onde não estamos realmente representando um objeto em termos de sua superfície delimita ou o espaço ocupado por ele, em vez disso, estamos realmente representando-o em termos de um processo em que a entrada é uma superfície primitiva e o caminho que ele segue. E especificamos o caminho para percorrer esse caminho. Esse tipo de representação é chamado de superfícies varridas.

De forma semelhante há uma outra representação chamada superfície de revolução, já que o nome sugere aqui o que fazemos, definimos uma entidade 2D que gira em torno de um eixo. Especificamos também o eixo.
Então, então, o objeto resultante é o que nos interessa. Por exemplo, aqui novamente se considerarmos digamos o retângulo e este é o caminho ou caminho de rotação em torno do eixo x, então obtemos esse objeto geral, que é o nosso objeto desejado.
Portanto, aqui, novamente, não estamos realmente especificando o objeto em termos de suas superfícies delimitantes ou do espaço ocupado por ele, mas em termos de um objeto primitivo, neste caso, retângulo e o eixo e a direção de revolução. Então, esse tipo de representação é conhecida como a superfície da revolução.
Agora, algumas dessas categorias têm subcategorias também. Por exemplo, as técnicas de representação de limite possuem três tipos de sub técnicas, uma é a representação mesh, o que é mais comum. Temos representação paramétrica e a terceira é representação implícita.
Em caso de métodos de particionamento espacial há novamente várias subtécnicas, subcategorias como métodos de ocárvores, árvores de BSP, geometria sólida construtiva ou CSG. Agora, além dessas grandes categorias e subcategorias, existem algumas outras técnicas que não se enquadram em nenhuma dessas categorias amplas, que são categorias em si. São principalmente a representação de objetos fotorealistas específicos ou complexos. Assim, agora, a representação de objetos fotorealistas complexos indica que essas técnicas são usadas para representar efeitos realistas de uma maneira muito complexa.
Vejamos alguns exemplos. Há uma técnica chamada representação fractal. Por exemplo, veja esta figura da árvore aqui se você olhar atentamente para cada galho da árvore, verá que a estrutura geral é replicada em cada ramo. Assim, toda a estrutura da árvore é replicada em cada ramo e dentro deste ramo, os sub-ramos replicam novamente esta estrutura de árvore. Então, é uma estrutura auto-repetida, que é representada usando notações fractais. Assim, a representação fractal é uma representação útil e na natureza chegamos a ver muitos objetos que na verdade se auto-repetem, onde a representação fractal é muito útil.
Outra técnica de representação avançada é a representação do sistema de partículas, em que tentamos simular a física real, por exemplo, se quisermos criar essa cachoeira de uma forma muito realista. Então a representação do sistema de partículas seria mais apropriada do que qualquer outra representação que utilizamos até agora onde seremos capazes de realmente mimetizar a maneira como esta água flui devido à gravidade e cai de uma posição mais elevada para a posição mais baixa e as colisões e como elas se dispersam, todas essas coisas podem ser capturadas usando a representação do sistema de partículas.
Terceira técnica é a representação do modelo esquelético. Se quisermos criar um personagem como este, podemos representar o personagem usando uma forma esquelética, que é mostrada nesta figura lateral esquerda. E a forma como esta forma esquelética é definida, assim, sempre que esse personagem se move, o movimento do esqueleto também é proporcional. Por isso, considerações cinemáticas são levadas em conta enquanto definimos uma representação esquelética. Estas são apenas algumas de muitas representações tão possíveis que são realmente usadas na geração de uma cena realista.
Por isso, em síntese, o que podemos dizer é que temos um grande número de técnicas disponíveis para representar objetos 3D. Amplamente, há quatro técnicas. Uma é a renderização de amostra de ponto onde em vez de tentar artificialmente criar formas de objetos, nós realmente capturamos alguns valores, a saber, cor, profundidade, superfície normal em diferentes pontos de uma cena e depois simplesmente reproduzir aqueles na tela, ou seja, renderização de amostra de pontos.
Outra técnica é a representação de limite, que possui muitas subcategorias como representação de malha, representação paramétrica e representações de superfície implícitas. Em técnicas de representação de limite representamos objetos em termos de suas superfícies delimitantes onde essas superfícies bredondadas podem ser linhas, curvas, polígonos, qualquer coisa.
A terceira técnica é o método de particionamento espacial aqui, em vez de representar um objeto em termos de seu limite, o que fazemos é representamos o espaço ocupado por este objeto. E tipicamente, utilizamos alguma representação hierárquica na forma de árvores, que é mais popularmente chamada de árvore de particionamento espaçosa. E há muitas subcategorias de tais representações, a saber, método de ocárvore, método BSP ou método de particionamento espaço-binário, método de geometria sólida construtiva ou métodos de CSG.
A quarta técnica é a representação varrida, onde não representamos o objeto todo.
Em vez disso, representamos os objetos em termos de uma forma primitiva e de algum caminho de movimento ou de trajetória. Há duas técnicas de representação tão abrangência disponíveis; varrida superfície e superfície de revolução. Um ponto interessante sobre esse tipo de representação é que aqui a representação em si contém uma abordagem em vez de objetos.
A abordagem é como mover a superfície primitiva ao longo de um caminho ou em torno de um eixo. Agora, para além destas amplas quatro categorias, há outras representações disponíveis que são específicas de aplicação, por vezes, são também possíveis algumas técnicas específicas, nomeadamente gráficos de cena, modelo esquelético e modelagem avançada, nomeadamente fractais ou sistemas de partículas.
Agora, entre essas categorias em palestras subsequentes, discutiremos em detalhes essas duas categorias; representação de limite e representação de particionamento espacial. Nas técnicas de representação de limite, discutiremos todas essas três subcategorias em alguns detalhes, enquanto que no método de particionamento espacial discutiremos essas três subcategorias em alguns detalhes.
E na representação limite vamos aprender sobre uma técnica de representação específica, a saber, a representação spline, que é muito popular em representar formas complexas em gráficos.
O que quer que eu tenha discutido hoje é apenas a introdução às técnicas de representação de objetos, várias técnicas que estão disponíveis para representar objetos. Em seguida, poucas palestras serão dedicadas aos detalhes dessas técnicas.