Я пытаюсь научиться анимировать точки и обновлять их координаты x и y от кадра к кадру.Я нашел учебное пособие онлайн, и я действительно борюсь с формулами, которые используются в dx и dy:
dots.speed = 3; %degrees/second
dots.duration = 5; %seconds
dots.direction_deg = 30; %degrees (clockwise from straight up)
dots.direction_rad = dots.direction_deg * pi /180 %direction converted to radians
% Calculate the distance travelled by a dot (in degrees), which is the speed (degrees/second) divided by the frame rate (frames/second).
dx = dots.speed*sin(dots.direction_rad)/display.frameRate;
dy = -dots.speed*cos(dots.direction_rad)/display.frameRate;
Обладая своими знаниями в тригонометрии, я получаю следующие формулы для dx и dy:
Cos (угол) = Соседний / Гипотенуза -> cos (dots.direction_rad) = 1 / dx (1 - расстояние от начала координат до точки на окружности, равное 1 радиану).-> dx = 1 / cos (dots.direction_rad) -> тогда расстояние равно:
dots.speed*1/cos(dots.direction_rad)*display.frameRate
Sin (угол) = противоположность / гипотенуза -> sin (dots.direction_rad) =dy / 1 -> тогда расстояние равно:
dots.speed * sin(dots.direction_rad) / display.frameRate.
Мои формулы не дают ожидаемого результата.Так что я делаю не так.Кажется, я не понимаю, как dx и dy были вычислены в учебнике.Пожалуйста помоги!спасибо