A Página de LMB

[ en pt-br ]   Principal  *  Blogue  *  FAQ  *  Sobre

Trabalhos da Graduação

Eis alguns trabalhos feitos durante minha graduação em Ciência da Computação. Se não forem úteis para ninguém, pelo menos servem para mim lembrar de alguns dos trabalhos que mais gostei de fazer.

Todos os programas disponíveis aqui estão licenciados sob a Licença Amaldiçoante (que eu ainda não me prestei a escrever — mas que escreverei um dia).

LMB Edit

Um editorzinho de textos simples, escrito em Pascal, lá pelo ano 02000. Há duas versões disponíveis:

  • A primeira é simples e bem estável. [ZIP (27kB) com os fontes e o executável (DOS)]
  • A segunda tem destaque de sintaxe (mostra palavras-chave em uma cor diferente), mas também tem um bug que derruba o programa de vez em quando. [ZIP (32kB) com os fontes e o executável (DOS)]

LMB Raízes

Um programa para criação de árvores genealógicas, em Pascal, escrito, creio eu, no ano 02000. [ZIP (13kB) com os fontes]

Suporte a Programação Genérica em Linguagens

Uma pequena introdução à programação genérica e como ela é suportada em diferentes linguagens de programação. Escrito lá por 02001 ou 02002, quando tive um período de grande atração por usos, digamos, criativos de templates em C++.[PDF (224kB)]

Descrição Formal da Linguagem LM

LM é uma linguagem de programação funcional. LM não é ML. LM significa “Leandro Motta”, em homenagem a seu criador. Ou “Língua Morta”, já que todas as palavras reservadas são derivadas do Latim. [PDF (136kB)]

LMBov-Ray: The Blindness of Vision Raytracer

Um raytracer razoavelmente simples criado para a cadeira de Computação Gráfica Avançada, em 02002. Escrito em C++. [tar.gz (18kB) com os fontes]

As imagens abaixo foram criadas com o LMBov-Ray. Para criar imagens bem melhores, use o POV-Ray.

LMBov-Ray: Esferas, sombra e translucência

LMBov-Ray: Esferas, sombra e translucência

LMBov-Ray: Constructive Solid Geometry (CSG)

LMBov-Ray: Constructive Solid Geometry (CSG)

LMBelleArts

Um renderizador não foto-realístico escrito em C++, em 02002. Renderiza modelos 3D (no formato OBJ) de modo a lembrar vagamente um desenho a lápis. [tar.gz (874kB) com os fontes e alguns objetos 3D]

Para deixar a ideia um pouco mais clara, aí vai um exemplo. À esquerda, temos o modelo 3D como seria renderizado normalmente (Gouroud Shading) e à direita a sua versão renderizada pelo LMBelleArts:

Caveira em renderização com Gouroud Shading e não foto-realística

Caveira (Gouroud e LMBelleArts)

Gostou? Veja mais alguns exemplos.

Geri

Uma implementação do algoritmo Catmull–Clark para superfícies de subdivisão. Criado em uma disciplina de Tópicos Especiais em Computação Gráfica, em 02003. [tar.gz (17kB) com os fontes]

Em outras mil palavras:

Exemplo de superfície de subdivisão

Um modelo 3D com poucos polígonos (esquerda) tem suas faces sucessivamente subdivididas, dando origem a um modelo mais suave (direita).

Em tempo: esta mesma técnica foi utilizada para a criação do personagem Geri do curta Geri’s Game, da Pixar.

Auto Solo Solver: A Program Without a Polite Acronym

Um resolvedor automático de “resta um”. Usa pesquisa em profundidade, força bruta mesmo. Criado na disciplina de Inteligência Artificial, em 02003. [tar.bz2 (5,5kB) com os fontes]


Deixe um comentário