Il seno e il coseno di t sono rispettivamente la coordinata yey di un punto sul cerchio formando un angolo t con l'asse x. Non ce n'è bisogno in un rettangolo! Un rettangolo è composto da quattro linee. Se t
va da 0
a 1
, raggiunge il punto (px,py)
at t==0
e to (qx,qy)
at t==1
con la linea data da:
(l(x),l(y)) = (t*qx + (1-t)*px, t*qy + (1-t)*py)
se invece di 0
e 1
, il tempo passa da t0
a t1
, puoi prima normalizzare l'ora e poi applicare la formula sopra.
(l(x),l(y)) = ( ((t-t0)/(t1-t0))*qx + ((t1-t)/(t1-t0))*px, ((t-t0)/(t1-t0))*qy + ((t1-t)/(t1-t0))*py )
Ora, per te rettangolo, dividi in quattro casi con un if
per ogni bordo che copre uno dei periodi di tempo e applica un movimento di linea.
Nota che se il tuo rettangolo è allineato all'asse, avrai sempre il valore x o il valore y che è costante. Ad esempio, per t tra 0
e a/4
(e supponendo che (X, Y) sia in basso a sinistra),
(l(x),l(y)) = ((4*t/a)*(X+Width) + (1-4*t/a)*(X), Y+Height)
Ciò equivale anche a:
(l(x),l(y)) = (X + (1-4*t/a)*(Width), Y+Height)