domingo, 24 de setembro de 2017

Atividade 6 - Bandeira do Brasil (MAMI - 2017.2)

Um dos fatores que dificultam a criação de objetos geométricos proporcionais no Processing, é a lei diferenciada na criação das formas básicas. Nesse caso, o método padrão de formação de um retângulo, por exemplo, se dá pelo vértice superior esquerdo da forma.

No entanto, ao aplicar o rectMode(RADIUS), observamos que tal método pode ser simplificado. Em vez do retângulo ser formado a partir do vértice dito acima, ele é criado a partir do centro da forma (x, y), simplificando o processo de centralização do retângulo, por ser parecido com o da formação da ellipse.





Atividade 5 - Bola Quicante (MAMI - 2017.2)

Para fazer a bola quicante, defini primeiramente as variáveis x (posição horizontal), y (posição vertical), velocidade x, velocidade y, gravidade = 0.3, dx(distância x) e tempo.

No void draw, estabeleci as funções "amb" (ambiente) e "lancamento", a cor do círculo e seus parâmetros, x+dx (variação a cada instante na horizontal), y, tamanho 25, 25.

No void "amb", eu apliquei a gravidade na velocidade y e a velocidade como influenciadora da posição y. Se a pos. y for maior ou igual à altura da tela, é subtraido 10% da velocidade y do objeto (vy = vy * 0.9).

No void "lancamento", é calculada a distância pela função MRU e depois, se a posição y da bolinha é igual à da altura da tela, também é subtraido 10% da velocidade x do objeto (vx = vx * 0.9).


Link do código: https://drive.google.com/open?id=0B3-iqp7LYuNJeERicnU5STI5U00

Atividade 4 - Corrida (MAMI - 2017.2)


Nessa atividade foram criadas variáveis float para tempo e distância atual (inicialmente iguais a 0), e uma int para decisão do vencedor. Depois foi feito um vetor de 20 variáveis para o estabelecimento das velocidades randômicas dos veículos (vVeic). Além disso, foi incluido um teste lógico "termina", inicialmente "false".

Após isso, criei a variável float MRU, que calcula e retorna a distância por meio da fórmula  d = v*t.

Então, foi criada a variável "comp" para a criação dos carrinhos, no qual utiliza a variável "v" para calcular a dAtual. Esta, por sua vez, é utilizada como referencial para a localização das partes do carro, que foram todas criadas por meio da função rect. O destaque do número foi feito com um ellipse, e o número contido, com a função text.

No void setup, foi estabelecido o tamanho da tela de execução (600, 600), e as velocidades dos carrinhos, por um laço de repetição "for".

No void draw, foi estabelecido a cor de background, e os voids "pista" e "tempo", que serão explicados adiante. Aqui, chegamos em um condicional importante "if (termina == false)", em que é definido o tempo somado ao acréscimo e são criados os 20 carrinhos e definidas suas velocidades pelo laço de repetição "for". 

Quando um dos carrinhos  alcança a "Chegada", o teste booleano "termina" irá ser verdadeiro, e o vencedor será declarado por meio do condicional "if". Então, será apresentado o número do carrinho vencedor e o tempo que demorou para alcançar a "Chegada".

No void "pista", são criados retângulos para destacar o tempo e a linha de chegada, que é exibida pelo texto com quebra de linha.

No void "tempo", o texto do tempo é exibido com precisão de 6 casas decimais, por meio da variável "tAtual".





terça-feira, 5 de setembro de 2017

Atividade 3 - Gerador de Falsificações com Slidebar (MAMI - 2017.2)

Para fazer o Gerador de Falsificações, primeiramente criamos uma função para desenhar círculos "void circulo" e acrescentamos a capacidade de ser preenchida com cores aleatórias, e alocamos seus parâmetros como parâmetros da função "ellipse" com variáveis locais (x da esfera, y da esfera, 2*r para os diâmetros).

Após isso, criamos uma função "bloco", para desenhar as unidades da figura. Usando "rect", para desenhar um quadrado e três vezes a função "circulo" para os círculos interiores, cada um mantendo proporção de, respectivamente, 1/2, 1/3 e 1/6 com o primeiro.

Depois, acrescenta-se a biblioteca ControlP5 para gerar uma slidebar, sendo que os valores das barra "Horizontal" varia de 1 até 9, e o da "Vertical", de 1 até 7.

Para vincular a barra de rolamento com os parâmetros, foi criado quatro variáveis "hor", "ver", "h", "v" e o teste booleano "pintar" = verdadeiro. As variáveis "h" e "v" recebem os valores atuais da barra, e inicialmente são iguais às variáveis "hor" e "ver".

Contudo, se arrastarmos a barra de rolamento, e o programa receber valores diferentes para "hor" e "ver", conforme arrastamos a barra, "pintar" é verdadeiro, e o programa começa a gerar os blocos, de acordo com o número recebido por intermédio de um laço de repetição, que são dispostos de acordo com as coordenadas recebidas.

Caso o slidebar esteja parado, os valores são iguais, portanto "pintar" é falso e nada acontece.



Link: https://drive.google.com/open?id=0B3-iqp7LYuNJS3FrTVhLWTFjQVk

segunda-feira, 4 de setembro de 2017

Atividade 2 - Quadrados Contíguos Horizontais (MAMI - 2017.2)

O debug é uma ferramenta que exibe os valores das variáveis que estão sendo processados a cada momento, ou seja, permite ao programador avaliar as condições e os parâmetros em tempo real, beneficiando, desse modo, o desenvolvimento do programa, uma vez que permite uma intervenção mais rápida e direta no código.

Na atividade dos n quadrados, o debugger auxilia na amostragem das variáveis que geram o número de quadrados em cada execução, os quais são criados nesse momento. Desse modo, podemos monitorar se as variáveis estão funcionando de acordo com nossa intenção em determinado instante do código, parando a execução na linha desejada.









Link do código: https://drive.google.com/open?id=0B3-iqp7LYuNJam5wN1VVMy0xbXc

Trabalho de MAMI - Gerador de Arte (Parte 2)

Link do código: https://drive.google.com/open?id=1AUI4WUZtjbgH_A4s6xBvi9jPa_UV_rkT