El seno y el coseno de t son respectivamente las coordenadas y y x de un punto en el círculo que forma un ángulo t con el eje x. ¡No hay necesidad de eso en un rectángulo! Un rectángulo está hecho de cuatro líneas. Si t
va de 0
a 1
, llega al punto (px,py)
en t==0
y a (qx,qy)
en t==1
con la línea dada por:
(l(x),l(y)) = (t*qx + (1-t)*px, t*qy + (1-t)*py)
si en lugar de 0
y 1
, su tiempo pasa de t0
a t1
, puede normalizar el tiempo primero y luego aplicar la fórmula anterior.
(l(x),l(y)) = ( ((t-t0)/(t1-t0))*qx + ((t1-t)/(t1-t0))*px, ((t-t0)/(t1-t0))*qy + ((t1-t)/(t1-t0))*py )
Ahora, para su rectángulo, divida en cuatro casos con un if
para cada borde que cubra uno de los períodos de tiempo y aplique un movimiento de línea.
Tenga en cuenta que si su rectángulo está alineado con el eje, siempre tendrá el valor x o el valor y que es constante. Por ejemplo, para t entre 0
y a/4
(y suponiendo que (X, Y) esté en la parte inferior izquierda),
(l(x),l(y)) = ((4*t/a)*(X+Width) + (1-4*t/a)*(X), Y+Height)
Lo que también es igual a:
(l(x),l(y)) = (X + (1-4*t/a)*(Width), Y+Height)