У меня есть шар (динамическое тело в форме круга), который действует на поверхность (батут) в условиях силы тяжести.
Когда мяч ударяет по батуту (нарисовано на рисунке от точки А до В), я хотел бы приложить импульс (нормальный к поверхности батута) к мячу.
Проблема в том, что сейчас я использую:
b2Vec2 impulse = b2Vec2(0, [self fullMass]*[GameMaster sharedInstance].usrTrampolineForce);
b2Vec2 impulsePoint = _body->GetWorldPoint(b2Vec2(0/PTM_RATIO, -1.0/PTM_RATIO));
_body->ApplyLinearImpulse(impulse, impulsePoint);
Который направляет шар перпендикулярно (на поверхности) вверх (красное направление на чертеже), хотя он должен соответствовать определенной реалистической траектории (нарисованной черным)
Как я могу применить импульс для реалистичного прыжка?
т.е. Обратите внимание, что меня интересуют все случаи пересечения шаров. например, мяч может упасть на батуте, и мяч все равно должен иметь правильную траекторию.