Palíndromos hexadecimais

animation3

Eis aqui mais uma investigação sobre o tema dos hexadecimais. Essa “cachaça” é antiga e começou em A cor da palavra, desdobrou-se em Pi-xel e avança mais um passo aqui. E desta vez resolvi associar ao tema um outro elemento de q gosto muito: palíndromos.

Um palíndromo é uma palavra ou frase q pode ser lida de “frente pra trás e de trás pra frente”. Podemos pensar nos exemplos mais simples, como ovo ou arara, até evoluir para composições mais complexas, como socorram-me, subi no ônibus em Marrocos.

No livro A fórmula preferida do professor (já comentado em outro post), descobri q os palíndromos japoneses obedecem a uma inversão de sílabas, não de letras (como acontece em um palíndromo “ocidental”). Um exemplo extraído do livro: takeyabu yaketa (experimente separar em sílabas com 2 letras cada e veja o q acontece). A tradução da frase é o bambuzal pegou fogo. Se fosse em nossa língua, a palavra ‘casaca’ seria um palíndromo japonês. Para ser um palíndromo ocidental, acrescente apenas o artigo ‘a’ na frente da palavra (‘a casaca’).

Em Palíndromos Hexadecimais, criei um contador de “0 a F”, ou seja, um contador q abrangesse todos os “algarismos” formadores do sistema hexadecimal: os números de 0 a 9 e as letras de A a F. Na verdade o contador vai de 000 a FFF, pois em seguida em espelhei as combinações formadas para gerar um palíndromo. Por exemplo: para a combinação 31A, gerou-se também o seu “espelhado”, A13. No final temos 31AA13, um palíndromo hexadecimal. E o q fazer com isso? Associei a combinação alfanumérica ao parâmetro de background do código HTML da página. Como o contador é dinâmico, à medida q as combinações aparecem, a cor de fundo acompanha o palíndromo exibido.

Agora vamos lá. Se fosse um contador decimal (0 a 9), quantas combinações teríamos? Não faz muito tempo estudei análise combinatória para uma prova e este conteúdo me ajudou aqui. Um contador de 000 a 999 nos oferece 1000 possibilidades, ou seja 10x10x10. Para o contador de 0 a F, é como se o mesmo contasse de 0 a 15 (em decimal), o q nos oferece 16 possibilidades para cada casa do número. Portanto de 000 a FFF temos 16X16x16, o q dá 4096 possibilidades! Programei o contador para exibir cada número a 1s, portanto seriam necessários 4096 segundos para ver tudo, certo? 4096 segundos são aproximadamente 68,26 minutos, o q dá 1 hora e pouco mais de 8 minutos. Acho q é muito tempo para se passar em frente a uma tela, não acham?

Agora, pensando q poucos (ou nínguem) ficaria tanto tempo assim em frente ao computador, fiz uma variação do contador: o Palíndromos Hexadecimais Aleatórios. A única diferença aqui é q as combinações geradas são escolhidas “ao acaso”, mas todas elas fazem parte do conjunto de 4096 palíndromos possíveis do contador. Basta ver algumas e seguir a vida.

 

Anúncios
Palíndromos hexadecimais

Meu livro de parábolas

O que são parábolas? Certamente vc já ouviu o termo associado a uma história, geralmente com algum princípio moral, um ensinamento. Ou então a palavra pode lhe remeter às equações de segundo grau, aquelas de “x elevado ao quadrado”. As duas ideias estão certas. Nossa língua acabou utilizando o mesmo termo para designar estas coisas tão diferentes. Na língua inglesa, o termo “parable” se refere às histórias. Já “parabola” (quase igual ao nosso, mas sem o acento agudo) designa as curvas matemáticas que fazem parte das cônicas (mas isso é assunto para outra conversa).

Aproveitando a “confusão” que pode causar usar uma mesma palavra para designar mais de uma coisa, criei um livro gráfico, chamado Meu livro de parábolas, aproximando os dois conceitos: histórias e curvas matemáticas.

Esta é uma ideia antiga. No início eu fiz uma versão estática, mas aproveitando q estou estudando HTML e outras coisas, resolvi dar uma “repaginada” e literalmente criar uma pequena página para mostrar o conteúdo do “livro”. Algumas parábolas foram rebatizadas. Conheça (ou relembre) aqui:
http://marlontenorio.com/parabolas/

Meu livro de parábolas

Colorindo Pi

Faz um bom tempo q venho estudando alguma coisa de programação. Vencidos alguns bloqueios iniciais com internet (HTML e CSS), faltava ainda um terceiro elemento. Algumas pessoas fazem o seguinte paralelo: o HTML é o substantivo da web; o CSS seria o adjetivo e o Javascript, o verbo. De fato, boa parte da ação dentro da internet deve-se ao conhecimento e aplicação de alguma linguagem de programação e o Javascript é das mais populares.

Levei aí um bom tempo aprendendo o “a-bê-cê” de Javascript e ainda estou na fase de “soletrar” palavras, copiando frases dos outros e tentando escrever as minhas. Lembro-me q quando tinha minhas ideias, até avançava na parte visual das mesmas, mas sempre empacava na hora da programação. Ainda me recordo de um colega de trabalho, dos tempos de quando trabalhei com desenho animado, quando ele me disse: Marlon, aprende programação!

Dentre as muitas ideias “empacadas”, uma eu finalmente pude “tirar do papel” e comemoro como um grande avanço. Gosto muito da forma como as cores são “traduzidas” em números hexadecimais. Um dos meus primeiros estudos nesta área foi A cor da palavra, em que criei palavras a partir das letras da base hexadecimal (de A a F) e vi quais as cores resultantes das mesmas. Uma variação dentro deste tema seria pegar um número grande, muito grande, imensamente grande, dividi-lo em blocos de 6 algarismos e ver as cores resultantes. Então me lembrei de um dos números mais conhecidos. A minha “cobaia” foi o Pi, com seus infinitos algarismos. Com um pouquinho de paciência, consegui encontrar sites q disponibilizam seus “trocentos” primeiros algarismos. Bastaria depois “quebrar” estes algarismos, agrupá-los, criar um grid e colorir. Moleza, certo? Trabalhei com pouco mais de 10.000 algarismos de Pi. Dividindo por 6, obtive mais de 1.600 grupos, todos distintos. Mais um pouquinho de paciência e escrevi um código q serve não apenas para os 10 mil, mas eu poderia usar 100 mil, 1 milhão de algarismos, mas acho q seria um exagero (10 mil tá bom, né?).

O resultado foi um mosaico, uma “colcha de retalhos” formada por imensos “pixels” coloridos e pode ser conferido aqui. Durante o processo, lembrei-me de alguns trabalhos de Paul Klee e da minha mãe (q costurava e deve ter feito cobertas a partir de vários pedaços de tecido com certeza!).

Para um “estudante primário”, tenho ao mesmo tempo me divertido e aprendido bastante. Meu propósito estudando programação está bem longe de ser o de me tornar um desenvolvedor web. Sou (ou pelo menos me considero) artista. E todos os recursos q posso conhecer são bem-vindos como ferramentas expressivas.

pi-xel_vertical

Colorindo Pi