Avançar para o conteúdo principal

Mensagens

A mostrar mensagens de 2014

Numeração Romana

Vamos hoje fazer um pequeno programa que converte os números da numeração árabe para a numeração romana. Segundo a Wikipédia "O sistema de numeração romana (ou números romanos) desenvolveu-se na Roma Antiga e utilizou-se em todo o seu Império." Uma vez que os romanos não conheciam o 0 (zero) vamos limitar o nosso programa a valores entre 1 e 3999. Para começar definimos dois vetores: Dim valores As Integer() = New Integer() {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1} Dim romanos As String() = New String() {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"} O primeiro tem os valores inteiros que correspondem a determinadas letras que se encontram no segundo. O segundo vetor contém as letras que são combinadas, ou não, e que permitem representar os valores na numeração romana. Para fazermos a conversão vamos criar uma f

OpenGL Parte II

No artigo anterior criámos a base do nosso pequeno jogo que agora vamos expandir. O objetivo de hoje é ter uma função que lê os modelos exportados do Blender, ou de outro programa de modelação 3D, em formato Wavefront (extensão OBJ) e apresentar esse modelo no controlo SharpGL. Neste nosso pequeno projeto os objetos têm de ser sempre formados por triângulos por isso quando exportamos no Blender temos de garantir que todas as faces são "trianguladas". Fica aqui uma imagem com as opções de exportação a utilizar: O ficheiro com o modelo tem linhas de vários tipos: Vértices: P.Ex: v 0.940139 -0.495046 0.940139 Coordenadas das texturas: P.Ex: vt 0.000000 0.424059 Normais: P.Ex: vn -0.000000 -1.000000 -0.000001 Faces ou triângulos: P.Ex: f 1/1/1 2/2/1 3/3/1 Basicamente com estes três tipos de linhas e com uma imagem podemos moldar qualquer objeto. Os vértices, como é fácil de perceber representam os pontos de cada triângulo (x,y,z), as coordenadas das texturas permitem aplicar a te

OpenGL

Neste artigo vou apresentar um método simples de como criar aplicações 3D utilizando a linguagem de programação C# através de um controlo que encapsula as funções OpenGL para a plataforma .NET. O controlo a utilizar responde pelo nome de SharpGL . A versão atual do controlo inclui modelos de aplicações que podem ser instalados diretamente na versão 2010 do Visual C#, incluindo a versão Express. Depois de instalado o SharpGL basta escolher o tipo de aplicação pretendida: Windows Forms ou WPF. A partir daqui podemos gravar o projeto criado e abri-lo na versão 2012 do Visual Studio. De seguida é possível exportar o projeto a partir do Visual Studio 2012 como um Template para que se possam criar mais projetos sem ser necessário voltar ao Visual C# 2010. Esta opção abre um Wizard que passo a passo permite gerar o Template na Versão 2012 do Visual Studio. O modelo agora criado apresenta código que permite gerar uma pirâmide 3D a rodar com cores diferentes entre os vertices. O controlo gera