2015-06-13 5 views
1

У меня есть шар, который падает до точки, из которой он должен отскакивать и достигать другой точки.Отскок мяча от одной точки до другой - Вектор и ускорение

Мой мяч начинается с ускорения в направлении первой точки, попадает в точку и отскакивает влево. То, что я хочу, это скорость & ускорение, применяемое к мячу после удара первой точки, так что он имеет эффект подпрыгивания и достигает цели (не выходит в офсайд, как яркий след).

У меня есть линейный вектор между точками, координатами точек и углом между ними.

Explanation

+2

Что вы думаете? Где ваш код? Что вы пробовали? – j08691

+0

Некоторые похожие вопросы стоит посмотреть: [траектория пушечного мяча] (http://stackoverflow.com/a/26174961/2521214), [Bouncing Ball] (http://stackoverflow.com/a/20017455/2521214) – Spektre

ответ

0

Если вы не хотите полномасштабную имитации физики вы могли бы фальшивую это с помощью линейной интерполяции (Lerp) от начальной точки до конечной точки.

См. Moving object from vector A to B in 2d environment with in increments of percents для lerp in java script.

Измените координату, направленную вверх (y или z) в зависимости от используемой системы координат. Хотя т анимированный от 0..1:

var relativeHeight = Math.Sin(t * Math.PI) * curveAmplitude; 
posy = orgPosy + relativeHeight; 
2

Сначала мы выясним, сколько времени это займет, чтобы получить от высшей точки до нижней точки, решая для t:

в + v гу т = ду

Затем мы берем t и использовать его для нашей поперечной скорости:

v х = дх/т

После того как вы поперечную скорость, просто нарежьте время до, как тонко, как вам нравится и перевести мяч на каждой расчетной точке, в свою очередь.

+0

Не могли бы вы добавьте некоторые подробности по математике? Я не понимаю, что такое at at², а индексы на v означают. Я бы хотел попробовать. – stacker

+0

@stacker 'at^2 + v (iy) = dy' - это у-уе уравнение отклоненного движения' a' - ускорение локального силового поля (гравитация) (обычно '-9.81ms^-2'),' v (iy) '- скорость падения по оси y после первого удара по земле,' t' - время от первого отскока, а 'dy' - это размер линии заземления по оси y, только' a, v, dy' известны 't' неизвестно, что вам нужно решить это квадратичное уравнение, и получившееся положительное 't' время, когда мяч должен ударить по второй точке отскока. Остальное должно быть ясно ... – Spektre

Смежные вопросы