Loading
Nota de Estudos
Study Reminders
Support
Text Version

Técnicas De Representação De Limites

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 seis do curso, computação gráfica.
Por isso, iniciamos nossa discussão sobre a representação de objetos 3D, que é a primeira etapa do pipeline gráfico.
Para recapitear, vejamos o pipeline novamente. Há 5 estágios amplos. Como sendo mostrado nesta tela, a primeira etapa é a representação de objetos, que estamos discutindo atualmente, as outras etapas que levaremos em palestras subsequentes, a saber, a transformação de modelagem, iluminação, visualização de pipeline e conversão de varredura.
Um ponto que eu gostaria de mencionar aqui é que, embora neste curso, eu acompanharei os estágios de pipeline na forma como mostrado aqui, na prática, não é necessário ter essa sequência exata. Alguns estágios podem vir depois de alguns outros estágios. Por exemplo, a iluminação pode ser feita após a visualização do duto ou em entre algumas das transformações do pipeline de visualização e assim por diante. Então, a sequência que eu estou mostrando aqui não precisa ser seguida exatamente durante a implementação de um sistema gráfico. Isso é apenas para a nossa compreensão dos estágios envolvidos e a sequência pode variar.
Agora, o que aprendemos na palestra anterior, conseguimos uma introdução geral a várias técnicas de apresentação de objetos. Quais foram essas técnicas que discutimos? Uma técnica é a renderização de amostra de pontos, então temos técnica de representação de limite, técnicas de particionamento de espaço e técnica de representação de varredura. Estas são as 4 categorias amplas que mencionamos, cada uma delas tem subcategorias representação limite, possui três subcategorias; representação de mesh, representação paramétrica e representação implícita.
O particionamento do espaço possui três subcategorias; representação de ocárvore, representação do BSP e representação da CSG. BSP significa particionamento de espaço binário, enquanto que a CSG defende geometria sólida computacional. Na representação varrida, temos duas técnicas; superfícies varridas e superficiais de revolução.
Fora essas 4 categorias amplas, temos outras representações também. Algumas são específicas de aplicação, existem algumas técnicas gerais de representação avançada, nomeadamente gráficos de cena, modelos de esqueleto, modelos esqueléticos e técnicas avançadas de modelagem. Agora, nas técnicas avançadas de modelagem temos muitas tais técnicas, representação fractal, renderização de amostra de pontos, sistemas de partículas, entre outros.
Hoje, discutirmos em detalhe uma dessas técnicas, nomeadamente técnicas de representação de fronteiras. Já vimos que em técnicas de representação de limites representamos um objeto em termos de suas superfícies delimitantes ou das superfícies que constitui seu limite. Agora, aquelas superfícies podem ser simples polígonos ou etapas complexas.
Há várias maneiras de representar essas superfícies bredondadas. Mencionamos três subcategorias de representação; representação de mesh, representação implícita e formas paramétricas. Por isso, hoje vamos ter uma ideia introdutória a todas essas três técnicas de representação.
Comecemos pela representação da mesh. Esta é a técnica mais básica de representação de objetos em uma cena, onde usamos polígonos para representar as superfícies. Agora os polígonos em termos são representados usando vértice ou listas de borda que armazenam informações sobre todos os vértices ou bordas da superfície e seu relacionamento. Por exemplo, considere a figura aqui, você está representando um cubo em termos de seus vértices v1, v2 e assim em até v7, portanto, há 8 vértices. E esta é a representação onde estamos armazenando os vértices com valores de coordenadas e alguns outros valores, capturando os relacionamentos.
Por exemplo, aqui nesta primeira linha, ela nos informa que v0 está conectado a v1, v3 e v5. Da mesma forma, cada vértice armazena os outros vértices o qual, ele tem uma conexão para, esta é uma representação, pode haver outras formas de representá-la.
Ora, às vezes as superfícies não precisam ser polinomiais, mas em mesh representações, o que podemos fazer é aproximar qualquer coisa a malhas poligonais como a figura mostrada aqui, aqui, esta mão na verdade não contém nenhuma superfície poligonal. Mas esta superfície de mão eu posso aproximar com este tipo de malhas triangulares onde muitos triângulos são usados para aproximá-lo. E, novamente, essas malhas são representadas usando vértice e listas de borda.
Na verdade, a representação da malha é a forma mais básica de representação qualquer outra representação que possamos utilizar acabará por ser convertida em representação de mesh no final do pipeline antes de os objetos serem renderdos. Então, nós temos que manter isso em mente. Então, seja qual for a representação que utilizamos e vamos aprender sobre em discussões subsequentes, no final, tudo é convertido para uma representação mesh.
Agora há uma questão importante. É assim que muitos polígonos devemos usar para aproximar as superfícies? Essa é uma questão muito fundamental.
Porque mais o número de polígonos, melhor a aproximação é, isso é óbvio. No entanto, mais subdivisão também implica em mais armazenamento e computação. Assim, se podemos utilizar três triângulos para representar uma superfície, que (()) (8:37) se estamos usando 30 triângulos para representar uma superfície, a última representação, é claro, dará uma melhor clareza visual, melhor qualidade visual.
No entanto, uma vez que estamos aumentando o número de objetos ou polígonos na malha, haverá um aumento correspondente no armazenamento porque temos que agora armazenar vértices para 30 triângulos, que são (()) (9:08) 3 triângulos assim como cálculos, pois temos que executar subdivisão recursiva para criar essa malha, um número maior de vezes, que (()) (9:19) quando temos menos número de triângulos. Assim, a criação de mesh é de computação intensiva, e armazenar as informações da mesh também é intensivo de armazenamento e, se aumentamos ambos, então ambos precisam ser levados em conta.
Por isso, há um trade-off e o que precisamos fazer é otimizar as complexidades do espaço e do tempo enquanto mantém a qualidade aceitável, qualidade de representação aceitável. Agora como decidir como equilibrar esse tradeado? A resposta depende da aplicação e dos recursos disponíveis.
Dependendo dos recursos e dependendo do que precisamos para renderizar podemos escolher o valor certo para o número de subdivisões necessárias e assim como o número de polígonos. Vamos ser aproximados de uma superfície com uma malha. Isso é sobre a representação da mesh.
Em seguida, passemos para as outras duas representações, implícitas e representações paramétricas.
Agora, embora tenhamos dito que a representação da malha é o tipo mais fundamental de representação, para um desenvolvedor não é necessariamente um modo muito conveniente de representação porque para superfícies complexas, antes de mais nada, é muito difícil determinar quantos polígonos devem ser usados para criar uma malha. Em segundo lugar, é muito incômaneira enumerar todos os vértices da malha.
Se o número de polígonos na malha ou o número de malhas que estamos utilizando for grande, o que provavelmente será o caso em qualquer aplicação prática. Por isso, o que é necessário é algum compromisso e alguma forma de ajudar o desenvolvedor a definir objetos sem se incomodar muito ou gastar muito tempo na definição das malhas.
Assim, designers ou desenvolvedores gostam de usar representações que mimetizam objeto real em vez de sua aproximação. Isso traz em imagem algumas representações de alto nível, técnicas de representação, para superfícies curvas. Agora essas técnicas provavelmente representem superfícies curvas com mais precisão e convenientemente para o designer, estas não são aproximações, antes mais próximas das representações reais.
Assim, representações implícitas e paramétricas são essencialmente aqueles tipos de representações onde é mais conveniente e representa objetos de maneira mais precisa ao invés de aproximar os objetos. Agora, comecemos com a representação implícita. Por isso, neste caso as superfícies são definidas em termos de forma funcional implícita, algumas equações matemáticas. Em caso de representação paramétrica, os pontos de superfície são definidos no espaço Euclideano em termos de alguns parâmetros, novamente sob a forma de algumas equações matemáticas.
Agora, vejamos alguns exemplos que são popularmente usados em gráficos. Comecemos por superfícies quadradas.
Estes são freqüentemente usados classe de objetos em gráficos que são representados usando a forma implícita ou paramétrica. E este termo superfícies quadríticas refere-se a esses objetos, que ou a superfície dos quais são descritos com equações de segundo grau ou equações quadráticas.
Por exemplo, esferas, estas são muito comumente usadas. Na forma implícita, podemos representar uma superfície esférica com raio r e, que é centrada na origem como. Então, essa equação nós podemos usar para representar implicitamente uma esfera. A mesma esfera pode ser representada parametralmente também utilizando esta forma em que os ângulos teta e phi dos parâmetros que representam os ângulos de latitude e longitude como mostrado nesta figura aqui, este é o ângulo de latitude e este é o ângulo de longitude. E este p é um ponto sobre esta esfera, que é representada usando os parâmetros.
Da mesma forma, podemos representar o ellipsoide também em forma implícita como mostrado aqui ou em forma paramétrica como mostrado aqui. Esta é outra superfície quadrírica amplamente utilizada. Há muitos outros exemplos como tori, parabolóides e hiperboloides. Algumas outras superfícies quadricas amplamente utilizadas em aplicações gráficas.
Uma classe interessante de objetos são chamados objetos de blobby. Existem alguns objetos para os quais suas formas mostram certo grau de fluidez ou flexibilidade, isso significa que o formato de objeto muda durante o movimento ou quando chega mais perto de outros objetos. Geralmente, esses objetos têm superfícies curvas, mas não podemos usar formas padrão como linhas, polinômios ou quadráticas, equações quadráticas ou quadrinhos para representar essas formas porque essas equações ou formas padrão falham em representar a fluidez da superfície de uma maneira realista. Por isso, temos objetos que mostram alguma fluidez, cujas superfícies são representadas usando algumas curvas, mas aquelas curvas não podemos representar usando linha ou polinômios ou quadrinhos porque então perderemos a natureza fluídica.
Agora tais objetos geralmente são chamados de objetos de blobby como estruturas moleculares, gotículas de líquido e de água, objetos de fusão, formas musculares animais e humanas e assim por diante, esses são alguns exemplos há muitos outros exemplos também. Existem vários métodos para representar objetos de blobby. Ao todo, há uma abordagem comum essencialmente para utilizar alguma função de distribuição de mais sobre uma região do espaço.
Um método é usar uma combinação de funções de densidade gaussiana ou, às vezes, chamadas de bumbos gaussianos. Um exemplo é mostrado aqui de uma função de densidade gaussiana, ele é caracterizado por dois parâmetros, altura e desvio padrão como mostrado na figura. Agora, quando combinamos muitas tais funções, variando os dois parâmetros, mais alguns outros parâmetros, obtemos um objeto blobby ou podemos representar um objeto blobby. Assim, o objeto pode ser representado com uma função como esta. Sujeito à condição mencionada aqui. Agora, variando os parâmetros, ak e bk podemos gerar quantidade desejada de bloba ou fluidez que exigimos. Agora, quando bk se torna negativo, então há dentes em vez de solavancos e T é algum limite especificado.
Um exemplo é mostrado aqui onde utilizamos três funções de densidade gaussiana, variando os parâmetros para criar uma forma geral, algo assim como mostrado nesta linha pontilhada. Há um outro método interessante para usar os objetos blobby. Isso também é bastante popular onde uma função de densidade quadrática em vez de bumbos gaussianos é usada.
O que parece algo como este b é o fator de escala, r é o raio do objeto e d é o raio máximo, d é o ligado na propagação do objeto em volta de seu centro. Assim, até que ponto o objeto é restringida ao redor do centro é especificado por d. Então, esses três são os parâmetros usando quais podemos definir um objeto blobby neste modelo metaball.
Agora, essas são algumas técnicas que discutimos, no entanto é muito difícil ou mesmo impossível representar qualquer superfície arbitrária em forma implícita ou paramétrica. As funções que já vimos são bastante complexas em si mesmas. Mas, ainda assim, há outras superfícies que podem se tornar muito difíceis, que de fato são muito difíceis de representar usando tais equações.
Por isso, para representar tais superfícies, utilizamos um tipo especial de representação paramétrica chamada spline representação ou splines. Agora essas splines discutiremos em mais detalhes na próxima palestra.
Então, hoje, temos uma introdução a várias técnicas de representação de limites, então aprendemos sobre representação de malha, aprendemos sobre a ideia básica de técnicas de representação implícitas e paramétricas com alguma discussão detalhada sobre superfícies quadradas e objetos de blobby.