AlexCooper
25.02.2011, 00:08
Всем доброго время суток.
Вопрос следующего характера, хотел найти что-то более-менее похоже на то что хочу реализовать но то что знаю и то что нагуглил дают частичные функции реализации следующего.
Хочу описать функцию которая оперируя следующими параметрами
xs,ys - начальные координаты
xt,yt - конечные координаты
sr - начальное значение rotation
ks - ускорение
ms - максимальная скорость
ss - начальная скорость
tl -расстояние в пикселях по траектории движения до конечных координат с которых начинается обратное ускорение или же торможение до нуля
* в некоторых примерах обнаружил следующие
_x += (xt-_x)/speed;
_y += (xt-_y)/speed;
смотрится не плохо, потому думаю логичным будет включение в исчисление движения при достижении tl
arc - угол при повороте
А в результате функция должна переместить заданный клип из xs,ys в xt,yt с учётом tl и ускорением до максимальной скорости. Но налаживается следующие особенности траектории.
Если "нос" клипа устремлён в противоположную сторону от конечных точек, то клип должен сначало осуществить разворот, но не на месте, а выполнив сначало круговое движение и выровняв "нос" в конечную точку осуществить прямолинейное движение
*когда то описывал движение клипа относительно его rotation
_x += Math.cos(Math.PI/180*_rotation)*speed;
_y += Math.sin(Math.PI/180*_rotation)*speed;
Я не перекладываю своих тараканов на Ваши плечи, естественно сам буду пытаться сложить нужный алгоритм, это намного приятней чем использовать чей-то, но буду рад за любую полезную информацию.
Заранее благодарен.
Ниже приведу иллюстрацию примерных траекторий
Вопрос следующего характера, хотел найти что-то более-менее похоже на то что хочу реализовать но то что знаю и то что нагуглил дают частичные функции реализации следующего.
Хочу описать функцию которая оперируя следующими параметрами
xs,ys - начальные координаты
xt,yt - конечные координаты
sr - начальное значение rotation
ks - ускорение
ms - максимальная скорость
ss - начальная скорость
tl -расстояние в пикселях по траектории движения до конечных координат с которых начинается обратное ускорение или же торможение до нуля
* в некоторых примерах обнаружил следующие
_x += (xt-_x)/speed;
_y += (xt-_y)/speed;
смотрится не плохо, потому думаю логичным будет включение в исчисление движения при достижении tl
arc - угол при повороте
А в результате функция должна переместить заданный клип из xs,ys в xt,yt с учётом tl и ускорением до максимальной скорости. Но налаживается следующие особенности траектории.
Если "нос" клипа устремлён в противоположную сторону от конечных точек, то клип должен сначало осуществить разворот, но не на месте, а выполнив сначало круговое движение и выровняв "нос" в конечную точку осуществить прямолинейное движение
*когда то описывал движение клипа относительно его rotation
_x += Math.cos(Math.PI/180*_rotation)*speed;
_y += Math.sin(Math.PI/180*_rotation)*speed;
Я не перекладываю своих тараканов на Ваши плечи, естественно сам буду пытаться сложить нужный алгоритм, это намного приятней чем использовать чей-то, но буду рад за любую полезную информацию.
Заранее благодарен.
Ниже приведу иллюстрацию примерных траекторий