В настоящее время я пишу программу для симулятора частиц. Одно из требований состоит в том, чтобы частицы сталкивались реалистично. Однако я не знаю, как рассчитать конечные скорости.
Для каждого столкновения у меня есть -компонент и -составляющая каждой скорости, а также перемещение и масса каждой частицы.
Можно ли вычислить направление и величину их скоростей после столкновения? Если да, то как?
2-мерное столкновение можно свести к 1-мерной задаче в случае сфер — см. здесь . вы сталкиваетесь при решении кинетической энергии, вероятно, потому что есть два решения, и уравнения удовлетворяются любым из них. Одно из решений состоит в том, что частицы проходят прямо друг через друга, и вы можете их отбросить.
Примечание. В простейшем методе расчета столкновений используется некоторый метод применения импульсов к объектам, которые сталкиваются в некоторый момент времени. Самый простой алгоритм состоит в том, чтобы проверить, пересекаются ли два объекта в какой-то момент времени, и если они пересекаются, вы фиксируете это так, чтобы они перестали пересекаться друг с другом, а затем применяете рассчитанные импульсы к каждому объекту. Однако это не совсем правильно. Вам действительно нужно выяснить, какие столкновения произошли первыми, откатить всю симуляцию назад к моменту первого столкновения и сразу же рассчитать новые скорости . Это работает правильно, если у вас есть много мгновенных и взаимозависимых столкновений.
В худшем случае, если частицы плотные и вступают в контакт друг с другом, самый простой способ, который я нашел (который используется в этой симуляции и который я использовал для обработки столкновения в этой симуляции ), заключается в использовании сил вместо импульсов . . Опять же, вы сводите это к одномерной задаче, и сила взаимодействия между двумя частицами равна:
где и константы, — сила отталкивания пружины Гука , - относительная скорость двух частиц вдоль оси их столкновения, и есть сила вязкого трения .
Я считаю, что если вам нужна более точная физика контакта (с точными скользящими точечными контактами вместо силы пружины), вам придется использовать гораздо более сложный метод.
Кайл Канос
Цисплатин
Кайл Канос
Цисплатин
Кайл Канос
фибонатический
Джон Алексиу