O seno e o cosseno de t são, respectivamente, as coordenadas yex de um ponto no círculo, formando um ângulo t com o eixo x. Não há necessidade disso em um retângulo! Um retângulo é composto de quatro linhas. Se t
vai de 0
para 1
, atinge o ponto (px,py)
at t==0
e (qx,qy)
at t==1
com a linha dada por:
(l(x),l(y)) = (t*qx + (1-t)*px, t*qy + (1-t)*py)
se em vez de 0
e 1
, o tempo passar de t0
para t1
, você poderá normalizar o horário primeiro e depois aplicar a fórmula acima.
(l(x),l(y)) = ( ((t-t0)/(t1-t0))*qx + ((t1-t)/(t1-t0))*px, ((t-t0)/(t1-t0))*qy + ((t1-t)/(t1-t0))*py )
Agora, para seu retângulo, divida em quatro casos com um if
para cada aresta que cubra um período de tempo e aplique um movimento de linha.
Observe que se o seu retângulo estiver alinhado ao eixo, você sempre terá o valor x ou o valor y constante. Por exemplo, para t entre 0
e a/4
(e supondo (X, Y) fica no canto inferior esquerdo),
(l(x),l(y)) = ((4*t/a)*(X+Width) + (1-4*t/a)*(X), Y+Height)
O que também é igual a:
(l(x),l(y)) = (X + (1-4*t/a)*(Width), Y+Height)