Ativ 15. Olho voltado para o mouse

O enunciado dessa atividade foi:
explicar, com base na trigonometria, a criação de uma aplicação que move um olho (bitmap circular pequeno no interior de um círculo branco grande) que se encontra sempre voltado para o cursor do mouse.

Esse foi meu resultado final.
Para essa atividade, foi necessário o uso de coordenadas polares para os casos em que o cursor do mouse está fora da área delimitada. Nesses casos, as posições X e Y do olho devem ser as coordenadas polares do ângulo em que o cursor está encontrado. Como visto na imagem a seguir:
Então, a posição do olho seria dada pela coordenada polar de alfa. Alfa é obtido pela tangente das distâncias da posição de mouseX e mouseY até o centro do círculo.
São feitas algumas alterações para que funcione, já que a distância é modular, nunca sendo negativa, então o intervalo de ângulo obtido é de 90º, como visto no gráfico abaixo:
Como explicado, dá para observar que um 'ciclo', levando em consideração somente a parte positiva, ocorre em 90 graus (PI/2).
Então, fiz condições, para caso o cursor do mouse esteja localizado à direita do centro, a posição X do olho ser a coordenada do centro adicionada da coordenada polar obtida por alfa, e caso esteja à esquerda, a posição do olho é a do centro decrescida da coordenada polar de alfa. Analogamente foi feito para a posição Y, o cursor estando acima é decrescido e abaixo é incrementado.
Então, para fins estéticos escolhi o bitmap de um olho humano, e modifiquei qual imagem apareceria (ele virado para a esquerda ou para a direita), dependendo de onde estava o cursor (como explicado acima).


Aqui está o link para o código no drive!
Então foi isso, espero que tenha ficado claro e interessante!

Comentários

Postagens mais visitadas