Olá pessoal. Tudo certo?! Nesse post, mostro como desenhar curvas, usando Lagrange Interpolation, usando Javascript. Há um live demo disponível. Também está disponível o código-fonte completo. UPDATE: Também há um live demo mais interativo, que permite ao usuário definir os pontos que pertencem a curva em http://users.cjb.net/livedemoelemarjr/lagrange2.html. Observe: Mais adiante, vou usar esse método… [Leia mais…]
Olá pessoal. Tudo certo?! Este é o segundo post de uma série onde pretendo apresentar os fundamentos do desenvolvimento usando node.js. No primeiro post, mostrei como obter, instalar e dar os primeiros passos com essa tecnologia. Em outro post, explorei o potencial do node.js para criação de aplicações de propósito geral (não servidor/serviços web) escrevendo… [Leia mais…]
Olá pessoal. Tudo certo?! Javascript cresceu muito em importância nos últimos anos. No passado, era percebida como uma linguagem simplificada, para programação “simples” de páginas web. Hoje, é vista como uma linguagem poderosa, rodando tanto no cliente quanto no servidor. Por causa do “crescimento” do Javascript, é natural pensar em alternativas para o desenvolvimento de… [Leia mais…]
Olá pessoal. Tudo certo?! Hoje, começo uma nova série aqui no blog. Vamos falar sobre node.js. Minha proposta é começar “devagar” e ir aumentando a complexidade dos posts e exemplos na medida em que a série for avançando. O que é node.js? Node.js é um ambiente de execução e um conjunto de bibliotecas open-source. Ele… [Leia mais…]
Olá pessoal. Tudo certo?! Esse post é baseado na apresentação do Bart de Smet no MIX11 e em um post do Mart Podwysocki. Apresento, passo-a-passo, como podemos melhorar a qualidade de nossas interfaces através da adoção do RxJS. Se você não sabe nada sobre RxJS, considere ler Reactive Extensions for Javascript (RxJS Framework). Cenário Desejamos… [Leia mais…]
Olá pessoal. Tudo certo?! Outro dia, escrevi um post mostrando como gerar fractais a partir do Mandelbrot Set. Hoje, faço o mesmo trabalho apresentando Julia set. Novamente, foco apenas na implementação em Javascript. Uma boa explicação teórica sobre Julia set pode ser encontrada na Wikipedia ou no MathWorld. Importante: Reaproveitei boa parte do código que… [Leia mais…]
Olá pessoal. Tudo certo!? No post de hoje, apresento alguns conceitos fundamentais para utilização de Rx com Javascript. Rx Framework foi desenvolvido, inicialmente, para .NET e Silverlight. Mais tarde, foi portado para Javascript. Com ele, podemos simplificar bastante a implementação de rotinas assíncronas, além de poder combinar (compose) eventos. Se desejar ver alguns exemplos desse… [Leia mais…]
Olá pessoal. Tudo certo?! Há algum tempo, escrevi um post falando sobre técnicas de Functional Programming em C#. Dentre essas técnicas, está Memoization. Basicamente, essa técnica melhora a performance de aplicativos evitando a repetição de cálculos para entradas já processadas. No post de hoje, apresento essa técnica em JavaScript. Explicitando o problema Considere o código… [Leia mais…]
Olá pessoal. Tudo certo?! No post anterior, mostrei como aplicar alguns princípios fundamentais (map e reduce) de programação funcional em JavaScript. Hoje, mostrocomo implementar Higher-order functions. Live demo: http://users.cjb.net/livedemoelemarjr/higherorderfunctions.htm Gist: https://gist.github.com/1363062 O que são Higher-Order Functions?! Uma “higher-order function” recebe uma ou mais funções como parâmetro e devolve uma nova função como retorno. Um exemplo… [Leia mais…]
Olá pessoal. Tudo certo?! No post de hoje, continuo explorando as potencialidades do JavaScript. JavaScript não é uma linguagem de programação funcional como Lisp, F# ou Haskell. Mas, o fato de permitir a manipulação de funções como objetos permite que usemos algumas técnicas desse paradigma. No post de hoje, exploramos algumas possibilidades. O exemplo que… [Leia mais…]
Olá pessoal, tudo certo?! Sempre busquei escrever códigos limpos e expressivos. Nem sempre obtenho sucesso, mas é um objetivo que não canso de tentar. No post de hoje, demonstro uma técnica que pode tornar nossos códigos mais fáceis de ler: Method Chaining. Uso essa técnica com frequência em C# e, hoje, mostro como fazer isso… [Leia mais…]
Olá pessoal, tudo certo?! No post de hoje, mostro uma variação do fractal “tree” que apresentei há alguns dias. Basicamente, adicionei alguma “aleatoriedade” e cor. Veja alguns resultados: Bacana, não?! Outro exemplo: Mais um … Último: Agora, vamos ver como é o código. Aliás, o código-fonte está em https://gist.github.com/1323773 e há um live demo… [Leia mais…]
Olá pessoal, tudo certo?! Finalmente, chego ao mais famoso dos fractais. Trata-se do conjunto de Mandelbrot. Código-fonte: https://gist.github.com/1314575 Live demo: http://users.cjb.net/livedemoelemarjr/mandelbrot.htm Importante: A performance do demo é assustadoramente ruim no Internet Explorer 9. Confesso que isso me pega de surpresa e ainda acho que escrevi alguma coisa “muito errado”. Recomendo que você rode o demo… [Leia mais…]
Olá pessoal, tudo certo?! No post de hoje apresento os fundamentos para geração de um fractal muito famoso. Trata-se do “Barney’s Fern”. Um dos mais belos, IMHO. Nossa demonstração permite que o usuário mude o tamanho da “viewport” alterando a posição dos marcadores. Basta selecionar o marcador que desejamos mover (com um clique), depois clicar… [Leia mais…]
Olá pessoal, tudo certo?! No último post, mostrei uma técnica para geração do triângulo de Sierpinski através de uma curva. Agora, mostro como fazer isso com uma técnica chamada “chaos game”. Código-fonte completo: https://gist.github.com/1306848 Live demo: http://users.cjb.net/livedemoelemarjr/sierpinski_chaos.htm Como falei no início dessa série, explicar a fundamentação matemática para fractais está fora de meus objetivos. No… [Leia mais…]
Olá pessoal, tudo certo?! Nesse post, mostro uma técnica para geração do triângulo de Sierpinski através de uma curva. Trata-se de um método pouco usual (a prática comum é desenhar um triângulo e apagar partes sucessivamente). O código que utilizo aqui é derivado daquele que mostrei no post anterior. Por isso, nesse post, explico apenas… [Leia mais…]
Olá pessoal, tudo certo? Depois de um “passeio nas estrelas”, volto a tratar de fractais com HTML5. Na parte 2, mostrei uma implementação simples para snowflakes. Na parte 1, mostrei como desenhar trees. Hoje, mostro como desenhar Hilbert curves. Live demo: http://users.cjb.net/livedemoelemarjr/hilbert.htm Código-fonte completo: https://gist.github.com/1306034 Um pouco mais sobre Hilbert “Space-filling” curve Space-filling fractals, como… [Leia mais…]
Olá pessoal, tudo certo?! O que acham de um “passeio” no espaço. Esta é a proposta do post de hoje : – ) Live demo: http://users.cjb.net/livedemoelemarjr/starfield.htm Código-fonte completo: https://gist.github.com/1305213 Preparando o Canvas… Nada novo no HTML. Observe: Ainda utilizo o velho artifício de “monitorar” o tamanho do browser para forçar com que o canvas… [Leia mais…]
Olá pessoal, tudo certo?! No post anterior, apresentei uma definição, não rigorosa, para fractal. Além disso, mostrei um exemplo simples de Tree (um exemplo simples de fractal). Hoje, mostro a implementação para Snowflakes. Código-fonte completo: https://gist.github.com/1302765 Live demo: http://users.cjb.net/livedemoelemarjr/snowflake.htm O que é snowflake? Um snowflake é uma curva geométrica e um dos primeiros “fractais” a… [Leia mais…]
Olá pessoal, tudo certo?! Nessa série que estamos começando, vou demonstrar como gerar imagens incríveis através de fractais e tiles. Nos posts que seguem, explicarei um pouco da matemática necessária para trabalhar com fractais e tiles. Entretanto, vou me concentrar mais na “mecânica” do desenho do que na matemática envolvida. Live demo: http://users.cjb.net/livedemoelemarjr/tree.htm (funciona no… [Leia mais…]
dezembro 20, 2011
2