quarta-feira, 12 de agosto de 2015

[Matemática Aplicada] - 2a. Modificação do exemplo

Estão se alimentado bem? Praticando exercícios? Olha essa saúde heim, estou de olho. É o seguinte pessoal, nesta postagem trago a modificação feita por mim neste exemplo proposto pela página do Processing. Aqui está o código modificado:


As mudanças realizadas foram:

  • O background muda de cor com base na posição do mouse.
  • A cor dos retângulos é distinta de acordo com a localização do ponteiro.
  • Outros dois retângulo foram inseridos em posições diferentes na tela.
  • Maior chance de ter dor de cabeça ao visualizar o exemplo.
Aqui está o resultado de como ficou:

Não olhe muito, pelo seu bem.

Bem pessoal, é isto. até a próxima atividade. Cuidem-se!

[Matemática Aplicada] - 2. Exemplo do Processing

Olá nobre estrela da galáxia do amor, na postagem de hoje veremos a análise de um dos exemplos mostrados na página do Processing que nos apresenta as deliciosas mágicas que ele pode nos oferecer. O exemplo que escolhi está no link da linha acima. Fica mais fácil ver do que explicar por aqui. Primeiro eu peço que veja o exemplo que aqui embaixo colocarei o código para analisarmos juntos o que ocorre:


Como você pôde ter visto no exemplo, nós temos dois retângulos em uma tela que mudam de posição e tamanho de acordo com a localização do mouse. Percebemos os dois retângulos mesmo um sobrepondo o outro, mostrando que há uma certa transparência neles. Acima temos o código completo e vamos dissecá-lo aos poucos para entender o que ele faz:


Na primeira parte do código está o setup, as configurações do exemplo. Na linha 2 é determinado o tamanho da tela. Os dois números são os parâmetros que respectivamente significam altura e largura (em pixels). Nossa tela portanto tem 640px de largura e 360px de altura. Na linha 3, o noStroke() é uma função que faz com que nenhuma figura desenhada tenha borda. E na linha 4 a função rectMode(CENTER) diz que quando eu for desenhar um retângulo, a posição na tela x,y pela qual
o programa deve iniciar o desenho deve ser pelo centro do retângulo, ou seja, por padrão os retângulos começam a ser desenhados pelo canto superior esquerdo, esta função modifica para exatamente o centro.

Agora veremos a parte mais complexa do código:


Tudo o que está dentro de void draw() será processado infinitamente até o programa ser fechado. Na linha 8 está a definição da cor do plano-de-fundo da tela. Deixá-lo dentro do draw é importante para que não tenhamos vários retângulos desenhados na tela. O parâmetro colocado (51), é um tom de cinza, no caso mais próximo do preto.
A função logo abaixo é a cor selecionada para "pintar" o elemento que virá a ser proposto no código, no caso, nosso primeiro retângulo. Os dois parâmetros colocados (255, 204) significam respectivamente o tom de cinza e a opacidade. 255 é o branco puro e 204 reduz de maneira suave a opacidade.

Agora vem o desenho dos retângulos. Isto é feito pela função rect(). Antes é necessária uma explicação de como ele é desenhado: São quatro parâmetros neste exemplo. Os dois primeiros referem-se a posição horizontal e vertical dele na tela, enquanto os dois últimos a sua largura e altura respectivamente. A posição X do mouse determina a origem X do retângulo, isso faz com que a figura acompanhe o movimento horizontal do ponteiro do mouse enquanto brincamos na tela. Já a posição Y é fixa. Ela foi proposta para ser da metade da altura da tela, ou seja, no centro da altura. Lembra que no setup os retângulos teriam seu início no centro? Pois bem, esta configuração é responsável por estes parâmetros de origem serem alocados ao centro da figura.
Para a largura e altura foi colocada uma fração que tem como base a posição do mouse quanto sua altura divida por dois e logo após acrescenta-se 10px. Isso faz com que quanto mais abaixo da tela o mouse estiver, maior será o retângulo, e quanto mais acima, menor. A divisão foi feita para que a figura desenhada não tomasse toda a altura da tela:

 Mouse o mais baixo possível na tela

Mouse o mais alto possível na tela

Logo após mais um fill() do mesmo do primeiro, agora para o segundo retângulo. Só que para o segundo, foi pensado no efeito inverso. Enquanto um fica grande o outro deve ficar pequeno, de maneira inversamente proporcional.
Para isso foram criadas duas variáveis, para as posições X e Y do mouse com base na largura e altura da tela, causando assim o efeito inversamente proporcional que será incluso nos parâmetros do segundo retângulo.
E assim nos parâmetros do segundo retângulo para ser desenhado a diferença para o primeiro foi que no lugar de colocar as posições X e Y do mouse, as variáveis inversas foram alocadas, causando assim o efeito visto.

Apenas quando o mouse encontra-se exatamente no centro da tela as figuras ficam o mesmo tamanho causando assim a imagem de apenas uma figura.



Farei uma modificação deste exemplo e a farei em outra postagem para não deixar isto aqui tão gigante. Um abraço continua comigo!


segunda-feira, 10 de agosto de 2015

[Oficina de Criatividade] - 1a. Desafio do Alfabeto (extensões)

Gente sadia e fértil, tudo tranquilo com vocês? É o seguinte, aqui está a complementação do primeiro desafio da disciplina de oficina de criatividade. Além do alfabeto de cadarço que eu fiz, era necessária a criação de outros elementos presentes em uma fonte: numerais, símbolo e etc. Fiz o alfabeto minúsculo, com uma certa confusão em algumas letras. Sério pessoal, as vezes você se esquece de como se faz uma letra. Pode ser a idade talvez... MENTIRA! Só estou frescando. Aqui estão todos os elementos extras da fonte. Deleitem-se com esta fofura:

a
 b
 c
 d
 e
 f
 g
 h
 i
 j
 k
 l
 m
 n
 o
 p
 q
 r
 s
 t
 u
 v
 w (está de ladinho) :3
 x
 y
 z
 0
 1
 2
 3
 4
 5
 6
 7
 8
9
 Ponto final
 Vírgula
 Ponto e vírgula
 Dois pontos
 Ponto de exclamação!
 Ponto de interrogação?
 Travessão gostoso
 Cifrão
 Arroba
 Barrinha pra lá
 Barrinha pra cá
 Asterisco (esse foi difícil fazer)
Grau ( ° )
 Ordinário masculino ( º )
 Ordinário feminino ( ª )
 Cê cedilhado
 Meu til
 Acento agudo
 Crase do mau
Acento circunflexo

E foram todos. Esta atividade deu um certo trabalho, porém como já dito em aula, foi apenas o nível um. Veremos o que virá pela frente. Eita nós. Até a próxima heróis.