MAMI - Atividade 08
Enunciado da Atividade
Empregando as funções dist e map do Processing, explicar e
exemplificar como a posição do mouse, numa janela com proporção 4:3, pode mover
um círculo no interior de uma retângulo com proporção 16:9 centralizado na tela
Vamos começar entendendo o que cada uma dessas funções faz.
A função dist serve para calcular a distância entre dois pontos, recebendo o X
e Y de cada um. Já a função map é mais complexa, funciona quase como uma regra
de três, nela você dá um valor, que está contido entre dois *parâmetros e você
quer saber o valor (proporcional) que ele teria se estivesse contido entre
esses outros dois *parâmetros
Por enquanto vamos começar construindo nosso código. Criamos
uma tela 4:3 (800x600) e centralizado dentro dela um retângulo com proporções
16:9 (640x360)
A partir daí podemos começar a construir a nossa função
centerBall, com base nos conceitos acima. Começamos criando duas variáveis para
o X do retângulo central. Estas vão dizer em que ponto começa e termina o X do
retângulo central. Para isso utilizamos a função dist começando do ponto zero
até metade da largura menos metade da largura do retângulo (iniX) e depois do
ponto zero até a metade da largura mais metade da largura do retângulo (finX)
A seguir criamos a variável xx, que vai conter o valor X da
bola, e lhe agregamos valor utilizando o map. A partir do valor X do mouse,
dentro dos parâmetros da largura da tela, queremos o valor proporcional no qual
a bola pode se movimentar, dentro dos parâmetros do retângulo (adicionando e
subtraindo o raio da bola, para que não vaze)
Agora, recriamos os passos acima, só que utilizando os
valores de Y
Finalmente, podemos juntar os valores dentro de uma elipse,
apenas adicionando os valores xx e yy criados e um diâmetro de 10
Assim, temos o resultado final



Comentários
Postar um comentário