Mostrando postagens com marcador arte. Mostrar todas as postagens
Mostrando postagens com marcador arte. Mostrar todas as postagens

Representação atômica de sólidos

Nesta semana falarei desse tópico que está sendo tão discutido por todo mundo. Para aqueles que não sabem uma empresa australiana divulgou um Tech Demo (demonstração de tecnologia) de uma engine gráfica capaz de criar gráficos através de representação atômica de sólidos. No método tradicional de representação de informação gráfica os sólidos são convertidos para polígonos. O polígono mais simples e mais utilizado é o triângulo, mas outros podem ser utilizados para esse propósito. No sistema demonstrado no vídeo os sólidos são constituídos de átomos, basicamente da mesma forma que corpos na vida real. 

O principal problema da representação poligonal é que não existem coisas realmente redondas. No fim um polígono nunca será redondo da forma como imaginamos as coisas redondas na vida real, entretanto com uma quantidade suficientemente grande de polígonos podemos sim representar objetos redondos em todos os aspectos práticos. Na verdade com uma quantidade suficientemente grande de polígonos podemos simular os visuais propostos por essa engine atômica aproveitando os 15 anos de desenvolvimento técnico voltado para os sólidos poligonais.

Vocês devem ter visto o vídeo e se perguntaram por que essa tecnologia não é utilizada hoje em dia. A verdade é que os efeitos de partículas (fumaça, fogo, basicamente qualquer efeito representando uma dispersão de partículas no ar) dos jogos atuais são feitos usando a versão “crua” dessa representação atômica. Até recentemente acreditava-se que representar sólidos através de átomos consumiria uma quantidade de memória inviável. O que o criador dessa engine diz ter feito é solucionado esse problema criando métodos que fazem com que uma quantidade menor de informação seja consumida por átomo. Isso talvez viabilize a aplicação dessa tecnologia em casos mais amplos, alem dos efeitos de partículas. Outro problema é criar a informação de animações para os sólidos representados de forma atômica, que é outro problema que a desenvolvedora alega estar trabalhando.

A verdade é que antes do mercado de jogos se beneficiar dessa tecnologia outros ramos o farão. Por exemplo, o ramo de animações computadorizadas. O principal fator é que para ser aplicada em um jogo a tecnologia tem que estar muito bem desenvolvida e otimizada, porque não são apenas os gráficos que estarão sendo processados durante o jogo. E como não existe hardware especializado para utilizar essa tecnologia então toda essa carga seria jogada no processador, sem aproveitar em nada a capacidade de todas as placas de vídeo já em uso atualmente, ou aproveitando-as de forma limitada se comparado ao quê acontece hoje em dia. O propósito de se ter uma GPU são todas as otimizações que ela possui para realizar as operações com polígonos. Eu não sei o quão grande seria o desperdício dessa capacidade, e os desenvolvedores da tecnologia também não sabem, mas existirá perda com certeza.

Em suma acredito que essa tecnologia é redundante. No momento é muito mais vantajoso continuar pensando em seus polígonos de três ou mais lados do quê apostar em aproveitar essa tecnologia nesse momento. Afinal ela não está disponível ainda e os polígonos servirão seus propósitos por muito tempo ainda. Por fim aproveite o vídeo, afinal de contas mesmo com todas as ressalvais ainda é bonito de se ver.


Programação: A Arte Matemática

Antes de começar a falar do assunto de hoje eu gostaria de pedir desculpas pela inatividade por aqui. Meu amigo Rafael está trabalhando muito e anda sem tempo para escrever. Enquanto eu, apesar de estar de férias estou preparando algo muito interessante pra mostrar para todos vocês. Lembram-se do BoxBall? Estou terminando ele. Então assim que estiver pronto e achar propicia a divulgação por aqui eu o farei.

BoxBall 0.1:
Os gráficos aqui não são a única forma de arte



A programação geralmente é mais vista como uma ferramenta quê uma expressão de criatividade. Aqui vou falar um pouco de por que a programação é uma forma de arte comparável com a música, literatura e desenho, e explicar por que ela não é tratada assim.

A programação, como as artes clássicas, exige uma série de conhecimentos prévios para ser bem praticada. Na musica conhece-se escalas, os acordes, os arpejos e tantas coisas mais. Na literatura estuda-se métrica dos textos, eventos na vida das pessoas que podem ser distorcidos para gerar uma experiência literária reconhecível para o leitor, gramática, ortografia e muito mais. No desenho estudam-se estilos de traço e composição de cores por exemplo. Na programação é necessário conhecer os algoritmos, e formas de desenvolvê-los como a recursão, estuda-se os vários paradigmas de linguagens para ver qual oferece a melhor abstração para se programar um problema.

Então agora farei mais uma comparação: as linguagens na programação estão na programação como os instrumentos musicais estão na musica, e como a estrutura de um texto está na literatura e como o lugar onde se desenha ou pinta está para o desenho. Todos eles são ferramentas para expressar aquilo que se deseja, cada um com seus prós e contras, melhores para cada situação, e cada pessoa domina mais um método diferente, o método preferido dela.
Na musica existem as partituras, que podem ser comparadas facilmente aos algoritmos. Ambas estão escritas de forma legível para que qualquer artista execute no instrumento que desejar. Da mesma forma que os rabiscos de rascunho antes de fazer um desenho definitivo em algum lugar.

Mais um ponto entre todas elas é que existe uma base matemática nas três. Na literatura isso é a métrica de um poema, na música vão desde a freqüência das notas até os tempos da musica, e na programação todas as operações partem de uma lógica binária baseada completamente na matemática.

E finalmente, para se construir um algoritmo é necessário tanta inspiração quanto uma musica ou um poema. A prática facilita muito nessa hora em qualquer um dos casos. Sem um pouco de inspiração dificilmente um programador fará um bom trabalho, e vários programadores tem uma série de rituais pra seguir antes de começar uma sessão de programação.

Mas porque a programação não é tratada como as outras artes então? Primeiro: os computadores desempenham um papel muito importante no mundo moderno, e para funcionarem precisam ser programados. Os interesses econômicos tornam proibitivo tratar a programação como algo extremamente dependente de inspiração. Se fosse assim nenhuma empresa de desenvolvimento de software iria pra frente. Outro motivo é que a programação surgiu da matemática pura, com uma ferramenta para os matemáticos resolverem problemas extensos e repetitivos enquanto as outras artes existem a milhares de anos e suas relações matemáticas só foram descobertas há pouco tempo comparado com o tempo de existência destas.
 
Nuclear Core Studios © 2010 | Designed by Trucks, in collaboration with MW3, Broadway Tickets, and Distubed Tour. Customizado por Bruna Lanzillotta.