Usando matemática para gerar florestas virtuais 3D

Depois de tirar uns dias de “folga” no início do ano, estou retornando as atividades corriqueiras do blog com uma nova atualização. Mesmo depois de um tempo, desejo um ótimo 2013 para todos os leitores do blog! Como parte da tradição de passar o ano, você provavelmente deve ter feito muitas promessas de mudança nas últimas horas do ano que passou, e espero que entre essas promessas esteja a de estudar um pouco mais para desenvolver as suas habilidades como artista 3d, ou mesmo procurar se aperfeiçoar em áreas como gestão de projetos. Eu mesmo estou decidido a estudar muito mais nesse novo ano, para melhorar minhas aulas e também engajar novos projetos!

Uma das áreas que você pode procurar para estudar é a matemática! Sim, por mais difícil que seja de acreditar, a matemática está diretamente relacionada com a produção de animações em 3d e projetos na área de informática, principalmente se o projeto envolve grandes áreas ou elementos complexos com pequenos detalhes. A manipulação desses elementos manualmente inviabiliza qualquer iniciativa ou tentativa de produzir alguma coisa para fins comerciais. Por exemplo, a criação de florestas e vegetação virtual é quase sempre gerada por fórmulas matemáticas, e com o pessoal da Pixar isso não é diferente.

No seu último projeto chamado de Brave, que não está entre as melhores animações da Pixar, o uso de fórmulas matemáticas para gerar vegetação virtual foi fundamental para conseguir gerenciar as grandes superfícies “verdes” e florestas que fazem parte do cenário da animação. Quer ter uma idéia de como isso foi feito? O vídeo a seguir mostra um pouco da matemática usada pela Pixar na animação Brave.

O que aparece no vídeo é apenas uma amostra, mas deixa claro como o conhecimento desse tipo de algoritmo pode ser fundamental para que uma pessoa possa evidentemente criar de maneira rápida grandes superfícies com vegetação. Mas, para todos os casos existem ferramentas como o V-Ray Scatter e outras que ajudam na tarefa, mas são opções proprietárias fechadas. Você só pode criar aquilo que o software permitir, e gerando a sua própria ferramenta o limite será a sua imaginação, e a capacidade do seu hardware.

18 horas de vídeos completos sobre teoria da computação gráfica 3d

Sempre que uma pessoa me pergunta os passos necessários para estudar mais a fundo os conceitos de computação gráfica, repondo com a seguinte pergunta “você gosta de matemática?”. Sim, para a infelicidade da maioria das pessoas que não gosta muito de números, trabalhar com conceitos avançados de computação gráfica, principalmente na personalização das ferramentas envolve boa dose de matemática, principalmente na parte de modelagem 3d e manipulação de vértices. Se você já tem facilidade com números, a parte lógica da programação em Python, MAXScript, MEL ou até mesmo em C não deve ser muito complicada para você.

Caso você tenha interesse, principalmente as pessoas que estão fazendo faculdade e procuram assuntos para escrever monografias ou trabalhos de conclusão, com estudos mais aprofundados sobre computação gráfica teórica, encontrei uma série de vídeos que podem ser de grande ajuda. Um professor da Universidade de Utrecht na Holanda, chamado Wolfgang Hürst, gravou e disponibilizou uma série de aulas que ele fala sobre computação gráfica.

É a parte teórica mesmo! Não espere encontrar nos vídeos, tutoriais ou dicas sobre como é possível criar modelos 3d com ferramentas como extrude, mas sim a maneira com que o extrude funciona, assim como as fórmulas e algoritmos que regem essas ferramentas.

No total são 24 vídeos, com aproximadamente 50 minutos cada um, o que corresponde a exatamente o tempo de uma aula em ambientes universitários. Portanto, se você sempre teve curiosidade para saber como é que uma aula sobre computação gráfica era ministrada, em ambientes universitários era ministrada, essa é a sua chance.

O material está todo em língua inglesa, mas se o seu objetivo é estudar e você está fazendo uma faculdade, isso faz parte da pesquisa para preparar uma boa monografia ou artigo científico. Para acessar a coleção completa, visite esse link que leva a lista de vídeos.

Essa é uma pequena lista com os temas abordados nos vídeos:

  1. Introdução
  2. Conceitos básicos de Ray tracing
  3. Vetores e curvas
  4. Curvas, superfíces e sombreamento
  5. Matrizes
  6. Transformações lineares
  7. Projeção de perspectivas
  8. Exclusão de superfícies ocultas
  9. Rasterização de triângulos e sombreamento
  10. Ray Tracing
  11. Mapeamento de texturas
  12. Radiosidade
  13. Sombras
  14. Processamento completo de gráficos

Como você pode perceber, os assuntos abordados nos tutoriais são diversos e são uma excelente aula sobre o funcionamento dos softwares 3d. Essa é a base fundamental na qual todos eles funcionam!

Quer ter uma idéia de como é organizado o conteúdo? Esse é o vídeo com a primeira aula, sendo apenas uma introdução ao módulo completo de computação gráfica.


Computer Graphics 2008, Lect. 1(1) – Organization and introduction from Wolfgang Hürst on Vimeo.

O slide título é bem sugestivo, pois o professor Hürst usa o Big Buck Bunny como exemplo, para demonstrar alguns dos conceitos de computação gráfica.

Já assisti a maioria dos vídeos, e recomendo a todos com interesse em aprender mais sobre computação gráfica.