<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bit a Bit &#187; Cooperativo</title>
	<atom:link href="http://www.bitabit.eng.br/categorias/turmas/cooperativo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bitabit.eng.br</link>
	<description>O Blog da Engenharia de Computação da POLI-USP</description>
	<lastBuildDate>Wed, 11 Jan 2012 16:12:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Fusion4D &#8211; Interface Natural e Imersiva para Manipulação de Objetos 3D</title>
		<link>http://www.bitabit.eng.br/2012/01/03/fusion4d/</link>
		<comments>http://www.bitabit.eng.br/2012/01/03/fusion4d/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 12:07:19 +0000</pubDate>
		<dc:creator>Roberto Sonnino, Coop10</dc:creator>
				<category><![CDATA[Coop11]]></category>
		<category><![CDATA[Destaques]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[TCC]]></category>
		<category><![CDATA[Visão Computacional]]></category>
		<category><![CDATA[interface humano-computador]]></category>
		<category><![CDATA[interface multimodal]]></category>
		<category><![CDATA[interface natural]]></category>
		<category><![CDATA[kinect]]></category>
		<category><![CDATA[realidade aumentada]]></category>
		<category><![CDATA[realidade virtual]]></category>

		<guid isPermaLink="false">http://www.bitabit.eng.br/?p=2420</guid>
		<description><![CDATA[Fusion4D é uma interface inovadora que utiliza óculos 3D e o Kinect para permitir ao usuário interagir com objetos 3D como se estivessem realmente em suas mãos, podendo movê-los, girá-los, aumentá-los, explodi-los em detalhes e até mesmo vê-los como seriam no passado e no futuro. Assim, a interface transmite ao usuário a sensação de imersão total em uma realidade [...]]]></description>
			<content:encoded><![CDATA[<p>Fusion4D é uma interface inovadora que utiliza óculos 3D e o Kinect para permitir ao usuário interagir com objetos 3D como se estivessem realmente em suas mãos, podendo movê-los, girá-los, aumentá-los, explodi-los em detalhes e até mesmo vê-los como seriam no passado e no futuro. Assim, a interface transmite ao usuário a sensação de imersão total em uma realidade aumentada.</p>
<p>Para utilizá-la é simples: o usuário só precisa usar óculos 3D, comandos de voz e as mãos para manipular os objetos. Além disso, todo o sistema usa apenas dispositivos de baixo custo, como o Kinect, e não requer o uso de monitores especiais para a exibição da imagem 3D, ficando ao alcance de todos.</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/FjgHWp4PGew" frameborder="0" allowfullscreen></iframe></p>
<h2>Aplicações</h2>
<p>O Fusion4D foi desenvolvido como opção de manipulação direta para o atlas anatômico VIDA, do Laboratório de Tecnologias Interativas da Escola Politécnica (Interlab). Este atlas é destinado a aulas de anatomia que usam uma grande quantidade de modelos e órgãos reais, o que torna difícil e caro manter os laboratórios. O projeto representa uma alternativa para complementar o estudo através de peças anatômicas e livros dereferência. Existe ainda o potencial para seu uso fora do ambiente do laboratório, permitindo aos estudantes a visualização dos modelos 3D em casa ou em outras situações de ensino a distância.</p>
<p>Além da aplicação no projeto VIDA para ensino da medicina, o Fusion4D poderá ser usado para outras aplicações médicas e educacionais, bem como em jogos, publicidade, engenharia, navegação em ambientes virtuais ou telepresença, entre outras áreas.</p>
<h2>Como funciona?</h2>
<p><a href="http://www.interlab.pcs.poli.usp.br/fusion4d/index_pt.html"><img src="http://www.bitabit.eng.br/wp-content/uploads/2012/01/como_funciona.jpg" alt="Imagem ilustrativa do funcionamento do projeto Fusion4D" title="Como funciona o Fusion4D" width="500" height="300" class="alignnone size-full wp-image-2425" /></a></p>
<p>O Fusion4D utiliza imagens 3D anaglifas e um dispositivo Kinect para detecção do esqueleto e captura de voz do usuário.  O usuário interage com o sistema usando comandos de voz em inglês. Tais comandos permitem que se selecione o objeto a ser manipulado e a maneira de interagir com ele.</p>
<h3>Comandos</h3>
<p>O comando &#8220;<em>grab</em>&#8221; seleciona um objeto e permite movimentar, rotacionar ou ampliar o objeto com as mãos até que o objeto seja solto pelo comando &#8220;<em>release</em>&#8220;.</p>
<p>O comando &#8220;<em>explode</em>&#8221; permite observar o objeto 3D em detalhes; o comando &#8220;<em>show label</em>&#8220; mostra uma etiqueta descritiva do objeto manipulado, e o comando &#8220;<em>change model</em>&#8220; permite escolher outros modelos disponíveis no sistema.</p>
<p>Finalmente, o comando &#8220;<em>time</em>&#8221; permite ver como o objeto seria no passado e no futuro movimentando a linha do tempo com uma das mãos. Se o usuário precisar de ajuda sobre o sistema, o comando &#8220;<em>help</em>&#8221; mostra uma lista de comandos de voz.</p>
<p>Este projeto foi desenvolvido como trabalho de formatura pelos alunos Keila Keiko Matsumura e Roberto Sonnino, formandos da turma de 2011 do Curso Cooperativo de Engenharia de Computação, e orientado pelos professores Dr. Romero Tori (orientador) e Dr. Ricardo Nakamura (coorientador), membros do Laboratório de Tecnologias Interativas da Escola Politécnica (Interlab).</p>
<p>Para mais informações do projeto e dos resultados obtidos e trabalhos futuros, acesse o site do <a title="Fusion4D" href="http://www.interlab.pcs.poli.usp.br/fusion4d/index_pt.html" target="_blank">Fusion4D</a>.</p>
<img src="http://www.bitabit.eng.br/?ak_action=api_record_view&id=2420&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.bitabit.eng.br/2012/01/03/fusion4d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Integrando paradigmas: união da visão de negócios com a visão de TI &#8211; uma metodologia aliando BPM com SOA</title>
		<link>http://www.bitabit.eng.br/2011/11/21/integrando-paradigmas-uniao-da-visao-de-negocios-com-a-visao-de-ti-uma-metodologia-aliando-bpm-com-soa/</link>
		<comments>http://www.bitabit.eng.br/2011/11/21/integrando-paradigmas-uniao-da-visao-de-negocios-com-a-visao-de-ti-uma-metodologia-aliando-bpm-com-soa/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 16:43:35 +0000</pubDate>
		<dc:creator>vicentim.fernando</dc:creator>
				<category><![CDATA[Arquitetura de Computadores]]></category>
		<category><![CDATA[Coop11]]></category>
		<category><![CDATA[Engenharia de Software]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[TCC]]></category>
		<category><![CDATA[Aris]]></category>
		<category><![CDATA[BPM]]></category>
		<category><![CDATA[BPMN]]></category>
		<category><![CDATA[EPC]]></category>
		<category><![CDATA[soa]]></category>
		<category><![CDATA[webMethods]]></category>

		<guid isPermaLink="false">http://www.bitabit.eng.br/?p=2374</guid>
		<description><![CDATA[Este post descreve o projeto de formatura desenvolvido pelos alunos Diego Francisco Billerbeck, Fernando Picelli Vicentim e Thiago Erik Petersen,  alunos da turma de 2011 do Curso Cooperativo de Engenharia de Computação, e orientado pelo Prof. Dr. Jorge Luis Risco Becerra. Tema: Metodologia de desenvolvimento de sistemas baseado nos conceitos do gerenciamento dos processos do [...]]]></description>
			<content:encoded><![CDATA[<div><em>Este post descreve o projeto de formatura desenvolvido pelos alunos Diego Francisco Billerbeck, Fernando Picelli Vicentim e Thiago Erik Petersen,  alunos da turma de 2011 do Curso Cooperativo de Engenharia de Computação, e orientado pelo Prof. Dr. Jorge Luis Risco Becerra.</em></div>
<div><em> </em></div>
<div><strong><em>Tema: Metodologia de desenvolvimento de sistemas baseado nos conceitos do gerenciamento dos processos do negócio e na arquitetura SOA</em></strong></div>
<h2></h2>
<h2>Introdução</h2>
<div>Hoje em dia, um dos maiores problemas enfrentados pelas empresas é a dificuldade de adequar os sistemas de TI às atividades do negócio (processos), de forma que os resultados obtidos com essa união muitas vezes não atendem as metas corporativas e, muito menos, o retorno sobre o investimento (ROI) esperado. Pensando nisso, o grupo desenvolveu uma metodologia baseada na integração entre Gerenciamento de processos de negócios – BPM (Business Process Management) – e Arquitetura Orientada aos Serviços – SOA (Service Oriented Architecture) – que busca atender as necessidades do negócio, altamente dinâmicas, com uma plataforma de TI altamente flexível e reutilizável e aplicou essa metodologia em um sistema para lançamentos de celulares – o <em>SmartReleasing</em>.</div>
<div id="attachment_2375" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/11/SmartReleasing.png"><img class="size-medium wp-image-2375" src="http://www.bitabit.eng.br/wp-content/uploads/2011/11/SmartReleasing-300x155.png" alt="" width="300" height="155" /></a><p class="wp-caption-text">Logo do Sistema</p></div>
<h2>Conceitos:</h2>
<ul>
<li>
<h3>Business Process Management (BPM)</h3>
</li>
</ul>
<p>BPM é uma prática de desenvolvimento, execução, análise de desempenho e simulação de Processos de Negócios para trabalhar no na continua otimização e ciclos de vida desses processos.</p>
<ul>
<li>
<h3>Service-Oriented Architecture (SOA)</h3>
</li>
</ul>
<p>Uma prática de desenvolvimento de software que emprega disciplinas e linguagens de modelagem para fornecer soluções táticas e estratégicas aos problemas das empresas. Ela defende uma visão total da analise, desenho e arquitetura de todas as entidades organizacionais do software, concebendo-as como recursos de serviços-orientados, isto é, serviços.</p>
<h3 style="text-align: left;">
<div id="attachment_2384" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/11/BPM_SOA1.png"><img class="size-medium wp-image-2384" src="http://www.bitabit.eng.br/wp-content/uploads/2011/11/BPM_SOA1-300x256.png" alt="" width="300" height="256" /></a><p class="wp-caption-text">Exemplo de Processos Aliados a Serviços</p></div></h3>
<ul>
<li>
<h3 style="text-align: left;">Processo de Lançamento de Celulares:</h3>
</li>
</ul>
<div style="text-align: left;">O processo de lançamento de celulares em operadoras é o representante ideal de um processo de negócio altamente dinâmico e complexo, pois envolve todos os departamentos, lida com dispositivos tecnológicos inovadores e tem curto ciclo de vida (aproximadamente 3 meses).<br />
Assim uma solução ágil, eficiente e flexível é fundamental devido ao alto risco do investimento uma vez que um mínimo atraso acarreta em grandes perdas de parcelas de mercado.</div>
<h2 style="text-align: left;">Metodologia</h2>
<div style="text-align: left;">A Metodologia desenvolvida pode ser dividida em 5 grandes etapas: Estudo do Processo; Concepção do Projeto de Software; Implementação do Projeto; Testes e Análises de Performance e Monitoramento e Manutenção do Processo.</div>
<ul>
<li>
<h3 style="text-align: left;">Estudo do Processo</h3>
</li>
</ul>
<div style="text-align: left;">O estudo do Processo inicia com a modelagem As-Is, ou seja, a modelagem do processo como ele é atualmente. A modelagem pode ser feite de diversas maneiras e utilizando-se diversas linguagens como EPC, BPEL, BPMN. No caso dessa metodologia foram utilizadas as linguagens EPC e BPMN. Depois de modelado, passa-se por uma fase de Análise e Simulação com o objetivo de otimizá-lo e finalmente defini-lo formalmente pela modelagem To-Be, ou seja, a modelagem do processo a ser implementado.</div>
<div style="text-align: left;">
<p><div id="attachment_2377" class="wp-caption aligncenter" style="width: 232px"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/11/EPC.png"><img class="size-medium wp-image-2377" src="http://www.bitabit.eng.br/wp-content/uploads/2011/11/EPC-222x300.png" alt="" width="222" height="300" /></a><p class="wp-caption-text">Exemplo de Processo Modelado em Linguagem EPC</p></div>
</div>
<ul>
<li>
<h3 style="text-align: left;">Concepção do Projeto de Software</h3>
</li>
</ul>
<div style="text-align: left;">A etapa de concepção do projeto de software parte do modelo do processo e busca identificar os Serviços a serem criados, conceber a Interface com o  usuário composta pelas telas (portlets), planejar o Gerenciamento de Dados que lida com os Bancos de Dados desse e de outros sistemas, tudo isso focando em uma Arquitetura flexível e reutilizável e na Integração dos Sistemas presentes na organização.</div>
<ul>
<li>
<h3 style="text-align: left;">Implementação do Projeto</h3>
</li>
</ul>
<div style="text-align: left;">A implementação do projeto foi realizada com o auxilio da ferramenta webMethods, fornecida pela empresa parceira ao projeto Software <sup>AG</sup>. Nela foram implementados os serviços, as telas e as relações destes com o processo em questão, o de lançamento de celulares.</div>
<div style="text-align: left;">
<div id="attachment_2385" class="wp-caption aligncenter" style="width: 981px"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/11/webMethods1.png"><img class="size-full wp-image-2385" src="http://www.bitabit.eng.br/wp-content/uploads/2011/11/webMethods1.png" alt="" width="971" height="530" /></a><p class="wp-caption-text">Implementação com a ferramenta webMethods</p></div>
</div>
<ul>
<li>
<h3 style="text-align: left;">Testes e Análise de Performance</h3>
</li>
</ul>
<div style="text-align: left;">Uma vez o sistema implementado, começa a etapa e testes e análises de desempenho para verificar não somente o bom funcionamento do mesmo como também se as vantagens buscadas na modelagem do processo To-Be foram atendidas com essa nova solução em comparação ao processo anterior As-Is.</div>
<ul>
<li>
<h3 style="text-align: left;">Monitoramento e Manutenção do Processo</h3>
</li>
</ul>
<div style="text-align: left;">A última etapa envolve o monitoramento do Processo através de indicadores de performance (KPIs) bem definidos e a manutenção do mesmo toda vez que novos requisitos de negócios forem surgindo e alterações no sistema e tornem necessárias.</div>
<div style="text-align: left;">
<div class="mceTemp mceIEcenter">
<div id="attachment_2386" class="wp-caption aligncenter" style="width: 957px"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/11/Dashboard2.png"><img class="size-full wp-image-2386" src="http://www.bitabit.eng.br/wp-content/uploads/2011/11/Dashboard2.png" alt="" width="947" height="446" /></a><p class="wp-caption-text">Dashboard de Monitoramento do Processo</p></div>
</div>
</div>
<h2 style="text-align: left;">Resultados Esperados</h2>
<div style="text-align: left;">A partir da analise do desempenho e metodologia de implementação  estimamos que o sistema <em>SmartReleasing</em> permita não somente uma execução  rápida e eficiente do processo, como também fornece visibilidade para  identificar gargalos e pontos críticos do processo. Em paralelo, a arquitetura  de TI flexível permite sua manutenção e adaptação a medida que novas  necessidades de negócios surgem.</div>
<h2 style="text-align: left;">Parcerias</h2>
<div style="text-align: left;">Foram utilizadas ferramentas de BPM e SOA do Software <sup>AG</sup>,  uma das empresas líderes do segmento segundo pesquisas dos grupos Garner e  Forres ter, que ofereceu apoio ao projeto com software e materiais de  treinamento gratuitos.</div>
<div style="text-align: left;">O projeto foi desenvolvido no Laboratório de Fábrica de Software do LTS –  PCS – POLI.</div>
<div style="text-align: left;">
<div id="attachment_2381" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/11/Parceiros.png"><img class="size-medium wp-image-2381" src="http://www.bitabit.eng.br/wp-content/uploads/2011/11/Parceiros-300x61.png" alt="" width="300" height="61" /></a><p class="wp-caption-text">Parceiros</p></div>
</div>
<img src="http://www.bitabit.eng.br/?ak_action=api_record_view&id=2374&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.bitabit.eng.br/2011/11/21/integrando-paradigmas-uniao-da-visao-de-negocios-com-a-visao-de-ti-uma-metodologia-aliando-bpm-com-soa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SENSUS: Reconhecedor Automático de Expressões Faciais para Publicidade e Propaganda</title>
		<link>http://www.bitabit.eng.br/2011/11/18/sensus-reconhecedor-automatico-de-expressoes-faciais-para-publicidade-e-propaganda/</link>
		<comments>http://www.bitabit.eng.br/2011/11/18/sensus-reconhecedor-automatico-de-expressoes-faciais-para-publicidade-e-propaganda/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 18:48:43 +0000</pubDate>
		<dc:creator>Carla Guillen Gomes</dc:creator>
				<category><![CDATA[Coop11]]></category>
		<category><![CDATA[TCC]]></category>
		<category><![CDATA[Visão Computacional]]></category>
		<category><![CDATA[computer vision]]></category>
		<category><![CDATA[tcc]]></category>
		<category><![CDATA[visão computacional]]></category>

		<guid isPermaLink="false">http://www.bitabit.eng.br/?p=2342</guid>
		<description><![CDATA[O sistema Sensus utiliza técnicas e algoritmos de visão computacional com o objetivo de reconhecer automaticamente expressões faciais e classificá-las em emoções. O cenário vislumbrado para a aplicação publicitária é o de uma vitrine de shopping, na qual as reações expressas pelas características faciais dos passantes são registradas e avaliadas. A partir desta análise, é [...]]]></description>
			<content:encoded><![CDATA[<p>O sistema Sensus utiliza técnicas e algoritmos de visão computacional com o objetivo de reconhecer automaticamente expressões faciais e classificá-las em emoções.</p>
<p>O cenário vislumbrado para a aplicação publicitária é o de uma vitrine de shopping, na qual as reações expressas pelas características faciais dos passantes são registradas e avaliadas. A partir desta análise, é possível verificar como o design da vitrine e a maneira de exposição das mercadorias afetam as reações dos consumidores, tanto positivamente como negativamente. Constituindo assim uma maneira de se avaliar e comparar os impactos alcançados com diferentes estratégias.</p>
<p><img class="alignright size-medium wp-image-2347" style="border-style: initial; border-color: initial;" src="http://www.bitabit.eng.br/wp-content/uploads/2011/11/sensus_nojo1-300x296.png" alt="" width="240" height="237" /></p>
<p style="text-align: left;">O sistema realiza a aq<span style="text-align: -webkit-auto;">uisição e processamento de uma sequência de imagens obtidas através de uma webcam e possibilita, através da produção de gráficos, a exibição de informações relevantes a um usuário da área de publicidade e propaganda que deseje medir a eficácia de uma campanha publicitária.</span></p>
<div>
<p>O reconhecimento consiste em 3 etapas principais. A primeira delas é a <strong>detecção de um rosto</strong> em uma imagem. Esta etapa é feita através do Algoritmo de Detecção Facial de Viola-Jones, que foi explicada <a href="http://www.bitabit.eng.br/2011/02/21/como-detectar-faces-em-videos/">neste</a> post do Filipe Campos.</p>
<p>A segunda etapa realiza a <strong>extração e codificação</strong> das características faciais. Nesta etapa é utilizado o método baseado em texturas, denominado LBP (local binary pattern) em regiões de interesse da face (região compreendida pelos olhos e sobrancelhas e a região da boca).</p>
<p>A terceira e última etapa consiste na <strong>classificação</strong> das expressões nas diferentes categorias existentes, no sistema é utilizada uma técnica de aprendizado de máquina, a SVM (support vector machine).</p>
<p>Para a geração de relatórios contendo gráficos foi desenvolvido um módulo utilizando a linguagem Python com o framework Django, junto com bibliotecas de JavaScript.</p>
<p><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/11/sensus_grafico.png"><img class="aligncenter size-full wp-image-2345" src="http://www.bitabit.eng.br/wp-content/uploads/2011/11/sensus_grafico.png" alt="" width="640" height="327" /></a></p>
<p>As emoções reconhecidas pelo sistema são: Felicidade, Tristeza, Surpresa e Nojo, além da expressão neutra.</p>
<p>O projeto foi desenvolvido pelos alunos Bruno Pezzolo dos Santos, Carla Guillen Gomes e Guilherme Melo Prestes Campos, sob a orientação da <strong>Profa. Dra. Anna Helena Reali Costa</strong>.</p>
</div>
<img src="http://www.bitabit.eng.br/?ak_action=api_record_view&id=2342&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.bitabit.eng.br/2011/11/18/sensus-reconhecedor-automatico-de-expressoes-faciais-para-publicidade-e-propaganda/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Controle de Veículos Aéreos Não-Tripulados Utilizando Mensagens CPDLC</title>
		<link>http://www.bitabit.eng.br/2011/11/18/controle-de-veiculos-aereos-nao-tripulados-utilizando-mensagens-cpdlc/</link>
		<comments>http://www.bitabit.eng.br/2011/11/18/controle-de-veiculos-aereos-nao-tripulados-utilizando-mensagens-cpdlc/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 16:54:38 +0000</pubDate>
		<dc:creator>Débora Setton Fernandes, Coop11</dc:creator>
				<category><![CDATA[Coop11]]></category>
		<category><![CDATA[Outros]]></category>
		<category><![CDATA[TCC]]></category>

		<guid isPermaLink="false">http://www.bitabit.eng.br/?p=2323</guid>
		<description><![CDATA[Este post descreve o projeto de formatura desenvolvido pelos alunos Bruno Pereira Bueno, Débora Setton Fernandes e Fernando A. R. F. da Costa, alunos da turma de 2011 do Curso Cooperativo de Engenharia de Computação, e orientado pelo Prof. Dr. João Batista Camargo Júnior (orientador) e pelo Dr. Mário Aparecido Corrêa (co-orientador), ambos membros do [...]]]></description>
			<content:encoded><![CDATA[<p><em>Este post descreve o projeto de formatura desenvolvido pelos alunos Bruno Pereira Bueno, Débora Setton Fernandes e Fernando A. R. F. da Costa, alunos da turma de 2011 do Curso Cooperativo de Engenharia de Computação, e orientado pelo Prof. Dr. João Batista Camargo Júnior (orientador) e pelo Dr. Mário Aparecido Corrêa (co-orientador), ambos membros do <a href="http://www.pcs.usp.br/~gas/" target="_blank">Grupo de Análise de Segurança</a> da Poli.</em></p>
<p>Apesar de a ideia do nosso projeto ser bastante simples, o título do projeto ser um pouco obscuro para quem não está familiarizado com estes termos. Vamos começar explicando o título e as coisas ficarão mais claras.</p>
<p><img src="http://www.bitabit.eng.br/wp-content/uploads/2011/11/gondola-150x150.jpg" alt="Gôndola que é presa ao balão, com sensores e motores visíveis" width="0" height="0" class="size-thumbnail wp-image-2327" /><br />
O que é&#8230;</p>
<h3><strong>&#8230; Veículo aéreo não-tripulado?</strong></h3>
<p>Um Veículo Aéreo Não-Tripulado, também conhecido pela abreviação VANT, é qualquer tipo de aeronave (como aviões, balões, helicópteros) que não precise de um piloto para ser guiada. No nosso projeto, utilizamos um dirigível cheio de gás hélio para representar o VANT.</p>
<h3><strong>&#8230; Mensagem CPDLC?</strong></h3>
<p>O CPDLC (<em>Controller Pilot Data Link Communications</em>) é uma aplicação utilizada para a comunicação entre os controladores de voo, localizados nas torres de comando, e os pilotos, localizados na aeronave tripulada. Uma mensagem CPDLC é uma mensagem de texto que segue o formato definido na especificação da Organização Internacional de Aviação Civil (ICAO – <em>International Civil Aviation Organization</em>). O piloto recebe e envia mensagens CPDLC utilizando um dispositivo denominado MCDU.</p>
<h3><strong>&#8230; Controle?</strong></h3>
<p>No contexto do nosso projeto, controle significa o envio de comandos, que poderão ser aceitos ou recusados pela aeronave.</p>
<h1>O projeto</h1>
<p>Agora sim: o nosso projeto trata de controlar um balão a partir do envio de comandos, como virar à direita, subir ou descer e alterar a velocidade, utilizando um protocolo de comunicação já existente e já utilizado na Aeronáutica hoje. Comportando-se como um VANT autônomo, o balão deve tomar decisões sobre estes comandos recebidos, decidindo se pode ou não executá-los, com base em variáveis medidas de um conjunto de sensores embarcados.</p>
<h1>Motivação</h1>
<p>A ideia do nosso projeto é que ele sirva como uma prova de conceito, ou seja, que ele mostre que é possível, controlar um VANT à distância, apenas através da troca de mensagens CPDLC e que, ainda assim, o voo realizado seja tão ou mais seguro quanto ele seria se existisse um piloto a bordo.</p>
<p>Um dos motivos para isso é que existem diversas situações em que a presença do piloto restringe a duração do voo. Um exemplo disso são voos de monitoramento de áreas de fronteira. Estes voos normalmente são utilizados para coleta de imagens, e não existe uma carga sendo transportada ou um destino específico. É interessante, portanto, não depender de um piloto, que pode ficar exaurido fisica e psicologicamente em um voo muito longo.</p>
<p>Outro motivo é que existem muitos acidentes aéreos causados por falha humana. Um piloto, por ser um ser humano, naturalmente está sujeito a cometer erros, mais ainda se não tiver um treinamento adequado. Se for possível substituí-lo por um sistema computacional devidamente projetado, implementado e testado, o número de acidentes será reduzido, tornando o espaço aéreo um lugar mais seguro.</p>
<h1>Implementação</h1>
<p>O sistema pode ser dividido em três módulos, mostrados na figura abaixo:</p>
<div id="attachment_2324" class="wp-caption aligncenter" style="width: 615px"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/11/diagrama-de-blocos.png"><img class="size-full wp-image-2324" src="http://www.bitabit.eng.br/wp-content/uploads/2011/11/diagrama-de-blocos.png" alt="Diagrama de blocos do sistema" width="605" height="292" /></a><p class="wp-caption-text">Diagrama de blocos do sistema de controle implementado</p></div>
<h2>ACARS</h2>
<p>O ACARS (<em>Aircraft Communications Addressing and Reporting System</em>) é um simulador de código aberto que foi utilizado no projeto, nós fizemos apenas pequenas alterações no código-fonte. O simulador completo que foi utilizado é composto por dois submódulos. O primeiro é o servidor ATC, cuja função é centralizar a comunicação entre o controlador e o piloto, registrando aeronaves e transmitindo para o destinatário (controlador ou piloto) as mensagens que são recebidas. O segundo submódulo possui, entre outras coisas, uma interface, mostrada abaixo, que permite o envio de mensagens CPDLC para as aeronaves – no nosso caso, o balão.</p>
<div id="attachment_2325" class="wp-caption aligncenter" style="width: 396px"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/11/interface-acars-message-compiler.png"><img class="size-full wp-image-2325 " src="http://www.bitabit.eng.br/wp-content/uploads/2011/11/interface-acars-message-compiler.png" alt="Interface do ACARS para criação de mensagens no padrão CPDLC" width="386" height="275" /></a><p class="wp-caption-text">Interface para criação de mensagens no padrão CPDLC</p></div>
<h2>Módulo Python</h2>
<p>Idealmente, as mensagens CPDLC seriam enviadas diretamente do servidor do ACARS para o balão. Contudo, o microcontrolador utilizado no projeto (Atmega128 usado no Arduino Uno) possui severas restrições de processamento, tendo apenas 32KB disponíveis para o código-fonte e 1KB para a área de dados. Assim, foi introduzido um módulo que representa parte do sistema que normalmente ficaria na aeronave, mas que roda em um computador em terra. Este subsistema é responsável por receber mensagens CPDLC, traduzi-las para mensagens MBCP (<em>My Blimp Control Protocol</em>) e então transmiti-las ao balão. O MBCP é um protocolo bastante simples desenvolvido especificamente para o projeto.</p>
<p>Abaixo é mostrada a interface que foi desenvolvida para este módulo: ela imita a aparência de um MCDU, mostrando mensagens recebidas pela aeronave (denominadas de <em>uplink</em>, em laranja) e enviadas (de <em>downlink</em>, em verde).</p>
<div id="attachment_2326" class="wp-caption aligncenter" style="width: 264px"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/11/mcdu.png"><img class="size-full wp-image-2326 " src="http://www.bitabit.eng.br/wp-content/uploads/2011/11/mcdu.png" alt="Interface do módulo Python, emulando um MCDU" width="254" height="402" /></a><p class="wp-caption-text">Interface do módulo Python, emulando um MCDU</p></div>
<h2>Módulo embarcado</h2>
<p>Finalmente, temos o módulo embarcado. Este é composto pelo programa que roda no Arduino assim como pelos circuitos eletrônicos auxiliares que permitem a leitura dos sensores, o controle dos motores e o envio/recebimento de mensagens MBCP via rádio. Utilizando as leituras dos sensores, o balão consegue inferir qual o seu estado com relação ao ambiente em que se encontra, tomando decisões sobre a possibilidade de execução de um comando, e rejeitando aqueles que puderem colocá-lo em uma situação de risco.</p>
<p>A figura abaixo mostra a gôndola que é presa ao balão, com os três motores à mostra, assim como os três sensores infravermelhos, utilizados para detectar a distância de obstáculos frontais e laterais.</p>
<p style="text-align: center">&nbsp;</p>
<div id="attachment_2327" class="wp-caption aligncenter" style="width: 501px"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/11/gondola.jpg"><img class="size-large wp-image-2327  " src="http://www.bitabit.eng.br/wp-content/uploads/2011/11/gondola-1024x608.jpg" alt="Gôndola que é presa ao balão, com sensores e motores visíveis" width="491" height="292" /></a><p class="wp-caption-text">Gôndola que é presa ao balão, com sensores e motores visíveis</p></div>
<p>Dentro desta gôndola ficam os circuitos descritos acima, e mostrados na figura abaixo. Da esquerda para a direita, temos:</p>
<ul>
<li><strong>Arduino</strong>: contém o microcontrolador que permite a execução da lógica de controle do balão.</li>
<li><strong>Placa de cirtuito impresso: </strong>projetada e desenvolvida especialmente para o projeto. As três placas menores (duas vermelhas e uma verde) são sensores inerciais – uma IMU (<em>Inertial Movement Unit</em>), um acelerômetro e uma bússola digital.</li>
<li><strong>Transceptor:</strong> permite envio e recebimento de mensagens de rádio.</li>
</ul>
<div id="attachment_2328" class="wp-caption aligncenter" style="width: 440px"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/11/pcb.jpg"><img class="size-large wp-image-2328  " src="http://www.bitabit.eng.br/wp-content/uploads/2011/11/pcb-1024x608.jpg" alt="Circuitos eletrônicos embarcados no balão" width="430" height="256" /></a><p class="wp-caption-text">Circuitos eletrônicos embarcados no balão</p></div>
<p>Esta foi uma brevíssima descrição do projeto. Quem estiver interessado em conhecer os detalhes pode entrar em contato ou fazer o download da monografia, que em breve estará disponível.</p>
<p>E não percam a demonstração prática, que acontecerá no dia 14 de dezembro, no Galpão da Administração da Poli!</p>
<img src="http://www.bitabit.eng.br/?ak_action=api_record_view&id=2323&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.bitabit.eng.br/2011/11/18/controle-de-veiculos-aereos-nao-tripulados-utilizando-mensagens-cpdlc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mac restart troll</title>
		<link>http://www.bitabit.eng.br/2011/07/13/mac-restart-troll/</link>
		<comments>http://www.bitabit.eng.br/2011/07/13/mac-restart-troll/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 12:00:32 +0000</pubDate>
		<dc:creator>Eduardo Russo, Coop10</dc:creator>
				<category><![CDATA[Coop10]]></category>
		<category><![CDATA[Outros]]></category>
		<category><![CDATA[fuck yeah]]></category>
		<category><![CDATA[fuuu]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[restart]]></category>
		<category><![CDATA[tirinha]]></category>
		<category><![CDATA[troll]]></category>

		<guid isPermaLink="false">http://www.bitabit.eng.br/?p=2255</guid>
		<description><![CDATA[Fugindo um pouco do dia a dia do Bit a Bit (muita repetição repetição?), resolvi fazer uma tirinha sobre o que o Mac faz comigo de vez em quando.]]></description>
			<content:encoded><![CDATA[<p>Fugindo um pouco do dia a dia do Bit a Bit (muita repetição repetição?), resolvi fazer uma tirinha sobre o que o Mac faz comigo de vez em quando.</p>
<p><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/07/restart-troll.png"><img class="aligncenter size-full wp-image-2256" title="restart-troll" src="http://www.bitabit.eng.br/wp-content/uploads/2011/07/restart-troll.png" alt="" width="800" height="1200" /></a></p>
<img src="http://www.bitabit.eng.br/?ak_action=api_record_view&id=2255&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.bitabit.eng.br/2011/07/13/mac-restart-troll/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Pesquisa salarial de politécnicos 2011</title>
		<link>http://www.bitabit.eng.br/2011/05/04/pesquisa-salarial-de-politecnicos-2011/</link>
		<comments>http://www.bitabit.eng.br/2011/05/04/pesquisa-salarial-de-politecnicos-2011/#comments</comments>
		<pubDate>Wed, 04 May 2011 11:39:05 +0000</pubDate>
		<dc:creator>Eduardo Russo, Coop10</dc:creator>
				<category><![CDATA[Coop10]]></category>
		<category><![CDATA[Cooperativo]]></category>
		<category><![CDATA[Empreendedorismo]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[Outros]]></category>
		<category><![CDATA[ex alunos]]></category>
		<category><![CDATA[formados]]></category>
		<category><![CDATA[pesquisa]]></category>
		<category><![CDATA[salarial]]></category>
		<category><![CDATA[salário]]></category>

		<guid isPermaLink="false">http://www.bitabit.eng.br/?p=2128</guid>
		<description><![CDATA[Durante algumas semanas de Abril, vários ex alunos responderam a uma pesquisa salarial para que pudéssemos obter uma visão geral de quanto está ganhando um politécnico no mercado. Tivemos a participação de 86 colegas respondendo o cargo, o cargo registrado em carteira, tempo te formado, salário bruto e a quantidade de funcionários na empresa. Apesar [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/05/pesquisa-salarial.png" target="_blank"><img class="alignright size-full wp-image-2171" title="pesquisa salarial" src="http://www.bitabit.eng.br/wp-content/uploads/2011/05/pesquisa-salarial.png" alt="" width="188" height="134" /></a>Durante algumas semanas de Abril, vários ex alunos responderam a uma pesquisa salarial para que pudéssemos obter uma visão geral de quanto está ganhando um politécnico no mercado.</p>
<p>Tivemos a participação de <a href="https://spreadsheets.google.com/viewform?hl=pt_BR&amp;formkey=dFc3bnFWeU1zMzRfSTRWbTF1QndJaXc6MQ#gid=0" target="_blank">86 colegas respondendo o cargo, o cargo registrado em carteira, tempo te formado, salário bruto e a quantidade de funcionários na empresa</a>. Apesar do relativamente pequeno número de respostas, essa pesquisa nos possibilita ter uma visão razoável de quão aquecido anda o mercado de engenharia de computação no Brasil.Pretendemos fazer essa pesquisa anualmente, incrementando e evoluindo as perguntas conforme os <em>feedbacks</em> recebidos. Continuarei meu árduo trabalho de incentivo, com amor e carinho, para que mais pessoas respondam ao questionário.</p>
<p>A tabela da pesquisa pode ser vista nesse arquivo do <a href="https://spreadsheets.google.com/ccc?key=0AiQKER7O_mTMdFc3bnFWeU1zMzRfSTRWbTF1QndJaXc&amp;hl=pt_BR" target="_blank">Google Spreadsheet</a>, mas, a tabulação e geração dos dados foi feita <a href="http://cl.ly/6SAV" target="_blank">nesse arquivo de Excel</a>.</p>
<p>Como pode ser observado no formulário de preenchimento, foram definidos intervalos para os salários, portanto, os valores das médias não são exatos (uma pessoas que ganha R$11.000,00 aparecerá nos dados como se ganhasse R$25.000,00) e devem ter gerado certa discrepância. Lição aprendida… ano que vem, deixaremos que cada um coloque o salário exato para melhorar a precisão da pesquisa.</p>
<h1>Salário médio</h1>
<p>O salário médio dos 86 participantes é de <strong>R$6.854,65</strong>, um salário muito bom, quando se observa que a média da região metropolitana de São Paulo (a maior do país) é de menos de R$1.700,00, conforme <a href="http://www.ibge.gov.br/home/estatistica/indicadores/trabalhoerendimento/pme_nova/pme_201103sp_03.shtm" target="_blank">apuração do IBGE</a>.</p>
<h1>Cargo</h1>
<p>Como o campo de cargo podia ser preenchido livremente, obtivemos respostas bastante diversas (bombeiro?), dificultando um pouco a tabulação dos dados. Foram agrupados cargos que, ao meu ver, pareciam coerentes, mas, ainda assim, obtivemos um &#8220;outros&#8221; de 14% das respostas.</p>
<p style="text-align: center;">(clique nas imagens para ampliar)</p>
<p style="text-align: center;"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/05/cargo-x-participantes.png" target="_blank"><img class="aligncenter size-large wp-image-2169" title="cargo x participantes" src="http://www.bitabit.eng.br/wp-content/uploads/2011/05/cargo-x-participantes-1024x525.png" alt="" width="614" height="315" /></a></p>
<p>De todos os cargos preenchidos, as maiores médias salariais foram a de analistas financeiros e de negócios e a de engenheiros de software. As menores médias ficaram com desenvolvedores e analistas de sistema.</p>
<p style="text-align: center;"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/05/salário-x-cargo.png" target="_blank"><img class="aligncenter size-large wp-image-2172" title="salário x cargo" src="http://www.bitabit.eng.br/wp-content/uploads/2011/05/salário-x-cargo-1024x528.png" alt="" width="614" height="317" /></a></p>
<h1>Tempo formado</h1>
<p style="text-align: left;">Tivemos uma boa divisão de participantes para cada um dos tempos definidos, nos possibilitando ter uma boa visão.<a href="http://www.bitabit.eng.br/wp-content/uploads/2011/05/tempo-formado-x-participantes.png" target="_blank"><img class="aligncenter size-large wp-image-2175" title="tempo formado x participantes" src="http://www.bitabit.eng.br/wp-content/uploads/2011/05/tempo-formado-x-participantes-1024x525.png" alt="" width="614" height="315" /></a></p>
<p>Seguindo para os resultados, obtivemos o padrão esperado por um engenheiro. Quem se formou há mais tempo, ganha mais, com uma média de R$12.100,00 (observando a minha cagada na hora de criar os valores &#8211; 10.000 a 25.000). Quem se formou a menos de um ano ganha uma média de aproximadamente R$4.500,00.</p>
<p style="text-align: center;"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/05/salário-x-tempo-formado.png" target="_blank"><img class="aligncenter size-large wp-image-2174" title="salário x tempo formado" src="http://www.bitabit.eng.br/wp-content/uploads/2011/05/salário-x-tempo-formado-1024x525.png" alt="" width="614" height="315" /></a></p>
<h1>Quantidade de funcionários da empresa</h1>
<p>Aqui as respostas foram bem discrepantes com uma maioria esmagadora de politécnicos trabalhando em empresas com mais de 100 funcionários.</p>
<p style="text-align: center;"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/05/funcionários-x-participantes.png" target="_blank"><img class="aligncenter size-large wp-image-2170" title="funcionários x participantes" src="http://www.bitabit.eng.br/wp-content/uploads/2011/05/funcionários-x-participantes-1024x527.png" alt="" width="614" height="316" /></a></p>
<p>Essa discrepância acaba invalidando um pouco a pesquisa, já que pontos fora da curva acabam contando muito quando temos apenas meia dúzia de pessoas em um determinado tamanho de empresa.</p>
<p style="text-align: center;"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/05/salário-x-funcionários.png" target="_blank"><img class="aligncenter size-large wp-image-2173" title="salário x funcionários" src="http://www.bitabit.eng.br/wp-content/uploads/2011/05/salário-x-funcionários-1024x526.png" alt="" width="614" height="316" /></a></p>
<h1>Conclusões</h1>
<p>A conclusão geral dessa pesquisa é que precisamos fazer mais pesquisas! Os dados obtidos foram satisfatórios, mas, mais respostas, saltos salariais menores e outras perguntas teriam melhorado em muito seu valor.</p>
<p>Concluo que nossa área está quente, mas precisamos &#8220;valorizar nosso passe&#8221; ainda mais.</p>
<p>Até a próxima, com melhores e perguntas e, se meu &#8220;amor e carinho&#8221; der certo, mais respostas!</p>
<img src="http://www.bitabit.eng.br/?ak_action=api_record_view&id=2128&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.bitabit.eng.br/2011/05/04/pesquisa-salarial-de-politecnicos-2011/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Apresentando Ploobs Engine</title>
		<link>http://www.bitabit.eng.br/2011/03/23/apresentando-ploobs-engine/</link>
		<comments>http://www.bitabit.eng.br/2011/03/23/apresentando-ploobs-engine/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 13:34:16 +0000</pubDate>
		<dc:creator>Thiago Dias Pastor, Coop 10</dc:creator>
				<category><![CDATA[Coop10]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[TCC]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[Deferred Rendering]]></category>
		<category><![CDATA[Engine Para Jogos]]></category>
		<category><![CDATA[Game Engine]]></category>
		<category><![CDATA[Jogos]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://www.bitabit.eng.br/?p=2076</guid>
		<description><![CDATA[Olá Pessoal !! Neste artigo pretendo apresentar a Ploobs Engine, nossa engine de jogos. Inicialmente a ideia é mostrar as features principais e num futuro próximo postar alguns tutoriais. O que é a Ploobs Engine ? É uma Engine para criação de jogos e aplicativos gráficos desenvolvida em XNA 4.0, C# .Net 4.0 e HLSL. [...]]]></description>
			<content:encoded><![CDATA[<p>Olá Pessoal !! Neste artigo pretendo apresentar a Ploobs Engine, nossa engine de jogos. Inicialmente a ideia é mostrar as features principais e num futuro próximo postar alguns tutoriais.</p>
<p><em><strong><span style="font-style: normal; font-weight: normal;"> </span></strong></em></p>
<h2>O que é a Ploobs Engine ?</h2>
<dt></dt>
<p>É uma Engine para criação de jogos e aplicativos gráficos desenvolvida em XNA 4.0, C# .Net 4.0 e HLSL. Criada para ser simples de extender e fácil de usar, mesmo para aqueles que não conhecem com profundidade computação gráfica.</p>
<div id="attachment_2079" class="wp-caption alignright" style="width: 370px"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/03/Etapa1-12122010-110541-AM.jpg"><img class="size-medium wp-image-2079 " title="Piscina" src="http://www.bitabit.eng.br/wp-content/uploads/2011/03/Etapa1-12122010-110541-AM-300x168.jpg" alt="" width="360" height="202" /></a><p class="wp-caption-text">Cena com Reflexão, Refração, Animação, Glow, iluminação e SkyBox</p></div>
<p>O framework construído é bastante extenso, sendo constituído de diversos módulos responsáveis pelas tarefas mais comuns utilizadas em jogos como: Controle de Entrada, Simulação Física, Renderização Gráfica, Inteligência Artificial e Controle de Recursos.</p>
<p>O foco principal da Engine esta na parte gráfica, que usa a técnica de renderização <a href="http://en.wikipedia.org/wiki/Deferred_shading" target="_blank">Deferred Shading</a>, a mesma encontrada em jogos como <a href="http://us.battle.net/sc2/pt/" target="_blank">Startcraft II,</a> <a href="http://www.ea.com/crysis-2" target="_blank">Crysis II</a> e <a href="http://www.killzone2.com/" target="_blank">KillZone II</a>.</p>
<p>O render construído fez parte do nosso projeto de formatura. Uma explicação bastante profunda do funcionamento da técnica e da nossa implementação pode ser encontrada na nossa <a href="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=ploobsengine&amp;DownloadId=217469">tese</a>.</p>
<h2 style="text-align: left;">Quais são as Funcionalidades Principais ?</h2>
<p>A PloobsEngine suporta praticamente todas as funcionalidades de uma Engine Directx 9c, sendo as principais:</p>
<ul>
<li>Deferred Render com suporte a <a href="http://en.wikipedia.org/wiki/Bump_mapping" target="_blank">Bump Map</a>, <a href="http://dimitribueno.dreamhosters.com/?p=224" target="_blank">Specular Map</a>, <a href="http://bighouse.bungie.org/killingtime/Help_Schtuff/Glow_Maps.html" target="_blank">Glow Map</a> e <a href="http://en.wikipedia.org/wiki/Parallax_mapping" target="_blank">Paralax Map</a> (técnicas usadas para simular materiais e aumentar o realismo dos jogos)</li>
<li>Sistemas de partículas</li>
<li>Simulação física</li>
<li>Som 3D e 2D</li>
<li>Luzes Dinâmicas com Sombra</li>
<li><a href="http://en.wikipedia.org/wiki/Skeletal_animation" target="_blank">Animação por ossos</a> (Bone Animation)</li>
<li>Terrenos</li>
<li>Reflexão e Refração em Tempo Real</li>
<li>Sistema de GUI (HUD)</li>
</ul>
<p>Foram utilizados diversos algoritmos e técnicas encontradas em jogos que estão atualmente no mercado, sempre que possível escolhíamos algoritmos que exploravam ao máximo a GPU.</p>
<p>O nosso grande diferencial esta no uso da técnica Deferred Shading ao extremo, nenhuma Engine XNA não comercial utiliza esta técnica desta forma.</p>
<p>Para uma lista bem mais completa das funcionalidades, de uma olhada <a href="http://ploobsengine.codeplex.com/">no site do projeto</a>.</p>
<div id="attachment_2080" class="wp-caption alignright" style="width: 310px"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/03/Etapa1-12122010-15056-AM.jpg"><img class="size-medium wp-image-2080 " src="http://www.bitabit.eng.br/wp-content/uploads/2011/03/Etapa1-12122010-15056-AM-300x168.jpg" alt="" width="300" height="168" /></a><p class="wp-caption-text"> Ambient Scattering, Vegetação e Partículas ao fundo</p></div>
<h2><em>O que você precisa para começar a usar a Ploobs Engine ?</em></h2>
<p>Para um uso mais simples, somente conhecimento básico de C# é necessário, não é preciso conhecer computação gráfica ou XNA.</p>
<p>Para o desenvolvedor, é necessário instalar a XNA 4.0 SDK, o .Net 4.0 Framework e o Visual Studio 2010 completo ou express. Em termos de hardware é necessário apenas ter uma placa de vídeo compatível com DirectX 10 (Shader Model 3.0).</p>
<h2>Por onde que eu começo ??!!</h2>
<p>Temos uma seção com tutoriais básicos no<a href="ploobsengine.codeplex.com" target="_blank"> site do projeto</a>, além de alguns pacotes com diversos demos de funcionalidades (cerca de 30 demos bastante comentados) .</p>
<p>Estamos trabalhando para criar outros tutoriais e alguns demos reais (pequenos Showcases). Junto com a DLL da Engine, temos um documento (.chm) explicando os conceitos básicos da Engine.</p>
<h2>Como que a Engine é distribuída ?</h2>
<p>Atualmente existem as seguintes formas de distribuição:</p>
<div id="attachment_2095" class="wp-caption alignright" style="width: 310px"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/03/marcuz.jpg"><img class="size-medium wp-image-2095" title="marcuz" src="http://www.bitabit.eng.br/wp-content/uploads/2011/03/marcuz-300x250.jpg" alt="" width="300" height="250" /></a><p class="wp-caption-text">Iluminacao e Lod</p></div>
<ul>
<li>Código Fonte Completo através do nosso repositório Mercurial (este repositório contem apenas a ultima versão estável no branch principal).</li>
<li>DLL Única contendo todas as dependências e documentação.</li>
<li>Através dos pacotes de Demos.</li>
</ul>
<p>A idéia é lançar uma versão estável periodicamente e diversas outras versões betas intermediarias. Caso algum bug crítico seja encontrado, iremos corrigir a versão estável o mais rápido possível. Os Demos e o arquivo de documentação serão atualizados apenas no lançamento de versões estáveis, a documentação do site será atualizada assim que as versões intermediárias forem lançadas. Pretendemos manter compatibilidade com as versões antigas sempre que for possível.</p>
<h2><em>Nosso RoadMap</em></h2>
<p><em> </em></p>
<p>Num futuro próximo pretendemos melhorar a estabilidade, a  documentação e corrigir os bugs que vão “surgindo”, em um futuro um pouco mais distante pretendemos adicionar suporte a Rede.</p>
<h1>Junte-se a nós !!!</h1>
<div id="attachment_2083" class="wp-caption alignright" style="width: 310px"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/03/Etapa1-10232010-64241-PM.jpg"><img class="size-medium wp-image-2083" title="Etapa1 10232010 64241 PM" src="http://www.bitabit.eng.br/wp-content/uploads/2011/03/Etapa1-10232010-64241-PM-300x233.jpg" alt="" width="300" height="233" /></a><p class="wp-caption-text">Iluminacao avancada</p></div>
<p>Antes de tudo, o projeto não tem fins financeiros.</p>
<p>Precisamos de pessoas que gostem de computação gráfica (não é necessário nenhum conhecimento prévio, temos diversos materiais para auxiliar no aprendizado do pessoal), principalmente programação de  shaders (código que roda na placa de vídeo).</p>
<p>Precisamos também de pessoas dispostas a fazer demos e Showcases (pessoas que não irão entrar em contato com o core da Engine).</p>
<p>Duvidas ? Quer saber mais ? Deixe um comentário aqui ou mande um email: <a href="contato@ploobs.com.br">contato@ploobs.com.br</a></p>
<h3>Time Atual</h3>
<p>Thiago Dias Pastor &#8211; COOP10</p>
<p>Bruno Duarte Correa &#8211; COOP10</p>
<h3>Links</h3>
<p>XNA 4.0 Alpha Release: <a href=" http://ploobs.com.br/?p=725">http://ploobs.com.br/?p=725</a></p>
<p>Site do projeto: <a href="http://ploobsengine.codeplex.com/">http://ploobsengine.codeplex.com/</a></p>
<p>DLL, Documentação e Tutoriais (Xna 3.1 Version): <a href="http://sourceforge.net/projects/ploobsengine/files/">http://sourceforge.net/projects/ploobsengine/files/</a></p>
<p>Nosso Fórum: <a href="http://www.ploobs.com.br/forum" target="_blank">ploobs.com.br/forum</a></p>
<p>Nosso Blog: <a href="http://www.ploobs.com.br" target="_blank">ploobs.com.br/</a></p>
<p>Nosso Twitter : <a href="http://www.twitter.com/ploobsengine/">@ploobsengine</a></p>
<h3>Agradecimentos</h3>
<ul>
<li>Toda a galera do COOP10 por ter nos aguentado nesses últimos anos, em especial o Filipão e o Kayatt.</li>
<li>Ao Professor Ricardo Nakamura, nosso orientador no TCC, e seus conselhos sagazes.</li>
<li>A nossa Equipe da ImaginCup 2010, a experiência adquirida mudou completamente o desenvolvimento da engine.</li>
</ul>
<h3>ScreenShots</h3>

<a href='http://www.bitabit.eng.br/2011/03/23/apresentando-ploobs-engine/etapa1-12122010-110541-am/' title='Piscina'><img width="150" height="150" src="http://www.bitabit.eng.br/wp-content/uploads/2011/03/Etapa1-12122010-110541-AM-150x150.jpg" class="attachment-thumbnail" alt="Cena com Reflexão, Refração, Animação, Glow, iluminação e SkyBox" title="Piscina" /></a>
<a href='http://www.bitabit.eng.br/2011/03/23/apresentando-ploobs-engine/etapa1-12122010-15056-am/' title='Scattering'><img width="150" height="150" src="http://www.bitabit.eng.br/wp-content/uploads/2011/03/Etapa1-12122010-15056-AM-150x150.jpg" class="attachment-thumbnail" alt="Ambient Scattering, Vegetação e Partículas ao fundo" title="Scattering" /></a>
<a href='http://www.bitabit.eng.br/2011/03/23/apresentando-ploobs-engine/etapa1-10232010-45216-pm/' title='Etapa1 10232010 45216 PM'><img width="150" height="150" src="http://www.bitabit.eng.br/wp-content/uploads/2011/03/Etapa1-10232010-45216-PM-150x150.jpg" class="attachment-thumbnail" alt="Deferred Render: Da esquerda para direita, imagem final, mapa diffuse, mapa das normais e mapa de iluminacao" title="Etapa1 10232010 45216 PM" /></a>
<a href='http://www.bitabit.eng.br/2011/03/23/apresentando-ploobs-engine/etapa1-10232010-64241-pm/' title='Etapa1 10232010 64241 PM'><img width="150" height="150" src="http://www.bitabit.eng.br/wp-content/uploads/2011/03/Etapa1-10232010-64241-PM-150x150.jpg" class="attachment-thumbnail" alt="Iluminacao avancada" title="Etapa1 10232010 64241 PM" /></a>
<a href='http://www.bitabit.eng.br/2011/03/23/apresentando-ploobs-engine/untitled/' title='Untitled'><img width="150" height="150" src="http://www.bitabit.eng.br/wp-content/uploads/2011/03/Untitled-150x150.jpg" class="attachment-thumbnail" alt="Ploobs Logo" title="Untitled" /></a>
<a href='http://www.bitabit.eng.br/2011/03/23/apresentando-ploobs-engine/marcuz/' title='marcuz'><img width="150" height="150" src="http://www.bitabit.eng.br/wp-content/uploads/2011/03/marcuz-150x150.jpg" class="attachment-thumbnail" alt="Iluminacao e Lod" title="marcuz" /></a>
<a href='http://www.bitabit.eng.br/2011/03/23/apresentando-ploobs-engine/etapa1-12112010-110342-pm/' title='Etapa1 12112010 110342 PM'><img width="150" height="150" src="http://www.bitabit.eng.br/wp-content/uploads/2011/03/Etapa1-12112010-110342-PM-150x150.jpg" class="attachment-thumbnail" alt="Piscina: Combinacao de diversas tecnicas" title="Etapa1 12112010 110342 PM" /></a>
<a href='http://www.bitabit.eng.br/2011/03/23/apresentando-ploobs-engine/etapa1-10232010-55208-pm/' title='Etapa1 10232010 55208 PM'><img width="150" height="150" src="http://www.bitabit.eng.br/wp-content/uploads/2011/03/Etapa1-10232010-55208-PM-150x150.jpg" class="attachment-thumbnail" alt="Oceano" title="Etapa1 10232010 55208 PM" /></a>
<a href='http://www.bitabit.eng.br/2011/03/23/apresentando-ploobs-engine/etapa1-12122010-123737-am/' title='Etapa1 12122010 123737 AM'><img width="150" height="150" src="http://www.bitabit.eng.br/wp-content/uploads/2011/03/Etapa1-12122010-123737-AM-150x150.jpg" class="attachment-thumbnail" alt="Homenagem a Hell Week" title="Etapa1 12122010 123737 AM" /></a>
<a href='http://www.bitabit.eng.br/2011/03/23/apresentando-ploobs-engine/etapa1-10262010-31059-pm/' title='Etapa1 10262010 31059 PM'><img width="150" height="150" src="http://www.bitabit.eng.br/wp-content/uploads/2011/03/Etapa1-10262010-31059-PM-150x150.jpg" class="attachment-thumbnail" alt="Sol e Scattering" title="Etapa1 10262010 31059 PM" /></a>
<a href='http://www.bitabit.eng.br/2011/03/23/apresentando-ploobs-engine/etapa1-10242010-83736-pm/' title='Etapa1 10242010 83736 PM'><img width="150" height="150" src="http://www.bitabit.eng.br/wp-content/uploads/2011/03/Etapa1-10242010-83736-PM-150x150.jpg" class="attachment-thumbnail" alt="Terreno MultiTexture e Vegetacao" title="Etapa1 10242010 83736 PM" /></a>
<a href='http://www.bitabit.eng.br/2011/03/23/apresentando-ploobs-engine/sombra/' title='sombra'><img width="150" height="150" src="http://www.bitabit.eng.br/wp-content/uploads/2011/03/sombra-150x150.jpg" class="attachment-thumbnail" alt="Sombra com CSM e Filtragem" title="sombra" /></a>

<p><em><br />
</em><em> </em><em> </em></p>
<img src="http://www.bitabit.eng.br/?ak_action=api_record_view&id=2076&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.bitabit.eng.br/2011/03/23/apresentando-ploobs-engine/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Apache Solr: how to search sorting accented fields</title>
		<link>http://www.bitabit.eng.br/2011/03/16/sunspot-solr-how-to-sort-accented-fields/</link>
		<comments>http://www.bitabit.eng.br/2011/03/16/sunspot-solr-how-to-sort-accented-fields/#comments</comments>
		<pubDate>Wed, 16 Mar 2011 20:28:18 +0000</pubDate>
		<dc:creator>Rafael Barbolo Lopes, Coop10</dc:creator>
				<category><![CDATA[Busca]]></category>
		<category><![CDATA[Coop10]]></category>
		<category><![CDATA[Cooperativo]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[ascii]]></category>
		<category><![CDATA[ASCIIFoldingFilterFactory]]></category>
		<category><![CDATA[HTMLStripCharFilterFactory]]></category>
		<category><![CDATA[KeywordTokenizer]]></category>
		<category><![CDATA[KeywordTokenizerFactory]]></category>
		<category><![CDATA[latin]]></category>
		<category><![CDATA[LowerCaseFilterFactory]]></category>
		<category><![CDATA[Normalizing]]></category>
		<category><![CDATA[queries]]></category>
		<category><![CDATA[schema]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[solr]]></category>
		<category><![CDATA[StandardFilterFactory]]></category>
		<category><![CDATA[StandardTokenizerFactory]]></category>
		<category><![CDATA[string field]]></category>
		<category><![CDATA[sunspot]]></category>
		<category><![CDATA[TextField]]></category>
		<category><![CDATA[token]]></category>
		<category><![CDATA[tokenizer]]></category>

		<guid isPermaLink="false">http://www.bitabit.eng.br/?p=2054</guid>
		<description><![CDATA[We are using Apache Solr and Sunspot in a brazilian portuguese project and wanted it to work with accented chars. Normalizing latin chars (á, é, ç, &#8230;) to ASCII chars (a, e, c, &#8230;) in our search index and queries was pretty easy. We changed the text field definition to the following schema: 1 2 [...]]]></description>
			<content:encoded><![CDATA[<p>We are using <a href="http://lucene.apache.org/solr/">Apache Solr</a> and <a href="http://outoftime.github.com/sunspot/">Sunspot</a> in a brazilian portuguese project and wanted it to work with accented chars.</p>
<p><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/03/apache_solr_logo.jpg"><img src="http://www.bitabit.eng.br/wp-content/uploads/2011/03/apache_solr_logo.jpg" alt="" title="Apache SOLR Logo" width="283" height="156" class="aligncenter size-full wp-image-2070" /></a></p>
<p>Normalizing latin chars (á, é, ç, &#8230;) to ASCII chars (a, e, c, &#8230;) in our search index and queries was pretty easy. We changed the text field definition to the following schema:</p>
<p><br/><br/></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;fieldType</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;solr.TextField&quot;</span> <span style="color: #000066;">omitNorms</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;analyzer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;charFilter</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;solr.HTMLStripCharFilterFactory&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span> <span style="color: #808080; font-style: italic;">&lt;!-- strip HTML --&gt;</span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;tokenizer</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;solr.StandardTokenizerFactory&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;filter</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;solr.StandardFilterFactory&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;filter</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;solr.LowerCaseFilterFactory&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;filter</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;solr.ASCIIFoldingFilterFactory&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span> <span style="color: #808080; font-style: italic;">&lt;!-- convert accented chars to ASCII --&gt;</span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/analyzer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/fieldType<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p><br/><br/></p>
<p>A more difficult problem was to sort accented string fields. By default, the class of the sunspot&#8217;s string field is <em>solr.StrField</em>. The string field is used for sorting, but was showing problems to sort accented inputs. For the inputs &#8220;árvore&#8221;, &#8220;bola&#8221;, &#8220;ano&#8221; it was showing the sorted result: &#8220;ano&#8221;, &#8220;bola&#8221;, &#8220;árvore&#8221; (the correct result would be &#8220;ano&#8221;, &#8220;árvore&#8221;, &#8220;bola&#8221;).</p>
<p>The problem with accented chars sorting is that non-ASCII chars are represented as HTML entites (for example, <em>&amp;aacute; </em>instead of<em> á</em>) and special chars as &#8220;&#038;&#8221; goes after alphanumeric chars in a sort.</p>
<p>To solve this, we changed the string field&#8217;s class to <em>solr.TextField</em> but making sure that its tokenizer would not create more than one token for each entry. The tokenizer we used was the <em>KeywordTokenizer</em>. The final schema for the string field was:</p>
<p><br/><br/></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;fieldType</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;string&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;solr.TextField&quot;</span> <span style="color: #000066;">omitNorms</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;analyzer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;tokenizer</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;solr.KeywordTokenizerFactory&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;filter</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;solr.LowerCaseFilterFactory&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;filter</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;solr.ASCIIFoldingFilterFactory&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/analyzer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/fieldType<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p><br/><br/></p>
<img src="http://www.bitabit.eng.br/?ak_action=api_record_view&id=2054&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.bitabit.eng.br/2011/03/16/sunspot-solr-how-to-sort-accented-fields/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>iWoz: A versão da história da Apple por Steve Wozniak</title>
		<link>http://www.bitabit.eng.br/2011/03/14/iwoz-a-versao-da-historia-da-apple-por-steve-wozniak/</link>
		<comments>http://www.bitabit.eng.br/2011/03/14/iwoz-a-versao-da-historia-da-apple-por-steve-wozniak/#comments</comments>
		<pubDate>Mon, 14 Mar 2011 04:35:11 +0000</pubDate>
		<dc:creator>Nathalia Sautchuk Patrício, Coop9</dc:creator>
				<category><![CDATA[Computação]]></category>
		<category><![CDATA[Coop9]]></category>
		<category><![CDATA[Cooperativo]]></category>
		<category><![CDATA[Curiosidades]]></category>
		<category><![CDATA[Empreendedorismo]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[história da computação]]></category>
		<category><![CDATA[Wozniak]]></category>

		<guid isPermaLink="false">http://www.bitabit.eng.br/?p=2050</guid>
		<description><![CDATA[Nos últimos tempos, passei diversas noites lendo o livro iWoz que conta a versão da história da Apple segundo o Steve Wozniak. Não sou nenhuma fã da Apple e sequer tenho um produto da empresa. Mas quando vi o livro vendendo na Campus Party nesse ano, acabei comprando por ser um &#8220;livro de histórias&#8221; da [...]]]></description>
			<content:encoded><![CDATA[<p>Nos últimos tempos, passei diversas noites lendo o livro <a href="http://www.editoraevora.com.br/livro/iwoz.aspx">iWoz</a> que conta a versão da história da Apple segundo o Steve Wozniak.</p>
<p>Não sou nenhuma fã da Apple e sequer tenho um produto da empresa. Mas quando vi o livro vendendo na <a href="http://www.campus-party.com.br/">Campus Party</a> nesse ano, acabei comprando por ser um &#8220;livro de histórias&#8221; da  computação e porque fiquei sabendo que o Woz iria dar uma palestra na  Campus e autografar os livros. Por fim, não consegui ir a palestra, mas  fiquei sabendo que foi muito bacana.<br />
Quando se fala em Apple, em  geral, as pessoas associam a figura de Steve Jobs. Porém, a empresa foi  fundada por dois Steves, o Jobs e o Wozniak como bem mostrado no filme &#8220;<a href="http://pt.wikipedia.org/wiki/Piratas_do_Vale_do_Sil%C3%ADcio">Piratas do Vale do Silício</a>&#8220;.  O livro, antes de ser de fato sobre a história da Apple, é uma  biografia de Steve Wozniak, desde seus tempos de criança até sua vida  após a Apple.</p>
<p>No início do livro, Woz conta como seu pai foi seu  grande motivador a se tornar um engenheiro. A forma como ele o motivava  era bem interessante: apenas respondia o que o filho o perguntava sem  querer &#8220;adiantá-lo&#8221;, mas de uma forma que o induzia a ter mais  curiosidade em entender sobre eletrônica. Com certeza, pode-se notar que  ele fez um excelente trabalho com marcas profundas na formação de Woz.</p>
<p>Durante  sua infância Woz se envolveu em vários projetos de eletrônica, tanto  junto com seu pai quanto com os Garotos Eletrônicos. Por exemplo, quando  Woz tinha 11 anos, construiu a sua própria estação de radioamador e  obteve uma licença de radioamador. Aos 13 anos, foi eleito presidente do  clube de eletrônica de sua escola e ganhou o primeiro prêmio em uma  feira de ciências regional por uma calculadora baseada em transistores.</p>
<p>Wozniak  também esclarece algumas coisas que dizem por ai sobre a Apple e a  invenção do computador pessoal. De fato, Woz projetou sozinho o primeiro  computador pessoal que existiu, que veio a se tornar o Apple I.</p>
<p>O  livro me levou a conclusão de que o verdadeiro empreendedor da Apple  era o Steve Jobs, enquanto o Wozniak era o inventor de seu produto. Isso  fica bem claro quando, pressionado por um investidor, Woz diz que não  queria sair de seu emprego na HP para tocar a Apple junto com Jobs.  Queria que fosse uma coisa paralela na sua vida como tinha sido até  então. Ou seja, a Apple jamais teria existido se Jobs e Woz não tivessem  se juntado. Apesar de Woz deixar claro que os dois eram muito  diferentes, por outro lado, eles, de certa forma, se completavam: sem a  iniciativa de Jobs, a Apple não teria sido criada e sem a grande sacada  de Woz, a Apple não teria seu produto.</p>
<p>Um boato que esclarece no  livro é de que teria saído da Apple por estar insatisfeito com as  atitudes de seus administradores. Na verdade, após sofrer um acidente de  avião e ficar 5 semanas afastado do trabalho com amnesia, Woz decidiu  continuar afastado da empresa e voltar a Berkeley para terminar seu  curso de Engenharia. Depois de terminar o curso, voltou novamente a  trabalhar na Apple. Porém, ele sentiu que já não havia mais espaço para  inovar e, quando uma outra ideia de tecnologia surgiu em sua cabeça,  decidiu que era hora de se dedicar a ela. A ideia era simplesmente o que  hoje conhecemos por controle remoto universal.</p>
<p>Após isso, ele ainda se aventurou na área da docência: começou a dar aulas de informática para crianças.</p>
<p>A  principal lição que fica do livro é que o incentivo a curiosidade e a  criação de condições para a descoberta das respostas às questões  levantadas pelas crianças podem gerar grandes frutos: pessoas com  pensamento independente como Woz. Ele conseguiu vislumbrar que cada  pessoa poderia ter um computador em casa e que isso transformaria suas  vidas, mesmo quando quase todos achavam isso uma grande bobagem.</p>
<p>iWoz  é um bom livro e sua leitura é recomendada para todos aqueles da área  da computação, pois trata de questões bem comuns da nossa área de uma  forma muito humana.</p>
<p>P.S.: A única coisa que me irritou no livro é  um erro de tradução do inglês para o português. Traduziram &#8220;register&#8221;  como &#8220;registro&#8221;, quando, na verdade, deveria ser registrador. FAIL!!!</p>
<img src="http://www.bitabit.eng.br/?ak_action=api_record_view&id=2050&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.bitabit.eng.br/2011/03/14/iwoz-a-versao-da-historia-da-apple-por-steve-wozniak/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Detecção e rastreamento de faces em vídeos – Como classificar faces?</title>
		<link>http://www.bitabit.eng.br/2011/03/07/como-classificar-faces/</link>
		<comments>http://www.bitabit.eng.br/2011/03/07/como-classificar-faces/#comments</comments>
		<pubDate>Mon, 07 Mar 2011 12:00:20 +0000</pubDate>
		<dc:creator>Filipe M. S. de Campos, Coop10</dc:creator>
				<category><![CDATA[Algoritmos e Estruturas de Dados]]></category>
		<category><![CDATA[Computação]]></category>
		<category><![CDATA[Coop10]]></category>
		<category><![CDATA[Inteligência Artificial]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[Visão Computacional]]></category>
		<category><![CDATA[Affine transformation]]></category>
		<category><![CDATA[boca]]></category>
		<category><![CDATA[classificação]]></category>
		<category><![CDATA[computer vision]]></category>
		<category><![CDATA[correlação]]></category>
		<category><![CDATA[detecção]]></category>
		<category><![CDATA[detection]]></category>
		<category><![CDATA[face]]></category>
		<category><![CDATA[iniciação científica]]></category>
		<category><![CDATA[inteligência artificial]]></category>
		<category><![CDATA[jones]]></category>
		<category><![CDATA[kmeans]]></category>
		<category><![CDATA[nariz]]></category>
		<category><![CDATA[olhos]]></category>
		<category><![CDATA[OpenCV]]></category>
		<category><![CDATA[transformação afim]]></category>
		<category><![CDATA[viola]]></category>
		<category><![CDATA[visão computacional]]></category>

		<guid isPermaLink="false">http://www.bitabit.eng.br/?p=1916</guid>
		<description><![CDATA[Finalizando a nossa série de artigos, indicarei textos sobre a teoria responsável pela etapa de classificação das faces e também a aplicação dela no projeto de iniciação científica. . . Teoria envolvida Para a última etapa do projeto, foi necessário conhecer e organizar todas as faces pelos momentos em que elas aparecem nas tomadas do vídeo [...]]]></description>
			<content:encoded><![CDATA[<p>Finalizando a nossa série de artigos, indicarei textos sobre a teoria responsável pela etapa de classificação das faces e também a aplicação dela no projeto de iniciação científica.   <span style="color: #ffffff;">.</span></p>
<p><span style="color: #ffffff;">.</span></p>
<h2>Teoria envolvida</h2>
<p>Para a última etapa do projeto, foi necessário conhecer e organizar todas as faces pelos momentos em que elas aparecem nas tomadas do vídeo e a que pessoas elas correspondem. Para isso, foram utilizados alguns conceitos e teorias já apresentados nos artigos anteriores da série, mas também outros tópicos ainda não estudados. Para todos os assuntos, serão listadas fontes interessantes para estudo.</p>
<h4>Detecção de características faciais (olhos, nariz, boca):</h4>
<p>Técnica de Viola e Jones com as cascatas adequados para cada característica facial. Mais detalhes sobre essa técnica em <a title="Detecção de objetos - Vioja e Jones" href="http://www.bitabit.eng.br/2011/02/21/como-detectar-faces-em-videos" target="_blank">Detecção e rastreamento de faces em vídeos – Como detectar faces em vídeos?</a>.</p>
<h4>Transformação Afim:</h4>
<p><a title="Transformação afim - Wikipedia" href="http://en.wikipedia.org/wiki/Affine_transformation" target="_blank">Link da Wikipedia sobre transformação afim</a> <a title="Matriz de Transformação" href="http://en.wikipedia.org/wiki/Transformation_matrix" target="_blank">Link da Wikipedia sobre a matriz de transformação</a> <a title="Transformação afim no OpenCV" href="http://dasl.mem.drexel.edu/~noahKuntz/openCVTut5.html#Step%202" target="_blank">Como realizar transformação afim utilizando o OpenCV</a> <a title="Mosaico de imagens" href="http://amais.esoterica.pt/apsi/index.html" target="_blank">Link</a> interessante para um projeto da Universidade do Porto que trata de mosaico de imagens. Com a leitura, além de aprender sobre transformação afim e correlação, você entenderá outra possibilidade de uso desse tipo de transformação e também outras teorias envolvidas para a realização desse projeto.</p>
<h4>Correlação:</h4>
<p><em><a title="Fast Normalized Cross-Correlation" href="http://www.idiom.com/~zilla/Papers/nvisionInterface/nip.html" target="_blank">Fast Normalized Cross-Correlation</a></em> <a title="Correlação - OpenCV" href="http://dasl.mem.drexel.edu/~noahKuntz/openCVTut6.html#Step%202" target="_blank">Como realizar Template Matching utilizando o OpenCV</a> <a title="Template Matching" href="http://nashruddin.com/template-matching-in-opencv-with-example.html" target="_blank">Código exemplo sobre <em>Template Matching</em> utilizando OpenCV</a></p>
<h4>Kmeans:</h4>
<p><a title="Kmeans - Wikipedia" href="http://en.wikipedia.org/wiki/K-means_clustering" target="_blank">Link da Wikipedia sobre Kmeans</a> <a title="Kmeans" href="http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/kmeans.html" target="_blank">Link explicando sobre Kmeans</a> <a title="Kmeans" href="http://people.revoledu.com/kardi/tutorial/kMean/NumericalExample.htm" target="_blank">Link para uma explicação curta e um exemplo</a> <a title="Slides Kmeans" href="http://www.autonlab.org/tutorials/kmeans.html" target="_blank">Slides explicativos sobre o Kmeans</a></p>
<p><span style="color: #ffffff;">.</span></p>
<h2>Aplicação no projeto</h2>
<p>A ideia central dessa etapa era preparar os dados para a criação da estrutura de indexação a ser utilizada pelo hipervídeo. Para isso, inicialmente, seriam identificadas as expressões faciais para a face de cada pessoa presente em uma tomada. O objetivo era guardar a face mais frontal possível e também os pontos necessários para a transformação afim que ocorre como passo seguinte. Com essa transformação afim e a aplicação da máscara, preparávamos as faces pela criação de um padrão para que elas pudessem ser comparadas através de um método simples como o de correlação. Com o valor da correlação entre as faces calculado, utilizava-se o Kmeans para criar grupos de faces semelhantes, o que corresponderiam a faces de uma mesma pessoa. Os parágrafos abaixo explicarão com mais detalhes essas etapas.  Primeiramente, foi adicionado ao sistema uma funcionalidade que permitia extrair de todo quadro do vídeo apenas a imagem de cada face existente. Com a imagem da face; olhos, nariz e boca eram identificados usando o algoritmo de Viola e Jones com um filtro de Haar em cascata adequado para cada caso. Para diminuir a quantidade de falsos positivos para essas características faciais, foram criadas regiões de interesse para cada uma delas e o método citado era aplicado apenas nessas regiões. A partir do retângulo correspondente aos olhos e ao nariz, eram extraídas as coordenadas do centro dessas características. Na figura 1 pode-se observar as características faciais detectadas.</p>
<div id="attachment_1948" class="wp-caption aligncenter" style="width: 340px"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/03/olhosNarizBoca.png"><img class="size-full wp-image-1948" title="Olhos, Nariz e Boca" src="http://www.bitabit.eng.br/wp-content/uploads/2011/03/olhosNarizBoca.png" alt="" width="330" height="200" /></a><p class="wp-caption-text">Figura 1 - Pode-se observar o centro encontrado para o nariz, olhos e boca.</p></div>
<p>Além de útil para a próxima etapa, uma face que contém dois olhos e um nariz, é uma face ”mais frontal” do que uma que não as contém, o que é muito mais interessante para o projeto. Assim, para cada quadro do vídeo, se a imagem da face não possuísse dois olhos e um nariz, tentava-se fazer uma troca pela imagem da face do próximo quadro, contanto que nessa fossem identificadas mais características faciais. Com esse procedimento, o sistema tenta obter a melhor face possível para cada pessoa em uma tomada.  O próximo passo foi, utilizando os centros encontrados anteriormente, realizar uma transformação afim da face encontrada para uma face padrão em tons de cinza. Essa tinha um tamanho pré definido (64 <em>pixels</em> de altura e 48 de largura) e também uma posição padrão para os olhos e o nariz (olho esquerdo: (34,26); olho direito: (15,26); nariz: (24,39) ) que foi definida a partir de medições em diversas faces e baseado em proporções faciais encontradas em [1]. Com esse procedimento, tentamos eliminar problemas de translação e rotação de uma face para outra antes da etapa de correlação. Na tentativa de eliminar problemas de iluminação, foi feita uma equalização do histograma. Depois da transformação afim, também era aplicada uma máscara à imagem. Essa máscara permite comparar somente a região dos olhos e do nariz, excluindo regiões inadequadas como a boca e os cantos da imagem já que essas regiões sofrem frequentes modificações inclusive para uma mesma pessoa, o que atrapalharia o processo de cálculo da correlação com o objetivo de encontrar faces de uma mesma pessoa. Na figura 2 observa-se o processo descrito acima para trâs casos.</p>
<div id="attachment_1949" class="wp-caption aligncenter" style="width: 307px"><a href="http://www.bitabit.eng.br/wp-content/uploads/2011/03/transofrmadaMascaraFinal.png"><img class="size-full wp-image-1949 " title="Transofrmada, Mascara e Final" src="http://www.bitabit.eng.br/wp-content/uploads/2011/03/transofrmadaMascaraFinal.png" alt="" width="297" height="385" /></a><p class="wp-caption-text">Figura 2: A figura apresenta, na coluna da esquerda, a face após a transformação afim e equalização do histograma. Ao centro a máscara aplicada à imagem e na coluna da direita o resultado para a aplicação da máscara.</p></div>
<p>Até esse ponto, os problemas principais estavam relacionados a encontrar os olhos e o nariz nas faces. Nem sempre conseguíamos faces frontais em uma tomada, pois, ou ela realmente não era frontal, ou o detetor falhava, tanto não encontrando a característica desejada quanto devolvendo um falso positivo. O ajuste para esse tipo de detecção se mostrou um trabalho minucioso e longo.  Em seguida, deu-se início à próxima etapa. Ela consistiu em calcular a correlação entre todas as imagens e com esses dados, montar uma matriz. Essa matriz era passada para o Kmeans, que separava as faces em grupos, sendo que cada um desses grupos possui faces de uma mesma pessoa que apareceu em diversas tomadas do vídeo.  Durante essa parte do projeto, também foi projetado o segundo passo para a retirada de falsos positivos. O processo de correlação já implementado também foi utilizado para calcular a correlação entre a face candidata encontrada no vídeo e uma face padrão ideal composta por uma média de faces humanas. Se o valor resultante for acima de um limiar de alto valor, o candidato é aceito como face, caso contrário, é descartado por se tratar de um falso positivo.</p>
<p><span style="color: #ffffff;">.</span></p>
<p><span style="color: #ffffff;"> </span> É isso aí pessoal, encerra-se aqui essa série de quatro artigos sobre detecção e rastreamento facial dentro do contexto da criação de um hipervídeo. Espero que tenham aproveitado.</p>
<p><span style="color: #ffffff;">.</span></p>
<h2>Referências</h2>
<p>[1] R. M. Bertollo, D. L. da Silva, L. Oliveira, R. D. Bergoli, and M. G. de Oliveira. Avaliacao da harmonia facial em relacao as proporcoes divinas de fibonacci. Revista Portuguesa de Estomatologia, Medicina Dentaria e Cirurgia Maxilofacial, 49(N4), 2008.  <span style="color: #ffffff;">.</span> <span style="color: #ffffff;">.</span></p>
<h3><span style="color: #ffffff;">.</span></h3>
<h3><span style="color: #ffffff;">.</span></h3>
<h3>Artigos da série:</h3>
<p>Anterior: <a title="Como rastrear faces em vídeos?" href="http://www.bitabit.eng.br/2011/02/28/como-rastrear-faces-em-videos/" target="_self">Como rastrear faces em vídeos?</a></p>
<h3><span style="color: #ffffff;">.</span></h3>
<img src="http://www.bitabit.eng.br/?ak_action=api_record_view&id=1916&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.bitabit.eng.br/2011/03/07/como-classificar-faces/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

