2013-09-11 7 views
2

Я могу рассчитать расстояние между наклонной линией и моим шаром (с нормальным вектором), Но как я могу рассчитать новую скорость?Отскок от наклонной поверхности

Illustrative image

+0

Посмотрите в векторы. В зависимости от реституции, обеспечиваемой контактной поверхностью шарика, вы просто нарушаете величину начальной скорости вниз в горизонтальные и вертикальные компоненты, используя синус и косинус угла, который шар делает с поверхностью ... Это лучше задается на http: //physics.stackexchange.com/ – MoonKnight

+0

Я так смущен: http://paste.org/67250 –

+0

@ Jav1993id, если у вас есть обновления, пожалуйста [отредактируйте свой вопрос] (http://stackoverflow.com/posts/18735741/edit), чтобы включить новую информацию. Не помещайте код на внешние сайты и просите нас посмотреть на него, особенно на сайты, которые скрывают свой контент от людей, использующих adblockers! – AakashM

ответ

1

Ответ Андерса был хорошим, но я понимаю, что у вас может не быть большой математической базы, поэтому я буду подробно разбираться. Проблема, которую вы сейчас испытываете, плохо сформулирована. Тем не менее, см на следующем рисунке

enter image description here

Это позволит нам вывести уравнение вам требуется. Теперь, скалярное произведение двух векторов и б, a.b дает величину в, умноженную на проекции б на . В принципе, если мы возьмем п как единичный вектор (величина 1 в каждом направлении компоненты), а затем a.n дает величину компонентов в, которые действуют в направлении п.

Итак, разделение компонентов скорости на параллельные и перпендикулярные равнине; для получения скорости V мы сначала разделили U на компоненты.

Перпендикулярно к плоскости, в направлении п, мы имеем вектора скорости ш = (U.n) п. Это означает, что на самом деле можно записать U = (U.n) п + [U - (U.n) п]. Это говорит о том, что U составлен из самой перпендикулярной компоненты + самой параллельной составляющей. Теперь, - V очень похож на U, но параллельные компоненты действует в обратном направлении, так что можно записать - V = (Un) п - [U - (Un) n].

Совокупность вышесказанного дает результат, заявленный Андерсом, т.е.VU -2 [(U.n) n]. Точечно-скалярное произведение определяется как a.b = | a || b | cos (A), где A - это угол между векторами, сложенными вместе между хвостами, это должно позволить вам решить вашу проблему.

Я надеюсь, что это поможет

1

Если вектор v = (Vx, Vy) является начальной скоростью и плоскость имеет нормаль п = (ая, пу), то новый отражение вектора г скорости будет

r=v−2(v⋅n)*n 

Продукт (v⋅n) является точечным произведением v и n, определяемым как vx nx + vy ny. Обратите внимание, что нормаль плоскости должна быть нормирована (длина 1,0). Связанный с этим вопрос с тем же ответом https://math.stackexchange.com/questions/13261/how-to-get-a-reflection-vector

+0

Вы не определили d здесь, и формула, которую вы заявляете, не подходит мне. – MoonKnight

+1

О, я переключался между d и v наполовину, должен быть только «v» (начальный вектор скорости). Исправленный. –

+0

Большое спасибо, я получил его :) –

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