Der Sinus und der Cosinus von t sind jeweils die y- und x-Koordinate eines Punktes auf dem Kreis, der mit der x-Achse einen Winkel t bildet. Keine Notwendigkeit dafür in einem Rechteck! Ein Rechteck besteht aus vier Linien. Wenn t
aus geht erreichen sie den Punkt an und auf der Linie gegeben durch:0
1
(px,py)
t==0
(qx,qy)
t==1
(l(x),l(y)) = (t*qx + (1-t)*px, t*qy + (1-t)*py)
Wenn anstelle von 0
und die 1
Zeit von t0
bis t1
abläuft, können Sie zuerst die Zeit normalisieren und dann die obige Formel anwenden.
(l(x),l(y)) = ( ((t-t0)/(t1-t0))*qx + ((t1-t)/(t1-t0))*px, ((t-t0)/(t1-t0))*qy + ((t1-t)/(t1-t0))*py )
Teilen Sie nun für Ihr Rechteck in vier Fälle mit einem if
für jede Kante, die einen Zeitraum abdeckt, und wenden Sie eine Linienbewegung an.
Beachten Sie, dass Sie immer entweder den x-Wert oder den y-Wert haben, wenn Ihr Rechteck achsenausgerichtet ist. Zum Beispiel für t zwischen 0
und a/4
(und angenommen (X, Y) ist unten links),
(l(x),l(y)) = ((4*t/a)*(X+Width) + (1-4*t/a)*(X), Y+Height)
Welches ist auch gleich:
(l(x),l(y)) = (X + (1-4*t/a)*(Width), Y+Height)