14 - Imagens

10 - Interpolação 2D

Nesta atividade devemos explicar a criação de uma aplicação que move um triângulo entre dois ou mais pontos clicados consecutivamente na tela.

Interface do programa.

Primeiramente, foi necessário criar uma função chamada moveCaixa2() para que desenhasse o quadrado na tela. Ele deve receber cinco variáveis. São elas: (x1, y1, x2, y2, n). Sendo n o número de passos que o rect() deve dar. A função:

void MoveCaixa2(float x1, float x2, float y1, float y2, float n) {
  if (i <= 1) {
    background(255); 
    fill(0, 0, 255);
    rect(x1 + i * x2, y1 + i * y2, 10, 10);
    n = n/30.0;
    distancia = sqrt(pow(x2,2) + pow(y2,2));
    i = i + n/abs(distancia);
  }
}

Inicialmente a variável i tem valor 0. Mas a cada iteração ela é incrementada com uma fração da distância. Se o i atingir o valor de 1, significa que ele completou o movimento. Por exemplo, se o valor atual de i for 0,3 significa que ele já completou 30% do deslocamento total. Nessa função o n é utilizado para definir a velocidade de movimento, pois tem seu valor dividido pelo valor absoluto da distância.
Já para definir a posição atual do rect baseado no clique do mouse, foi usada a função mouseClicked().

É possível fazer o download da atividade neste link: Interpolação

Anúncio

Comentários