Archive for the ‘Desenvolvimento’ Category
Realidade Aumentada – Semana Acadêmica Sociesc 2011
Buenas,


Esta semana aconteceu um evento na Sociesc que foi a semana acadêmica de computação, com vários mini-cursos e palestras da área. Ano passado participei da semana acadêmica da Sociesc com uma palestra sobre Domain Driven Design e um Coding Dojo em c#, este ano participei com um mini-curso de realidade aumentada.
O objetivo do mini-curso era fazer uma introdução à realidade aumentada, situando o pessoal no que já existe, nas novas tendências, mercado e as tecnologias envolvidas. A parte prática dividi em duas etapas:
1. Desenvolvimento de um aplicativo para Android utilizando realidade aumentada, integrando com a API de localização interativa Wikitude;
2. Modelagem de objetos 3D no SketchUp e visualização do mesmo com realidade aumentada utilizando uma webcam;
Toda parte prática foi efetuada por mim em um computador cuja imagem estava sendo projetada em um telão, para o pessoal ir acompanhando e fazendo em seus computadores. Mas para facilitar que ninguém se perdesse, durante o mini-curso, ou mesmo para fazer em casa eu criei um tutorial com as atividades. O tutorial e a apresentação estão a seguir:
Outro ponto importante para quem quiser fazer em casa é ter os aplicativos e saber de onde baixar.
Desenvolvimento para Android:
- Java SDK (JDK): http://www.oracle.com/technetwork/java/javase/downloads/index.html
- Motodev Studio for Android: http://developer.motorola.com/docstools/motodevstudio/download/
- Android SDK: http://developer.android.com/sdk/index.html
O Motodev é o eclipse com todos os plugins, se assim podemos dizer, prontos para desenvolvimento para Android. Basta instalar o Motodev, configurar o caminho do Android no primeiro acesso e já está pronto para uso, simples e fácil. Importante: É necessário executar o SDK Manager do Android e instalar a versão do sistema operacional que irá trabalhar, a sugestão deste tutorial foi a versão 2.1, mas poderia ser utilizada uma mais recente.
Todo ambiente pode ser feito no Windows, Linux ou Mac e não precisa pagar nada por nenhum dos aplicativos acima citados.
Embora o Motodev seja da Motorola, ele pode ser utilizado tranquilamente para qualquer dispositivo Android.
Modelagem 3D com SketchUp:
- SketchUp 7 ou 8, não precisa ter a versão PRO: http://sketchup.google.com/
- Ar-media plugin for SketchUp: http://www.inglobetechnologies.com/en/new_products/arplugin_su/info.php
O plugin da Ar-media é pago, porém a versão trial pode ser utilizada para conhecer os recursos disponíveis. O custo dela atualmente é de trezentos euros e só funciona em Windows e Mac.
Para quem desejar exportar do SketchUp para um dispositivo móvel, é necessário exportar para extensão OBJ. A versão PRO do SketchUp já efetua exportação, mas quem tem a versão grátis, pode utilizar o plugin ObjExporter para isto. Basta descompactá-lo no diretório plugins do SketchUp para que apareça na brra de menu. Depois de exportado basta salvar no dispositivo móvel e visualizá-lo com um aplicativo específico para leitura de OBJ e visualização no formato realidade aumentada. Uma sugestão é o projeto Andar para Android, ele pode ser instalado direto pelo market. O aplicativo Andar Model Viewer permite selecionar um arquivo .obj diretamente do cartão de memória para visualização com realidade aumentada utilizando o marcador do projeto Andar.
Existiram vários vídeos durante a apresentação, cujos links seguem dentro da própria apresentação, porém para facilitar coloco abaixo para não precisar digitar no navegador.
- Introdução: http://www.youtube.com/watch?v=JDN_ZN0XEow
- Exemplos de RA: http://www.youtube.com/watch?v=P9KPJlA5yds e http://www.youtube.com/watch?v=hXtq1qBMLIw
- Exemplos de Wikitude: http://www.youtube.com/watch?v=g-0cuqeUvCQ e http://www.youtube.com/watch?v=hAcAHgUge-8&feature=related
- Encerramento: http://www.youtube.com/watch?v=gHNBS5NJxHk
- Outros: http://www.youtube.com/watch?v=yCEHIkJanm4
É isso aí pessoal! Vou fazer um próximo post com os bastidores e mais detalhes do mini-curso.
Abrs a todos,
Lorival
“Não há fatos eternos, como não há verdades absolutas”. Friedrich Nietzsche
Algoritmos de ordenação em C#
Olá,
Estou postando um pequeno trabalho que fiz, algum tempo atrás, sobre algoritmos de ordenação.
O objetivo era simples, construir os algoritmos abaixo e comparar seus desempenhos:
- Bubblesort: Percorre um vetor diversas vezes e a cada passagem faz flutuar para o final do vetor o item de maior valor. A cada passagem é analisado a quantidade de itens do vetor menos um, pois o último já estará ordenado;
- Selectionsort: Percorre o vetor diversas vezes e a cada passagem traz para a primeira posição do vetor o item de menor valor. A cada passagem é analisado a quantidade de itens do vetor menos um, pois o primeiro já estará ordenado. A grande diferença do selectionsort para o bubblesort é que o bubble faz varias trocas a cada passagem e a seleção procura o menor valor e faz apenas uma troca no final da passagem;
- Insertionsort: Percorre o vetor da esquerda para a direita e à medida que avança vai deixando os elementos mais a esquerda ordenados. A cada passagem vai abrindo espaço para o item corrente e procurando, mais a esquerda qual é o lugar daquele item. Ao encontrar empurra todos os itens para a direita e insere o item selecionado no seu respectivo local;
- Mergesort: Cria uma sequência ordenada baseada em outras duas também ordenadas. Para isto é necessário dividir a sequência original até chegar a um limite ordenável por um insertionSort (100 itens por exemplo) ou até sobrarem pares para ordenar. Depois vai agrupando todas as sequências divididas até formar a sequência ordenada;
- Quicksort: Ordena o vetor dividindo-o recursivamente, através de um pivô, colocando os itens menores que o pivô de um lado e maiores do outro. Ao final os itens estarão ordenados. Este é o algoritmo mais rápido e eficiente para ordenação para vetores grandes.
Desenvolvi os algoritmos em C# com Visual Studio 2010 utilizando um dos conceitos de Orientação a Aspectos, conhecido como crosscutting concern.
Abaixo segue o PDF do trabalho e o código fonte do projeto.
O código fonte pode ser baixado aqui.
Abrs,