Відповіді:
Імпульс застосовується миттєво, тому це не залежить від часу кроку. Ви б використовували імпульс, коли хочете щось надати фіксованому прискоренню швидкості, або фізична дія відбувається занадто швидко (наприклад, кулі / рикошет кулі, зіткнення, стрибки, миттєві збільшення швидкості).
Тим часом сила змінює швидкість, прямо пропорційну кроку часу. Ви використовуєте його для речей, які мають надмірний вплив (наприклад, сила тяжіння, довгі пружини, опір повітря).
Математично impulse = force * time; І для довідки impulse = mass * velocity_change, force = mass * acceleration.
Якщо розгорнути перший, ви можете перевірити це:
impulse = force * time ->impulse = mass * acceleration * timeа оскільки acceleration * time = velocity_change->impulse = mass * velocity_change.Jeff Lakeздійснюється Game Coding Complete 3rd Ed. Chapter 15: Collision and Simple Physicsнеправильно: (перефразовуючи)Start with a Vector3d (or 2d depending) of forces F, Accumulate all Forces applied in a list, Accumulate All Impulses in a list add both totals to Forces, empty Impulses list, Accel = F / mass, Vel += Accel * deltaTime, Pos = Vel * time.
i = F_response * DTime. Можна піти будь-якими шляхами: використовувати iімпульс для корекції швидкостей після зіткнення або безпосередньо використовувати силу відгуку. Якщо ви отримаєте імпульс десь з іншого місця, ви можете перетворити його на F_responseі він працює добре.
impulse = force * timeімпульс також залежить від часу (принаймні, якщо ви використовуєте сили для отримання величини імпульсу). Дійсно, імпульс чи імпульс корисні для застосування миттєвих драматичних змін. Найпопулярніший приклад походить із законів збереження імпульсу та енергії: physics.ohio-state.edu/~gan/teaching/spring99/C10.pdf .