Синус и косинус t являются соответственно координатами y и x точки на окружности, образующей угол t с осью x. Нет необходимости в этом в прямоугольнике! Прямоугольник состоит из четырех линий. Если t
идет от 0
к 1
, он достигает точки (px,py)
в t==0
и к (qx,qy)
в t==1
с помощью строки, заданной:
(l(x),l(y)) = (t*qx + (1-t)*px, t*qy + (1-t)*py)
если вместо 0
и 1
вы переходите от времени t0
к t1
, вы можете сначала нормализовать время, а затем применить приведенную выше формулу.
(l(x),l(y)) = ( ((t-t0)/(t1-t0))*qx + ((t1-t)/(t1-t0))*px, ((t-t0)/(t1-t0))*qy + ((t1-t)/(t1-t0))*py )
Теперь, для вашего прямоугольника, разделите на четыре случая if
по каждому ребру, которое покрывает один промежуток времени, и примените движение линии.
Обратите внимание, что если ваш прямоугольник выровнен по оси, у вас всегда будет либо значение x, либо значение y, которое является постоянным. Например, для t между 0
и a/4
(и предположим (X, Y) внизу слева),
(l(x),l(y)) = ((4*t/a)*(X+Width) + (1-4*t/a)*(X), Y+Height)
Что также равно:
(l(x),l(y)) = (X + (1-4*t/a)*(Width), Y+Height)