tag:blogger.com,1999:blog-9374486228577748762023-11-16T03:05:26.821-08:00FMS's BlogFelipe Martinshttp://www.blogger.com/profile/11257606815616582925noreply@blogger.comBlogger13125tag:blogger.com,1999:blog-937448622857774876.post-85095596130314625152012-04-14T11:48:00.000-07:002012-04-14T11:48:36.114-07:00Depois de um ano sem postar...<div style="text-align: justify;">Pouco mais de um ano sem postar neste blog, estou aqui para responder uma mensagem</div><div style="text-align: justify;">postada pela Nê e atualizar este blog também. Recebi dela algumas questões, meme dos 11.</div><div style="text-align: justify;">Vou respondê-las agora. Contudo, vou ser um pouco mala e vou romper a corrente depois</div><div style="text-align: justify;">de responder rs. É um questionário interessante para quem visita o blog poder me conhecer</div><div style="text-align: justify;">um pouco mais.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><b><u>Meme dos 11</u></b></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><b>Fatos aleatórios sobre mim: </b></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">1. Nasci em São Paulo. Não conheço muitas cidades e nunca saí do Brasil. Quando viajo, normalmente é para Muriaé-MG ou para Praia Grande-SP. Um lugar que conheci em 2010 foi Belo Horizonte-MG. Gostei da cidade e até me interessei em morar lá. Parece uma cidade grande como São Paulo, mas não tão estressante e no horizonte ainda se poder ver o verde da natureza =).</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">2. Atualmente só estudo. Faço mestrado em Ciência da Computação na USP e pretendo terminar ainda neste ano.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">3. Moro com meus pais, mas começo a pensar em quando terminar o mestrado, voltar a trabalhar e alcançar uma certa independência para só depois pensar em fazer Doutorado.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">4. Namoro há cerca de 1 ano e 3 meses. Pela primeira vez estou feliz com otimismo diante do relacionamento mesmo depois dos primeiros meses de namoro.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">5. Sou apaixonado por cinema, filmes e seriados.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">6. Gosto muito de blues e de rock também.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">7. Toco violão/guitarra, apesar de ser péssimo para cantar. Não estudei música por muito tempo, por este motivo aprendo as músicas com cifras ou tablaturas. Já tentei aprender a tocar gaita também, mas não deu muito certo.</div><div style="text-align: justify;">8. Gosto muito de jogos eletrônicos também. Principalmente das séries Resident Evil e Pro Evolution Soccer (PES). Quando mais jovem, fazia campeonatos de PES aqui em casa com os colegas do colégio, era divertido.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">9. Tenho o sonho de desenvolver jogos, mas até hoje o máximo que eu implementei foi um Pong (aquele do Telejogo), mas não detecta as colisões da bolinha (que na verdade é um quadrado) tão bem. Apesar disso, quando acabar o mestrado, quero deixar um tempinho para programar alguns jogos 2D (para PC ou para Android) e distribuir na Internet.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">10. Tenho um blog sobre games com a contribuição de alguns gamers do Orkut que participam da minha comunidade. Visitem o blog! e se ainda tiverem Orkut, a comunidade!</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">11. Gosto de caminhar e correr, mas faz muito tempo que não faço isso. =\</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><b>Perguntas:</b></div><div style="text-align: justify;">1. Três coisas que você não poderia viver sem.</div><div style="text-align: justify;">Oxigênio, Água e Comida. Mas se relaxarmos essas condições, não conseguiria viver sem:</div><div style="text-align: justify;">Pessoas Queridas por perto, Música e Computador com Internet. Fato é que 3 coisas não são o suficiente.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">2. Qual música te dá a sensação que a letra foi feita para você?</div><div style="text-align: justify;">Difícil essa pergunta. Lembro de músicas que me identifico com partes, refrão ou coisas assim. Só para não deixar em branco: A Estrada (Cidade Negra).</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">3. Uma mania sua que não gostaria de ter.</div><div style="text-align: justify;">Mania de sedentarismo e mania de tomar muito café achando que será a solução de todos os meus problemas.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">4. Um filme que te fez enxergar alguma coisa com outros olhos.</div><div style="text-align: justify;">À procura da felicidade: fez eu ver que realmente a felicidade verdadeira</div><div style="text-align: justify;">demora para ser conquistada, mas que vale muito a pena buscá-la e nunca</div><div style="text-align: justify;">desistir dos nossos sonhos.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">5. A paisagem mais linda que você já viu.</div><div style="text-align: justify;">Não sou uma pessoa de viajar muito para lugares bonitos, apesar de ter vontade. </div><div style="text-align: justify;">Então fica meio complicado, a natureza como um todo, quando bem cuidada, é sempre</div><div style="text-align: justify;">bonita.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">6. Em que lugar gostaria de estar neste exato momento.</div><div style="text-align: justify;">Não sei onde, mas sei com quem...</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">7. Uma pessoa que te faz suspirar.</div><div style="text-align: justify;">Regina.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">8. Qual o livro que está lendo no momento.</div><div style="text-align: justify;">Nenhum. Ultimamente só tenho lido artigos do mestrado e estudado um pouco</div><div style="text-align: justify;">para concursos públicos.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">9. Um objetivo a ser cumprido durante esse ano.</div><div style="text-align: justify;">Terminar o mestrado e conseguir um emprego após terminar.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">10. Um site que entra com certa frequência e recomenda.</div><div style="text-align: justify;">http://www.folha.com.br (é bom se manter informado).</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">11. Objeto preferido.</div><div style="text-align: justify;">Computador.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"> Bom, é isso. Até mais!</div>Felipe Martinshttp://www.blogger.com/profile/11257606815616582925noreply@blogger.com1tag:blogger.com,1999:blog-937448622857774876.post-63392942604080144932011-03-28T10:08:00.000-07:002011-03-28T10:36:26.710-07:00RC100<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqzM-27g5wgmPXte3zuD4d965wqidTzR6aEuydM9TJnLcuFdsKIShVmbIMw4z8a7YUu3cg_8RgzRFg2hIqsczf705JBDBwmSafPGSMFpZqV2WlaemSscV09BafIEfHfcOPQd0xajLfF9Zq/s1600/foto-rogerio-ceni.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 296px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqzM-27g5wgmPXte3zuD4d965wqidTzR6aEuydM9TJnLcuFdsKIShVmbIMw4z8a7YUu3cg_8RgzRFg2hIqsczf705JBDBwmSafPGSMFpZqV2WlaemSscV09BafIEfHfcOPQd0xajLfF9Zq/s320/foto-rogerio-ceni.jpg" alt="" id="BLOGGER_PHOTO_ID_5589183423730331138" border="0" /></a><span style="font-style: italic;">Imagem retirada de imagensgratis.com.br</span><br /><br /></div><span class="blsp-spelling-error" id="SPELLING_ERROR_0">Oi</span> pessoal, li uma notícia no Terra ontem que mostrava algumas curiosidades sobre os <span class="blsp-spelling-error" id="SPELLING_ERROR_1">gols</span> do <a href="http://pt.wikipedia.org/wiki/Rog%C3%A9rio_Ceni"><span style="font-weight: bold;">Rogério <span class="blsp-spelling-error" id="SPELLING_ERROR_2">Ceni</span> (<span class="blsp-spelling-error" id="SPELLING_ERROR_3">RC</span>)</span></a>, criei esta <span class="blsp-spelling-error" id="SPELLING_ERROR_4">postagem</span> para homenagear o <span class="blsp-spelling-error" id="SPELLING_ERROR_5">goleiro</span> do tricolor e reunir alguns dos <span class="blsp-spelling-error" id="SPELLING_ERROR_6">gols</span> marcados em <span class="blsp-spelling-error" id="SPELLING_ERROR_7">goleiros</span> que possuem certa reputação por terem jogado em grandes clubes.<br /><div style="text-align: justify;"><br /><span class="blsp-spelling-error" id="SPELLING_ERROR_8">Goleiros</span> conhecidos que foram vítimas do <span class="blsp-spelling-error" id="SPELLING_ERROR_9">RC</span><br /><br /><a href="http://www.youtube.com/watch?v=mIfoxzTH8k4"><span style="font-weight: bold;">Fábio (Cruzeiro)</span></a><br /><br /><a href="http://www.youtube.com/watch?v=v48Kti0_TOY"><span style="font-weight: bold;">Marcos (Palmeiras)</span></a><br /><br /><a href="http://www.youtube.com/watch?v=eENnEclLm5c"><span style="font-weight: bold;">Tiago (Vasco)</span></a><br /><br /><a href="http://www.youtube.com/watch?v=gIB-56NU-uM"><span style="font-weight: bold;">Carlos Germano (Santos)</span></a><br /><br /><a href="http://www.youtube.com/watch?v=Anh5xUtxSIk"><span style="font-weight: bold;"><span class="blsp-spelling-error" id="SPELLING_ERROR_10">Clemer</span> (<span class="blsp-spelling-error" id="SPELLING_ERROR_11">Inter</span>)</span></a><br /><br /><a href="http://www.youtube.com/watch?v=a6xMqViLTJA"><span style="font-weight: bold;">Sérgio (Palmeiras)</span></a><br /><br /><a href="http://www.youtube.com/watch?v=g5OdIuIerUE"><span style="font-weight: bold;"><span class="blsp-spelling-error" id="SPELLING_ERROR_12">Bosco</span> (Portuguesa)</span></a><br /><br /><a href="http://www.youtube.com/watch?v=MNCdKzDuxOQ"><span style="font-weight: bold;"><span class="blsp-spelling-error" id="SPELLING_ERROR_13">Castillo</span> (<span class="blsp-spelling-error" id="SPELLING_ERROR_14">Botafogo</span>)</span></a><br /><br /><a href="http://www.youtube.com/watch?v=mqRbTsIuG5s"><span style="font-weight: bold;"><span class="blsp-spelling-error" id="SPELLING_ERROR_15">Danrlei</span> (<span class="blsp-spelling-error" id="SPELLING_ERROR_16">Grêmio</span>)</span></a><br /><br /><a href="http://www.youtube.com/watch?v=PMUPH2rZhvs"><span style="font-weight: bold;">Diego <span class="blsp-spelling-error" id="SPELLING_ERROR_17">Cavallieri</span> (Palmeiras)</span></a><br /><br /><a href="http://www.youtube.com/watch?v=v9DMuXK3dgM"><span style="font-weight: bold;">Fernando Henrique (Fluminense)</span></a><br /><br /><a href="http://www.youtube.com/watch?v=UVjJzhpirNY"><span style="font-weight: bold;"><span class="blsp-spelling-error" id="SPELLING_ERROR_18">Julio</span> César (<span class="blsp-spelling-error" id="SPELLING_ERROR_19">Corinthians</span>) que sofreu o centésimo <span class="blsp-spelling-error" id="SPELLING_ERROR_20">gol</span> de <span class="blsp-spelling-error" id="SPELLING_ERROR_21">RC</span></span> (Video 1)</a><br /><br /><a href="http://www.youtube.com/watch?v=qt9usJnUcXI"><span style="font-weight: bold;"><span class="blsp-spelling-error" id="SPELLING_ERROR_18">Julio</span> César (<span class="blsp-spelling-error" id="SPELLING_ERROR_19">Corinthians</span>) que sofreu o centésimo <span class="blsp-spelling-error" id="SPELLING_ERROR_20">gol</span> de <span class="blsp-spelling-error" id="SPELLING_ERROR_21">RC</span></span> (Video 2)</a><br /><br /><a href="http://www.youtube.com/watch?v=UCB-bLmdm3Y&feature=related"><span style="font-weight: bold;">Marcelo (<span class="blsp-spelling-error" id="SPELLING_ERROR_22">Corinthians</span>)</span></a><br /><br /><a href="http://www.youtube.com/watch?v=bdOSnowdyQI"><span style="font-weight: bold;"><span class="blsp-spelling-error" id="SPELLING_ERROR_25">Roger</span> (Portuguesa)</span></a><br /><br /><a href="http://www.youtube.com/watch?v=B92xD6ZrZdg&playnext=1&list=PL9770B578E523548F"><span style="font-weight: bold;"><span class="blsp-spelling-error" id="SPELLING_ERROR_26">Velloso</span> (Atlético-<span class="blsp-spelling-error" id="SPELLING_ERROR_27">MG</span>)</span></a><br /><br /><a href="http://www.youtube.com/watch?v=Muo9iN7goHQ"><span style="font-weight: bold;"><span class="blsp-spelling-error" id="SPELLING_ERROR_31">Zetti</span> do (Santos)</span></a><br /><br /><span style="font-weight: bold;">Curiosidades:</span><br /><br /><ul><li>O <span class="blsp-spelling-error" id="SPELLING_ERROR_32">Corinthians</span> sofreu o centésimo, mas o <span class="blsp-spelling-error" id="SPELLING_ERROR_33">time</span> que mais foi vítima do <span class="blsp-spelling-error" id="SPELLING_ERROR_34">RC</span> foi o Palmeiras (que sofreu 7 <span class="blsp-spelling-error" id="SPELLING_ERROR_35">gols</span> do <span class="blsp-spelling-error" id="SPELLING_ERROR_36">RC</span>). E o único <span class="blsp-spelling-error" id="SPELLING_ERROR_37">time</span> que sofreu <span class="blsp-spelling-error" id="SPELLING_ERROR_38">gol</span> de <span class="blsp-spelling-error" id="SPELLING_ERROR_39">RC</span> em finais foi o Santos, na época o <span class="blsp-spelling-error" id="SPELLING_ERROR_40">goleiro</span> do Santos era o Carlos Germano.</li><li>O <span class="blsp-spelling-error" id="SPELLING_ERROR_41">goleiro</span> que mais foi vítima do <span class="blsp-spelling-error" id="SPELLING_ERROR_42">RC</span> foi o <span class="blsp-spelling-error" id="SPELLING_ERROR_43">Fabio</span> (5 <span class="blsp-spelling-error" id="SPELLING_ERROR_44">gols</span> sofridos pelo Cruzeiro e 1 pelo Vasco).</li><li><span class="blsp-spelling-error" id="SPELLING_ERROR_45">RC</span> fez <span class="blsp-spelling-error" id="SPELLING_ERROR_46">gols</span> em outros <span class="blsp-spelling-error" id="SPELLING_ERROR_47">goleiros</span> que <span class="blsp-spelling-error" id="SPELLING_ERROR_48">atuaram</span> ou viriam a <span class="blsp-spelling-error" id="SPELLING_ERROR_49">atuar</span> com ele no <span class="blsp-spelling-error" id="SPELLING_ERROR_50">SPFC</span>: <span class="blsp-spelling-error" id="SPELLING_ERROR_51">Zetti</span>, <span class="blsp-spelling-error" id="SPELLING_ERROR_52">Roger</span> e <span class="blsp-spelling-error" id="SPELLING_ERROR_53">Bosco</span>.</li><li>O primeiro <span class="blsp-spelling-error" id="SPELLING_ERROR_54">gol</span> de <span class="blsp-spelling-error" id="SPELLING_ERROR_55">RC</span> foi contra o União São João no Campeonato Paulista de 1997, o <span class="blsp-spelling-error" id="SPELLING_ERROR_56">goleiro</span> se chamava <span class="blsp-spelling-error" id="SPELLING_ERROR_57">Adnan</span>. Veja o <a href="http://www.blogger.com/post-edit.g?blogID=937448622857774876&postID=6339294260408014493#%20%20http://www.youtube.com/watch?v=bc88hUESQwU"><span class="blsp-spelling-error" id="SPELLING_ERROR_58">gol</span></a>.</li><li>Rogério <span class="blsp-spelling-error" id="SPELLING_ERROR_59">atualmente</span> é o artilheiro do <span class="blsp-spelling-error" id="SPELLING_ERROR_60">SPFC</span> em Libertadores da América com 11 <span class="blsp-spelling-error" id="SPELLING_ERROR_61">gols</span> (somando os <span class="blsp-spelling-error" id="SPELLING_ERROR_62">gols</span> de todas as participações do <span class="blsp-spelling-error" id="SPELLING_ERROR_63">SPFC</span>). O vídeo a seguir exibe <a href="http://www.youtube.com/watch?v=cKhPCtUxsf0">um desses <span class="blsp-spelling-error" id="SPELLING_ERROR_64">gols</span></a>.<br /></li></ul>Bom, e por hoje é só! Saudações <span class="blsp-spelling-error" id="SPELLING_ERROR_65">tricolores</span>!<br /><br />Fontes:<br />http://www.terra.com.br/esportes/infograficos/gols-de-rogerio-ceni/<br />http://www.imagensgratis.com.br/foto-rogerio-ceni.html<br /></div>Felipe Martinshttp://www.blogger.com/profile/11257606815616582925noreply@blogger.com1tag:blogger.com,1999:blog-937448622857774876.post-3372336316428848032010-11-13T15:26:00.000-08:002011-04-08T14:23:49.762-07:00Me desafiando...<div style="text-align: justify;">Oi pessoal, já faz uns meses que não escrevo aqui, mas resolvi voltar. Neste segundo semestre do mestrado estou cursando três disciplinas: Análise de Algoritmos, Sistemas Operacionais e Introdução à Computação Paralela e Distribuída. Acho que por isso está sobrando menos tempo para escrever por aqui. Além disso, tenho gastado parte do meu tempo livre treinando programação com problemas típicos de maratonas de programação. Não que eu tenha interesse em participar destas maratonas, mas gosto de resolver os problemas propostos nelas, sem compromisso, apenas para treinar conceitos que já aprendi.<br /></div><div style="text-align: justify;"><br />Há algum tempo já sou cadastrado no <a href="http://uva.onlinejudge.org/">UVA</a> e recentemente me cadastrei no <a href="https://www.spoj.pl/">SPOJ</a> e no <a href="http://br.spoj.pl/">SPOJ_BR</a>, e me animei bastante pois sem ter resolvido tantos problemas já apareci no ranking e aí o ânimo/vício fica como quando jogamos um RPG e ganhamos um nível de experiência. Queremos então evoluir e evoluir a cada vez mais, o que agora vejo como possibilidade nestes desafios. Só que o vício de programar é um vício bom na minha opinião (que sou desta área), diferente dos RPGs e jogos online onde o tempo se esvai e você nem percebe o que aprendeu depois. Ou seja, quem evolui sou eu, e não meu avatar que nem se quer é "real" e posso acabar apagando o mesmo daqui alguns dias/meses/anos (o que confirmaria que joguei meu tempo no lixo).<br /></div><br /><div style="text-align: justify;">Desde que comecei a resolver os problemas do SPOJ, sinto que melhorei na concepção de algoritmos e na programação com linguagem C e até um pouquinho com a C++. Utilizei de funções como a <a href="http://www.ime.usp.br/%7Epf/algoritmos/apend/stdlib.h.html">qsort</a> da stdlib.h na linguagem C (que antes eu só ouvia falar) e que é uma implementação do algoritmo <a href="http://pt.wikipedia.org/wiki/Quicksort">QuickSort</a>. Para problemas que envolviam números primos, utilizei o <a href="http://pt.wikipedia.org/wiki/Crivo_de_Erat%C3%B3stenes">Crivo De Eratóstenes</a>, que já tinha visto na graduação mas nunca tinha utilizado em implementações e percebi que sem ele, quando os números são muitos grandes, é Time Limit Exceeded (TLE) com certeza.<br /><br />No momento estou tentando aumentar o nível de dificuldade dos problemas que estou resolvendo, pois percebo que só assim vou conseguir aprender mais. Os problemas que estou tentando atualmente são basicamente sobre a utilização de <a href="http://www.inf.ufsc.br/grafos/definicoes/definicao.html">grafos</a>, aliás, acabo de resolver <a href="https://br.spoj.pl/problems/ENERGIA/">este</a> que é relacionado a <a href="http://www.inf.ufsc.br/grafos/definicoes/definicao.html">conexidade</a> em grafos. Resolvi utilizando <a href="http://www.ime.usp.br/%7Epf/analise_de_algoritmos/aulas/dfs.html">busca em profundidade</a>.<br /><br />Gostei de escrever sobre minhas experiências com os desafios de programação, possivelmente minhas próximas postagens serão sobre o mesmo assunto. Para quem se interessa no assunto, existe um livro chamado <a href="http://books.google.com.br/books?id=lcnSCDcDocMC&printsec=frontcover&dq=Programming+CHallenges&source=bl&ots=tMOMG7BJ6U&sig=G9m_05LTkBCIWn2_y4lJUHLdok4&hl=pt-BR&ei=_VzfTKycE8KclgeKhLSpAw&sa=X&oi=book_result&ct=result&resnum=2&ved=0CCQQ6AEwAQ#v=onepage&q&f=false">Programming Challenges</a>, onde os exercícios são problemas do UVA, recomendo também. E nas minhas próximas férias, provavelmente vou gastar alguns dias lendo esse livro.<br /><br /><div style="text-align: justify;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIX1nTBX8mcxWc5OYp8ej-cL3jxVF0SL5wepCKoJHEixn07nVyPFR6ZtbHNsi1_UOa6bR5KmQCeXX2vN6NMJ7eJl8W_UB1ogIlibh-QGjDaL40HZrwYyl8bFSP0NsPtSBD252j8jEXDFzg/s1600/booksacover.gif"></a><a href="http://books.google.com.br/books?id=lcnSCDcDocMC&printsec=frontcover&dq=Programming+Challenges&hl=pt-BR&ei=zXyfTePkE-Hf0QGIlMWQBQ&sa=X&oi=book_result&ct=result&resnum=1&ved=0CCkQ6AEwAA#v=onepage&q&f=false">Programming Challenges</a><br /></div><br />Bom, por hoje é só, espero que tenham gostado.<br /><br />Abraços<br /></div>Felipe Martinshttp://www.blogger.com/profile/11257606815616582925noreply@blogger.com0tag:blogger.com,1999:blog-937448622857774876.post-47490785168030403742010-09-06T15:50:00.001-07:002010-09-06T16:30:39.826-07:00O Brasil pode mais<div style="text-align: justify;"><br /><br />Oi pessoal, o título ficou meio político, mas hoje li uma notícia que me deixou contente e resolvi deixar anotado aqui no blog.<br /><br />Normalmente, quando abrimos páginas na web sobre notícias aqui no Brasil sempre tem aquelas mesmas informações sobre futebol, corrupção ou escândalos de pessoas famosas. Muitas pessoas que passam a vida se esforçando e superando diversos obstáculos acabam não sendo tão reconhecidas apesar de merecerem.<br /><br />O que me deixou contente foi ver que um matemático brasileiro, chamado Jacob Palis Júnior (professor do IMPA - Instituto De Matemática Pura e Aplicada), conquistou um prêmio reconhecido internacionalmente chamado Prêmio Balzan que é concedido anualmente para pesquisa científica desenvolvida em determinadas áreas emergentes. A área de pesquisa deste brasileiro é chamada Sistemas Dinâmicos (para quem quiser pesquisar a respeito =)).<br /><br />Postei esta notícia porque além de ter ficado contente, algo que eu sempre quis ver é um brasileiro conquistando o Prêmio Turing. O Prêmio Turing tem esse nome como homenagem a Alan Turing, que foi um famoso cientista da computação. Esse prêmio é visto como o "Prêmio Nobel da Computação". Ainda não tive a oportunidade de ver um brasileiro ganhando, mas sei que é possível.<br /><br />A tabela a seguir mostra de onde são os premiados até então e o número de pessoas premiadas na região (de acordo com a Wikipédia):<br /><table><br /><tr><td>País</td><td>Laureados</td></tr><br /><tr><td>Estados Unidos</td> <td>38</td></tr><br /><tr><td>Reino Unido</td> <td>5</td></tr><br /><tr><td>Israel</td> <td>3</td></tr><br /><tr><td>Canadá</td> <td>2</td></tr><br /><tr><td>Noruega</td> <td>2</td></tr><br /><tr><td>Holanda</td> <td>1</td></tr><br /><tr><td>Suíça</td> <td>1</td></tr><br /><tr><td>Dinamarca</td> <td>1</td></tr><br /><tr><td>Grécia</td> <td>1</td></tr><br /><tr><td>Venezuela</td> <td>1</td></tr><br /><tr><td>China</td> <td>1</td></tr><br /></table><br /><br />Achei curioso o fato de uma pessoa ter sido premiada na Venezuela.<br />O nome desse Venezuelano é Manuel Blum, e foi premiado em 1995 por pesquisas em Complexidade Computacional e a aplicação desta para a Criptografia.<br /><br />Para quem tiver interesse, clique <a href="http://www.cs.berkeley.edu/%7Eblum/">aqui</a> para visitar a página de Manuel Blum que possui inclusive alguns links para artigos e notas de aula do mesmo.<br /><br />Seguem alguns dos nomes de cientistas da computação que já receberam o prêmio e que são muitas vezes citados em livros. Os nomes dos cientistas aparecem seguidos por alguns de seus feitos:<br /><br /><span style="font-style: italic;">Ronald L. Rivest, Adi Shamir e Leonard M. Adleman</span> - Se lembra do RSA? Observe os nomes dos autores de "Introduction to Algorithms" também, um deles está nesta lista.<br /><br /><span style="font-style: italic;">Ivan Sutherland</span> - Alguns algoritmos que resolvem problemas da computação gráfica levam o nome Sutherland.<br /><br /><span style="font-style: italic;">C. A. R. Hoare</span> - Lembram do Quicksort? E das cláusulas de Hoare?<br /><br /><span style="font-style: italic;">Donald E. Knuth</span> - Talvez na próxima postagem eu escreva um tutorial bem iniciante (já que é assim que me sinto) sobre LaTeX.<br /><br /><span style="font-style: italic;">Edsger W. Dijkstra</span> - Algoritmo de Dijkstra para caminhos mínimos em grafos e a utilização de semáforos nos problemas de concorrência.<br /><br /><span style="font-style: italic;">Richard Hamming</span> - Códigos de Hamming para detecção e correção de erros.<br /><br /><span style="font-style: italic;">Alan J. Perlis</span> - O primeiro a conquistar um prêmio e que tinha idéias interessantes sobre programação. Uma que eu não me esqueço é a seguinte, "se a sua função recebe dez parâmetros, provavelmente você está esquecendo algum...".<br /><br /><span style="font-style: italic;">Frances E. Allen</span> - Primeira mulher a conquistar o prêmio Turing.<br /><br />Ainda existem vários outros de grande importância, mas vou parar por aqui. Por hoje é só.<br /><br /><span style="font-weight: bold;">Referências:</span><br /><br />http://g1.globo.com/ciencia-e-saude/noticia/2010/09/matematico-brasileiro-ganha-premio-balzan-de-r-128-milhao.html<br /><br />http://en.wikipedia.org/wiki/Turing_Award<br /><br />http://pt.wikipedia.org/wiki/Pr%C3%AAmio_Turing<br /><br /></div>Felipe Martinshttp://www.blogger.com/profile/11257606815616582925noreply@blogger.com1tag:blogger.com,1999:blog-937448622857774876.post-84574381278851037402010-08-30T18:02:00.000-07:002010-08-30T18:09:59.605-07:00Recompilando o núcleo (=Kernel) do Ubuntu 9.04<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDILAVRLuAdhT45KXvvpg-baTTL71ess_uhaZuZ3LRJBfCjnBrfRBmrKVCBmjfe_SfVVeEa1ZL40aVKRXaIFa8DfadDnQGWTli3tYs_hrOG6fSyXbUN0c_0giD5Fe2NbbplVK8fao3gM9K/s1600/images.jpeg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 209px; height: 241px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDILAVRLuAdhT45KXvvpg-baTTL71ess_uhaZuZ3LRJBfCjnBrfRBmrKVCBmjfe_SfVVeEa1ZL40aVKRXaIFa8DfadDnQGWTli3tYs_hrOG6fSyXbUN0c_0giD5Fe2NbbplVK8fao3gM9K/s320/images.jpeg" alt="" id="BLOGGER_PHOTO_ID_5511373575931407330" border="0" /></a><br /></div><br />Se forem tentar replicar o que eu fiz, recomendo que criem também máquinas virtuais e não saiam testando tudo no seu próprio SO. Seguem minhas experiências.<br /><br /><div style="text-align: justify;"><span style="font-weight: bold;">Primeira tentativa:</span><br />Criei uma instância da Virtual Box com a seguinte configuração:<br /><br />Nome: Ubuntu<br />Sistema Operacional: Linux<br />Versão: Ubuntu<br />RAM: 640 MB<br />Armazenamento de Tamanho Fixo com 4.5 GB<br /><br />Instalei o Ubuntu 9.04 através do CD. (até aqui tudo bem...)<br /><br />Utilizei 4.5 GB porque estava com pouco espaço em disco e esta limitação gerou um problema<br />durante a compilação do núcleo. Houve um erro, e quando verifiquei pela manhã, o espaço em disco<br />da máquina virtual estava zerado. Achei interessante colocar essa experiência aqui.<br /><br /><span style="font-weight: bold;">Segunda tentativa:</span><br /><br />Nome: Ubuntu<br />Sistema Operacional: Linux<br />Versão: Ubuntu<br />RAM: 1 GB<br />Armazenamento de Tamanho Fixo com 8 GB<br /><br />Utilizei 8 GB porque estava ainda com pouco espaço em disco e esta limitação gerou um outro problema mas<br />durante a instalação do núcleo. Não houve erros desta vez, mas o espaço do HD foi zerado novamente.<br />Mas como precisava de mais espaço para gerenciar as versões do núcleo após algumas modificações, ainda achei<br />8 GB pouco espaço.<br /><br /><span style="font-weight: bold;">Terceira tentativa:</span><br /><br />Nome: Ubuntu<br />Sistema Operacional: Linux<br />Versão: Ubuntu<br />RAM: 1 GB<br />Armazenamento de Tamanho Fixo com 16 GB<br /><br />Como eu sou um cara que gosta de potências de 2. Para a terceira tentativa coloquei 16 GB do HD para a Virtual Machine.<br /><br />Instalei o Ubuntu 9.04 através do CD.<br /><br />Versão do núcleo: 2.6.28-11<br /><br />Desta vez não houveram problemas.<br /><br /><span style="font-weight: bold;">Compilação</span><br /><br />O processo de compilação do núcleo é um pouco demorado. Inicialmente precisaremos baixar alguns pacotes. Segue uma breve descrição de cada um deles e o comando utilizado para baixar os pacotes.<br /><br />Utilitário para a construção do núcleo Linux.<br />> apt-get install kernel-package<br /><br />Bibliotecas e documentação para desenvolvedores ncurses (biblioteca de desenvolvimento de aplicações em linha de comando com um estilo GUI)<br />> apt-get install libncurses5-dev<br /><br />Possibilita um ambiente root falso.<br />> apt-get install fakeroot<br /><br />Entra no diretório onde será armazenado o código-fonte baixado.<br />cd /usr/src<br /><br />Baixa o código fonte do Linux.<br />apt-get install linux-source<br /><br />Descompacta o código-fonte baixado.<br />tar -xjvf linux-source-2.6.28.tar.bz2<br /><br />Cria um link simbólico para o diretório descompactado e entra no diretório através do link simbólico.<br />sudo ln -s linux-source-2.6.28 linux<br />cd linux<br /><br />Cria uma cópia do arquivo de configuração que contém informações específicas do hardware utilizado reconhecidas durante o boot.<br />sudo cp /boot/config-2.6.28-11-generic ./.config<br /><br />O comando seguinte permite abrir uma tela de configuração de recursos específicos do núcleo. Como não conhecemos muito, não faremos nenhuma alteração nesta tela.<br />make menuconfig<br /><br />Ao concluir, será salvo um novo arquivo config.<br /><br />O comando seguinte realiza uma limpeza antes de iniciar a compilação.<br />make-kpkg clean<br /><br />O comando seguinte compila o código. É muito importante incluir o parâmetro<br />--apend-to-version pois ele quem identificará o seu núcleo nas entradas do arquivo de configuração da GRUB.<br /><br />fakeroot make-kpkg --initrd --revision=nomedasuaversao --append-to-version=-fms-version núcleo_image núcleo_headers<br /><br />Depois de compilar, basta instalar a versão customizada do núcleo com os<br />seguintes comandos:<br /><br />dpkg -i linux-image...NomeDoPacoteGeradoParaImagem.deb<br />dpkg -i linux-headers...NomeDoPacoteGeradoParaHeaders.deb<br /><br />Após a instalação, podemos ver o novo núcleo como entrada no arquivo de configuração da grub. Verifique o arquivo /boot/grub/menu.lst.<br /><br />Reinicie o sistema da máquina virtual. Pressione 'ESC' na tela do GRUB.<br />Neste momento, deverá ser exibido o núcleo que foi compilado por você. No meu caso, o que aparece de novo é:<br /><br />Ubuntu 9.04, núcleo 2.6.28.10-fms-version<br />Ubuntu 9.04, núcleo 2.6.28.10-fms-version (recovery mode)<br /><br />Achei interessante deixar também o tempo gasto na última compilação:<br /><br />Hora inicial: 22:12<br />Hora final: 02:10<br /><br />Bom, é isso pessoal.<br />Espero ter sido claro em todas as etapas.<br />Se eu aprender mais sobre a configuração em si, postarei aqui. =)<br /><br /><span style="font-weight: bold;">Referências:</span><br />http://easylinuxcds.com/blog/?p=3244<br />https://help.ubuntu.com/9.04/installation-guide/i386/núcleo-baking.html</div>Felipe Martinshttp://www.blogger.com/profile/11257606815616582925noreply@blogger.com0tag:blogger.com,1999:blog-937448622857774876.post-80846856987776964142010-08-05T04:03:00.000-07:002010-08-05T05:05:18.676-07:00Aprendendo a usar o BlenderE ae pessoal.<br />Prometi que ia escrever mais nas férias, mas só agora consegui algo legal para postar.<br />Estou em Muriaé-MG e aqui não tenho muito o que fazer.<br />Estava aprendendo a modelar com Blender e resolvi modelar algumas coisas que tem na cozinha da casa onde estou.<br />Vou passar então em duas imagens o que fiz:<br /><br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAkjkjZnLyQuwHWnq7cFvk1y0DGs1EppPKIA5yTEtLFm_lxgf3sno84J44MlPMHepTzhOviNbKlFGZB7Gg9UKSSneqySMu6pHeHM89psQsfX8YPQEX28gbOgJoG_H0Q1241GP4c6-jeg-m/s1600/Arm%C3%A1rio_Blender.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAkjkjZnLyQuwHWnq7cFvk1y0DGs1EppPKIA5yTEtLFm_lxgf3sno84J44MlPMHepTzhOviNbKlFGZB7Gg9UKSSneqySMu6pHeHM89psQsfX8YPQEX28gbOgJoG_H0Q1241GP4c6-jeg-m/s320/Arm%C3%A1rio_Blender.png" alt="" id="BLOGGER_PHOTO_ID_5501882650174638354" border="0" /></a>Armário da cozinha<br /></div><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7FedQkqhAxSHDoST6_JdgMKES1Ya1ohSGb2zqCe48_GvgHv7k1kyYdqbrt5lIvCyRJmC2aS_Nd0IX6KUXXOxQDorm5GC0frDbFlYeB1EjrwxlRWSLBZeiL3eNZ-aIIKD4dGykJPdmDJ90/s1600/Cozinha_Blender.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7FedQkqhAxSHDoST6_JdgMKES1Ya1ohSGb2zqCe48_GvgHv7k1kyYdqbrt5lIvCyRJmC2aS_Nd0IX6KUXXOxQDorm5GC0frDbFlYeB1EjrwxlRWSLBZeiL3eNZ-aIIKD4dGykJPdmDJ90/s320/Cozinha_Blender.png" alt="" id="BLOGGER_PHOTO_ID_5501884706077936802" border="0" /></a>Cozinha<br /><br /><div style="text-align: justify;">Tentei integrar os objetos das duas imagens anteriores, mas estou tendo problemas. Se eu conseguir, depois mostro o resultado final por aqui. Mas para quem gosta de modelar em 3D, é bem interessante utilizar o Blender. Principalmente por ser software livre e por não ser tão complicado quanto parece no início.<br /></div></div>Felipe Martinshttp://www.blogger.com/profile/11257606815616582925noreply@blogger.com0tag:blogger.com,1999:blog-937448622857774876.post-55364185996761925302010-07-08T07:33:00.000-07:002010-07-08T08:35:51.296-07:00FériasOi pessoal, estive bastante ausente nos últimos meses, mas não desisti da ideia de ter um blog.<br /><div style="text-align: justify;">O mestrado estava agitado com muitos trabalhos, listas de exercícios, provas e cansaço da minha parte é claro, e tudo isso impediu que eu escrevesse aqui. Mas agora terei uns 20 dias de folga e pretendo escrever um pouco.<br /><br />O que ficou de interessante para escrever aqui foi o que implementei para a disciplina de Estrutura de Dados: uma versão do algoritmo de Dijkstra onde consegui usar Heap (Fila de Prioridade), e para a disciplina de Computação Gráfica: uma ferramenta de modelagem 3D voltada para crianças chamada KLearning. O K vem de Kids.<br /><br />O mais interessante de apresentar aqui acredito que seja o KLearning. Por ter imagens mais concretas. Mas talvez eu inclua o algoritmo de Dijkstra no VejoGrafos e mostre o resultado aqui também.<br /><br />Então vamos ao KLearning.<br /><br />O KLearning foi desenvolvido por mim e por mais 3 colegas do mestrado. Utilizamos Java e JOGL que é a combinação que utilizei em algumas das postagens anteriores. Como já disse, é uma ferramenta que pode ser útil para crianças/pré-adolescentes, principalmente no estudo de geometria espacial, formas geométricas e claro, diversão. Acreditamos que é uma ferramenta que incentiva a criatividade das crianças. Bom, agora seguem algumas imagens da ferramenta. As imagens são desde as primeiras etapas do desenvolvimento até a versão atual que ainda não é completa e merece alguns ajustes.<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjUTVsTBU82qYClrCR6FOZ3K3SRPvumIDqU6HLMerZPZqWv2hE7krf-Hiwel86CzISNfvtnQR8_E4SKl1q_IOTCumpuBp8Zskx6W7WcrDk-z4zg5GhSxecoc7N0jJupyckFsCeBz-nBr07/s1600/KLearning24-05-10.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjUTVsTBU82qYClrCR6FOZ3K3SRPvumIDqU6HLMerZPZqWv2hE7krf-Hiwel86CzISNfvtnQR8_E4SKl1q_IOTCumpuBp8Zskx6W7WcrDk-z4zg5GhSxecoc7N0jJupyckFsCeBz-nBr07/s320/KLearning24-05-10.png" alt="" id="BLOGGER_PHOTO_ID_5491551133246075394" border="0" /></a>Uma cena com uma chaleira e um cubo sobre a mesa.<br /></div><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQMOKOuliC9qKmkyLdkp2MC8yQX9iFQI7qfP3E4qAj7WhOY8_Qc_tDd5yLb4v0T3C8LU-XKTF1I9aIwa7alJ9fid1-3nff-6HFOu3soQ9FNNMgtq-EAKNIw_n0csOQzLD9AOWQvGakI35J/s1600/K-LearningComAsImagens.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 181px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQMOKOuliC9qKmkyLdkp2MC8yQX9iFQI7qfP3E4qAj7WhOY8_Qc_tDd5yLb4v0T3C8LU-XKTF1I9aIwa7alJ9fid1-3nff-6HFOu3soQ9FNNMgtq-EAKNIw_n0csOQzLD9AOWQvGakI35J/s320/K-LearningComAsImagens.png" alt="" id="BLOGGER_PHOTO_ID_5491551390856708690" border="0" /></a><br />Uma bandeira do Brasil modelada com 3 Cubos e uma Esfera<br /></div><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil1-OHkfbcxZBFPO7o2s-IwvDAtiVtZC1l6vdRZDAv6t7taWqKZBpx80cV_MqRsSdOxmD5iFlpquyRaeiYs3VO1jmBLSBVUNIN8uh1OilIvU4erGDjI6EEoTgAXvc_6eBw4pFLzjsoM37e/s1600/posSubtracao.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil1-OHkfbcxZBFPO7o2s-IwvDAtiVtZC1l6vdRZDAv6t7taWqKZBpx80cV_MqRsSdOxmD5iFlpquyRaeiYs3VO1jmBLSBVUNIN8uh1OilIvU4erGDjI6EEoTgAXvc_6eBw4pFLzjsoM37e/s320/posSubtracao.png" alt="" id="BLOGGER_PHOTO_ID_5491551866752809170" border="0" /></a>Essa foi nossa tentativa de implementar Geometria Sólido Construtiva. A operação que tentei fazer para essa imagem foi Cilindro1 - Cilindro0, onde Cilindro0 era mais fino que o Cilindro1 e branco. O Cilindro1 é o de cor laranja. Mas como podem ver, existem algumas falhas no resultado.<br /><br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzv0d5VLWLbM0q7puX_ojrxalyjo81ujNiwWRAI0Vi50c8rpp3NgJBElmz0VH2VuEKXma39O80kdiwO3sY0pXgJ7ZMBWzb1h-4fyCHlzVp1C5pszfHjIY1nAy8B4-zT9YQob3CtjCoYiR-/s1600/Cidade.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzv0d5VLWLbM0q7puX_ojrxalyjo81ujNiwWRAI0Vi50c8rpp3NgJBElmz0VH2VuEKXma39O80kdiwO3sY0pXgJ7ZMBWzb1h-4fyCHlzVp1C5pszfHjIY1nAy8B4-zT9YQob3CtjCoYiR-/s320/Cidade.png" alt="" id="BLOGGER_PHOTO_ID_5491552182390394306" border="0" /></a>Uma pequena vizinhança.<br /><br /></div><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqnONne_l49ErjFWogMCuVtZF0g8fPf6dXU5_kZMqNVXiF0DrbZoG4lw3MaI9C01ls1bs32_k_9elxEYllsgiHwf3B-HuQEqYg7xdyQlzPBW18wdx1bzF1smPhjoaVzMMejL8I-HZ8RYUY/s1600/Futebol.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqnONne_l49ErjFWogMCuVtZF0g8fPf6dXU5_kZMqNVXiF0DrbZoG4lw3MaI9C01ls1bs32_k_9elxEYllsgiHwf3B-HuQEqYg7xdyQlzPBW18wdx1bzF1smPhjoaVzMMejL8I-HZ8RYUY/s320/Futebol.png" alt="" id="BLOGGER_PHOTO_ID_5491552413489484146" border="0" /></a></div><div style="text-align: center;">Dois jogadores treinando.<br /><br /></div>Como podem ver, a interface variou bastante durante o desenvolvimento. A última imagem é do modelo que foi utilizado para a apresentação do trabalho. Vou tentar disponibilizar um .jar da aplicação e como utilizá-la.<br /><br />Bom, por hoje é só.<br /><br />Abraços<br /></div>Felipe Martinshttp://www.blogger.com/profile/11257606815616582925noreply@blogger.com0tag:blogger.com,1999:blog-937448622857774876.post-19705930769342386312010-05-09T16:33:00.000-07:002010-05-09T16:59:24.820-07:00Mais Computação Gráfica<div style="text-align: justify;">Depois de alguns dias estudando OpenGL/JOGL, resolvi postar mais algumas imagens do que tenho feito. Na primeira, tentei melhorar o copo que exibi na última postagem. Apliquei uma técnica chamada Blending nele, que nada mais é do que uma mistura de cores dos pixels na cena. Assim, consegui obter a transparência.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmaxiueze9EskGmWit4MnoHG5PITTb688VrUo0sxbYB6M4K_pRDzCk-Gmh9NL5RhFJ2EGJUQ0s_3l1WpB-XNI-dz_dCd0pYywtGc8p7mTGR6gYMzrwmDeOSkKCLYxhP5TF1PKys1RKifcO/s1600/CopoComTransparencia.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 231px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmaxiueze9EskGmWit4MnoHG5PITTb688VrUo0sxbYB6M4K_pRDzCk-Gmh9NL5RhFJ2EGJUQ0s_3l1WpB-XNI-dz_dCd0pYywtGc8p7mTGR6gYMzrwmDeOSkKCLYxhP5TF1PKys1RKifcO/s320/CopoComTransparencia.png" alt="" id="BLOGGER_PHOTO_ID_5469419098325168562" border="0" /></a><br /></div>Para dar mais realismo a essa cena do copo e da chaleira ainda faltam as sombras desses objetos, mas isso ainda estou tendo problemas para implementar, apesar de já ter uma idéia do caminho a seguir. Fica para uma próxima postagem.<br /><div style="text-align: justify;"><br /></div>A próxima imagem é de um outro programa que fiz e que exibe o Sistema Solar. Tudo começou quando tentei aplicar uma textura a uma esfera, começando pelo planeta Terra. Mas depois animei e quis fazer o Sol, Mercúrio, Vênus, Marte, Júpiter, etc. Para finalizar, coloquei todos dentro de uma outra esfera maior, com a textura de estrelas, galaxias (algo que simbolizasse o universo). Enquanto implementava fiquei realmente intrigado com o tamanho do planeta Terra com relação a Jupiter, Saturno, Urano e Netuno. Não consegui fazer com que a distância entre os planetas fosse algo similar à realidade, mas o tamanho dos planetas eu fiz questão. Se observarem nas primeiras figuras, parece que só têm 4 planetas, quando na verdade, têm 8 alinhados. Se aumentarem a imagem com o zoom, perceberão. (Pois é, somos mesmo pequenos.)<br /><br />Segue algumas screens que tirei enquanto implementava. Talvez eu disponibilize esse programa em arquivo jar.<br /><div style="text-align: justify;"><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxx8O9K0ddrCx46jtlDV5EHRM0URCOmd9LRvLwIZx_Ux4s0d00NtjaJxQw4jyTU8PT5SONU9mT36clfMLsar7Xd88LJn9_WAJM88cIAfEOq0ftYwCxE7F3KcHKT9uc_ax2-smZxqrtyOrh/s1600/SistemaSolar_I.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 182px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxx8O9K0ddrCx46jtlDV5EHRM0URCOmd9LRvLwIZx_Ux4s0d00NtjaJxQw4jyTU8PT5SONU9mT36clfMLsar7Xd88LJn9_WAJM88cIAfEOq0ftYwCxE7F3KcHKT9uc_ax2-smZxqrtyOrh/s320/SistemaSolar_I.png" alt="" id="BLOGGER_PHOTO_ID_5469421435627974530" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyQCgwRf8kjJTUj8Zcp4nCHX-YTAKJ1TjVceFdiPCqZ7r-dcdGXZs01n8hJM7FQuM1zjX9RhazdM_VQoBE4kAD4O5wFAkXVbU1-BRfw6klE8eT1EPOO50EAEZZtLx7TTiUJ9vkD8y1lSh-/s1600/Sistema_Solar_II.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 182px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyQCgwRf8kjJTUj8Zcp4nCHX-YTAKJ1TjVceFdiPCqZ7r-dcdGXZs01n8hJM7FQuM1zjX9RhazdM_VQoBE4kAD4O5wFAkXVbU1-BRfw6klE8eT1EPOO50EAEZZtLx7TTiUJ9vkD8y1lSh-/s320/Sistema_Solar_II.png" alt="" id="BLOGGER_PHOTO_ID_5469421443395360162" border="0" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbgpLJhSWFJ7mUAVu3_PQtoCjKmTcZJ8rWeyKe1-Cdpb9mOr8WiRp1ec_OSTXz8Wfcygl4JOCc-rmN6JfIy5OSXuGxObchyphenhyphenHXaKVUNTFu8V7PuXOmhGbmCmRuXA5Mgja6lPgB705FHZqTM/s1600/Sistema_SolarIII.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 182px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbgpLJhSWFJ7mUAVu3_PQtoCjKmTcZJ8rWeyKe1-Cdpb9mOr8WiRp1ec_OSTXz8Wfcygl4JOCc-rmN6JfIy5OSXuGxObchyphenhyphenHXaKVUNTFu8V7PuXOmhGbmCmRuXA5Mgja6lPgB705FHZqTM/s320/Sistema_SolarIII.png" alt="" id="BLOGGER_PHOTO_ID_5469421453335745362" border="0" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlFNYM5ephPZxCOPlgsRPI2BZf6LwhNngezceLA1jmOvZjK3mYrUQxP5he3XgQw7tFMzNrTRbyfheAFVwBh9OWP8YWeYqCAGNGpCqbgTqcVxLPEPPEUuzx10EoddfJq6k_AhJDVfSaCCZt/s1600/Sistema+Solar_Final.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 182px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlFNYM5ephPZxCOPlgsRPI2BZf6LwhNngezceLA1jmOvZjK3mYrUQxP5he3XgQw7tFMzNrTRbyfheAFVwBh9OWP8YWeYqCAGNGpCqbgTqcVxLPEPPEUuzx10EoddfJq6k_AhJDVfSaCCZt/s320/Sistema+Solar_Final.png" alt="" id="BLOGGER_PHOTO_ID_5469421461886748562" border="0" /></a>Na última imagem centralizei a fonte de luz do OpenGL no mesmo lugar onde estava o sol e aumentei a sua luminosidade. Por isso o sol está parecendo mais claro que nas outras 3 imagens.<br /><br />Bom, por hoje é só.<br /></div>Felipe Martinshttp://www.blogger.com/profile/11257606815616582925noreply@blogger.com0tag:blogger.com,1999:blog-937448622857774876.post-34682273642407431452010-05-06T17:14:00.000-07:002010-05-09T19:22:52.968-07:00Se Computação Gráfica, então MatemáticaFala pessoal!<br />Resolvi postar em português hoje.<br />Vou valorizar um pouco mais nosso idioma, pelo menos aqui no blog. =)<br /><br />Nas últimas semanas não tive tempo para postar nada por causa de duas provas do mestrado. Tive que trancar uma matéria como disse no post anterior, mas isso está permitindo que eu consiga mais tempo para estudar as outras e para lembrar alguns assuntos que sempre preciso, mas que são assuntos mais elementares.<br /><br />Semana que vem devo começar o projeto de computação gráfica e nesta semana já treinei um pouco a programação em 3D com Java e OpenGL. Não modelei uma guitarra ou um violão como disse que ia tentar, mas hoje modelei um copo e o incluí em uma cena 3D. Achei bastante interessante a modelagem, foi algo bem matemático.<br /><br />Modelei o copo utilizando senos, cossenos e conversão de graus para radianos (e muita gente diz que matemática não serve para nada, odeio quando escuto isso). Entretanto, a parte de reflexão do copo não ficou tão boa porque o cálculo dos vetores normais em cada face não está totalmente correto, ou então, o problema está no meu modelo de iluminação.<br /><br />A imagem a seguir é a imagem da cena completa, incluindo o copo (sem o cálculo de vetores normais).<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG93eZ8H3NJn9_TFDXeqRszaigVKQml2-NAVQeXe6tdyGHmndkqg1iAHNDjfcFsfvGZl-JbKcSO0-Git0CQGs_T9leb1ndl0zpblX7fxzpdYtfe5bZjB43ViMUbLbAYq_p6HWT1QYldHsU/s1600/Chaleira_Donut_e_Copo.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 231px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG93eZ8H3NJn9_TFDXeqRszaigVKQml2-NAVQeXe6tdyGHmndkqg1iAHNDjfcFsfvGZl-JbKcSO0-Git0CQGs_T9leb1ndl0zpblX7fxzpdYtfe5bZjB43ViMUbLbAYq_p6HWT1QYldHsU/s320/Chaleira_Donut_e_Copo.png" alt="" id="BLOGGER_PHOTO_ID_5468318493305146594" border="0" /></a><br /><br /><br />A próxima imagem, é apenas do copo e incluindo o cálculo dos vetores normais nas faces. O copo ficou parecendo de alumínio. Mas durante a execução, a luz não pára de refletir entre as faces, causando um efeito um tanto quanto desagradável. Por isso, deixei na imagem anterior o copo sem o cálculo das normais.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIKNf-mHafa1tgYful4nDEVD6F8W72hLBZtD7ykohXQlCZNALNRy0Gj75cVlC5muuIlgqelVnomQaJRoh_zpe8nOoPN25UD30YsTfkP_rHIK8Bi5Jji3YFrvwryTquhDaw1sJzCw9ydi5x/s1600/CopoDeAluminio.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 231px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIKNf-mHafa1tgYful4nDEVD6F8W72hLBZtD7ykohXQlCZNALNRy0Gj75cVlC5muuIlgqelVnomQaJRoh_zpe8nOoPN25UD30YsTfkP_rHIK8Bi5Jji3YFrvwryTquhDaw1sJzCw9ydi5x/s320/CopoDeAluminio.png" alt="" id="BLOGGER_PHOTO_ID_5468320420674566786" border="0" /></a><br />Bom, por hoje é só.<br />Espero que tenha sido interessante.<br />E aproveitando, Feliz dia nacional da Matemática!<br /><br />[]'sFelipe Martinshttp://www.blogger.com/profile/11257606815616582925noreply@blogger.com0tag:blogger.com,1999:blog-937448622857774876.post-15610175138569116362010-04-17T08:04:00.001-07:002010-04-17T08:43:20.437-07:00Algorithms, Paradigms and LanguagesHi!<br />After two weeks, I think I have some interesting to share.<br />Yesterday and today I am developing an application using the C language.<br />I've already imagined the solution, designed the algorithm and I thought that I would be prepared for implementing it. But, in the last years I've developed with Java language, and I forgot many things about C. We know there's a different paradigm between them. My mistake was that I tried to do some things like I do using Java, but it doesn't work, it's obvious.<br />So, my ask is: couldn't we have a layer between the algorithms and the implementation. We have the paradigm. But, I'm thinking in something that could convert the algorithm to any language, based only on the algorithm and on the paradigm.<br />Do we have something like this? I think this is something to research.<br /><div style="text-align: justify;"><br />What follows is a small diagram of the idea.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqkz-sj5yRcFlocvd7OUUeHczWNRd5p_UZxe28aR4yKqIjJLF8RRmf__qsWeCJXEPRuFa5TyhHTv2IcGIS4Alz5lPYTIjhDFi3QneEJSDLegbFK0x6bneIGluFe-TTIbVFhz5GL8sS-DHh/s1600/DiagramaDeLinguagens.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqkz-sj5yRcFlocvd7OUUeHczWNRd5p_UZxe28aR4yKqIjJLF8RRmf__qsWeCJXEPRuFa5TyhHTv2IcGIS4Alz5lPYTIjhDFi3QneEJSDLegbFK0x6bneIGluFe-TTIbVFhz5GL8sS-DHh/s320/DiagramaDeLinguagens.png" alt="" id="BLOGGER_PHOTO_ID_5461132274763848018" border="0" /></a><br />I know for example that with a classes diagram we can obtain source code in Java or C# with some tools. But I'm thinking in something more generic. I'll think more about this.<br /><br />See you in a next post.</div>Felipe Martinshttp://www.blogger.com/profile/11257606815616582925noreply@blogger.com0tag:blogger.com,1999:blog-937448622857774876.post-34639685199444766562010-04-03T13:53:00.000-07:002010-05-08T07:57:44.248-07:00Stormy Saturday<div style="text-align: justify;">Hey people!<br />Today I was trying to solve some graph's exercises but I still coudn't convince myself that I'm correct. This is a signal that I'm not, but maybe almost.<br />So, I decide to write this post and think about where could I be wrong.<br />Another thing is that I had a crazy idea (with a cousin's help rs), about computer graphics. I'll try to model a guitar in C with OpenGL. And maybe I'll post the result here as an image (depends on the result). It's a small challenge.<br />I'll take this opportunity to write about my other projects that I've just mentioned in the previous post.<br /><br />The first: I'm developing a tool, called VejoGrafos (and you can laugh), to help the comprehension about graphs, the development is stopped cause I have little time to spend with it. Follow some images about the tool:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVEJq7-c5pnR-pGsrII5UA80KMKYCeXMvSQ7RhGNsrIjVcCYp3AHU4rPsDpUHDE0eCQ5zZDmlrGPlhTENbneMcHj4-1hMuwyP2_AhdXRxkgYFMVV90SRjKLhedd7s6W2G66b91s98qbArj/s1600/VejoGrafos.png"><img style="cursor: pointer; width: 320px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVEJq7-c5pnR-pGsrII5UA80KMKYCeXMvSQ7RhGNsrIjVcCYp3AHU4rPsDpUHDE0eCQ5zZDmlrGPlhTENbneMcHj4-1hMuwyP2_AhdXRxkgYFMVV90SRjKLhedd7s6W2G66b91s98qbArj/s320/VejoGrafos.png" alt="" id="BLOGGER_PHOTO_ID_5456024960788877682" border="0" /></a><br /><span style="font-style: italic;">VejoGrafos: this is a functionality that shows vertices with degree equals to 0 in a graph.</span><br /><br />The second: The second is about to start. It will be in the computer graphics discipline. The idea that I've mentioned above about OpenGL is a trainning to this second project.<br /><br />Now it's time to come back to my exercises. In this stormy saturday I coudn't have anything better to do. Why stormy saturday? Cause I like the stormy monday blues song, the only difference it's that today it's not monday.<br /><br />Well, today it's only this.<br /></div>Felipe Martinshttp://www.blogger.com/profile/11257606815616582925noreply@blogger.com5tag:blogger.com,1999:blog-937448622857774876.post-81219230843636051302010-04-02T09:51:00.000-07:002010-05-09T19:22:16.702-07:00Beginning master's degree<div style="text-align: justify;">Hi again.<br />This week I started with only one thing in my head. To pass in the Sun Certified Java Programmer 6.0 exam (SCJP 6.0). I studied so much for one year and now I've passed =D. However, in the master's degree that I started this year, this facts doesn't count too much. So, yesterday (one day after I've passed in the SCJP exam), I tried to study a little because in the next week I'll have an exam in introduction to graph theory. But I couldn't because I was still thinking in Java.<br /><br />Even being an introduction discipline, the exercises lists given before in Graph Theory left me worried. Other disciplines that I'm sdutying are Introduction to Computer Graphics and Data Structures and your Manipulation. These disciplines seems to be easier than Graph Theory, but they still deserve concern.<br /><br />This weekend will be the easter. I will be studying graphs and eating chocolates. There's a positive side. =D<br /><br />In the next posts I want to talk about some projects that I'm developing or almost starting.<br />Sorry if my english is horrible, but I'm trying to get better.<br /><br />Happy Easter!<br /></div>Felipe Martinshttp://www.blogger.com/profile/11257606815616582925noreply@blogger.com0tag:blogger.com,1999:blog-937448622857774876.post-82698636541090539152010-04-02T09:40:00.000-07:002010-05-09T19:21:51.311-07:00The First One<div style="text-align: justify;">Hi people,<br />I've made this blog with the intent of train my english.<br />I'll post here things about my life, my routine and ideas.<br />So, this is a first post, without anything else than this.<br /></div>Felipe Martinshttp://www.blogger.com/profile/11257606815616582925noreply@blogger.com0