Sinus i cosinus t są odpowiednio współrzędnymi y i x punktu na okręgu tworzącym kąt t z osią x. Nie ma takiej potrzeby w prostokącie! Prostokąt składa się z czterech linii. Jeśli t
idzie od 0
celu 1
, to osiągnie punkt (px,py)
na t==0
i (qx,qy)
na t==1
z linii podanych przez:
(l(x),l(y)) = (t*qx + (1-t)*px, t*qy + (1-t)*py)
jeśli zamiast 0
i 1
, czas płynie od t0
do t1
, możesz najpierw znormalizować czas, a następnie zastosować powyższą formułę.
(l(x),l(y)) = ( ((t-t0)/(t1-t0))*qx + ((t1-t)/(t1-t0))*px, ((t-t0)/(t1-t0))*qy + ((t1-t)/(t1-t0))*py )
Teraz, dla twojego prostokąta, podziel na cztery przypadki, if
dla każdej krawędzi, która pokrywa jeden z przedziałów czasu i zastosuj ruch linii.
Zauważ, że jeśli prostokąt jest wyrównany względem osi, zawsze będzie miała wartość x lub wartość y, która jest stała. Na przykład, dla t pomiędzy 0
i a/4
(a załóżmy (X, Y) to lewy dolny róg),
(l(x),l(y)) = ((4*t/a)*(X+Width) + (1-4*t/a)*(X), Y+Height)
Co równa się również:
(l(x),l(y)) = (X + (1-4*t/a)*(Width), Y+Height)