Создаю физический движок с нуля, столкнулся с проблемой: определить вектора скоростей и вектора вращения после столкновения двух тел (для примера шаров) в 3-х мерном пространстве, с разным радиусом, массой и шершавостью(для силы трения) с известной точкой столкновения и временем столкновения, как удобней и с известными начальными векторами скоростей и векторами вращения.
мне нужно решить лишь эту конкретную задачу, остальной функционал уже практически готов,
по теории удара гуглил, но не нашел ничего удовлетворяющего условиям, все примеры либо рассчитаны на абсолютно упругий удар, либо на удар лоб в лоб, в общем то, что помочь мне не смогло
хотя бы абсолютно упругое столкновение шаров разной массы и радиуса можете подсказать, хоть для двухмерного случая, я сам дальше разберусь
Судя по этому сборнику цитат, Вы не понимаете одного существенного обстоятельства: то, что Вы хотите сделать - весьма сложная и трудоемкая даже для специалиста задача, во многих частных случаях вообще не решенная. Поэтому:
1) Надеяться, что тут на форуме или в какой-то книге удастся найти несколько формул, которые надо будет вставить в программу, не стоит - в самом лучшем случае последовательное описание того, что считать в той или иной ситуации (если его кто-нибудь составит), будет представлять собой десяток толстых книжек.
2) "Физическая" часть этой работы на много порядков сложнее программистской, поэтому попытки написания идеального физического движка своими силами и с нуля у Вас попросту займут всю оставшуюся жизнь.
Следовательно, надо поставить задачу более четко.
Если это просто учебная задача, то надо ограничиться простыми случаями, механика которых Вам известна, и реализовать их. Если Вам требуется написать программный продукт, реализующий какой-то соответствующий функционал, наиболее разумный вариант действий уже подсказали - взять уже существующий движок и, возможно, его модифицировать под свои нужды. Если Вам требуется разобраться в том, как подобные задачи в общих чертах решаются, то ответ уже тоже есть - взять соответствующие книжки и примеры кода и читать. Если задача состоит в том, чтобы написать что-то, лучшее, чем все существующие движки, то надо осознать, что это проект на много лет и много человек (и не только программистов), поэтому начинать надо с поиска финансирования и т.п.