Ativ 7. Proporções usando dist() e map()

Para essa atividade, foi pedido o seguinte:
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.

Para obter o resultado acima, deve-se entender o processo por trás disso.
A função map() recebe o dado de um valor, que no caso do eixo horizontal é a distância(dist()) entre a origem e a posição do mouseX, recebe também o espaço amostral desse valor inicial, que é entre 0 e width (a largura da janela), e por fim recebe a proporção final, que no caso é entre o ponto X inicial desse retângulo(que, como é centralizado é o de (width/2)-(8*40)) ) e o ponto X final dele, que é o valor inicial + 16*escala(que no caso é 40).
Então, basicamente a função map recebe um valor e aplica uma "regra de três" básica nele.
Logo, as bolinhas estão em uma distância proporcional a suas respectivas origens, de acordo com seus respectivos limites. Sendo a janela principal de 800:600 (4:3) e a janela menor de 640:360(16:9).
Decidi pôr essas grades apenas para causar um efeito cômico, já que parece que a bolinha quer sair mas não consegue ultrapassar os limites de sua 'jaula'.
Espero que tenha ficado clara a explicação.
Aqui está o link para o código dessa aplicação.

Comentários

Postagens mais visitadas