В основном мне нужно выполнить анимацию столкновения и отскока для трех шаров, движущихся случайным образом в кадре / контейнере, расположенных так, как показано на рисунке ниже.

Чтобы проверить, сталкивается ли шар с чем-либо, мне нужно отслеживать каждую позицию деления во время состояния перевода в css, используя javascript.Используя getBoundingClientRect()
, я получу только конечную позицию div, но мне нужно отслеживать / записывать каждую точку пути, по которому идет div, когда мы используем css translate.
Я буду использовать обычный угловойанимации, и я не планирую добавлять дополнительные jQuery для этой задачи.
Вот пример демонстрации, который я попробовал на консоли браузера, он помогает мне перемещать шары случайным образом, но иногда они перекрываются, что мне нужночтобы отскочить, когда шарик касается края контейнера или поверхности другого шарика.
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
var anim2 = document.getElementsByClassName("animation1")[0];
var anim1 = document.getElementsByClassName("animation2")[0];
var anim4 = document.getElementsByClassName("animation3")[0];
function action() {
var randomNumMin1 = getRandomInt(-100, 100);
var randomNumMin2 = getRandomInt(-100, 100);
var randomNumMin3 = getRandomInt(-100, 100);
var randomNumMax1 = getRandomInt(-100, 100);
var randomNumMax2 = getRandomInt(-100, 100);
var randomNumMax3 = getRandomInt(-100, 100);
var num1 = `translate(${randomNumMin1}px, ${randomNumMax1}px)`;
var num2 = `translate(${randomNumMin2}px, ${randomNumMax2}px)`;
var num4 = `translate(${randomNumMin3}px, ${randomNumMax3}px)`;
anim1.style.transition = 'all 3s';
anim1.style.transform = num1;
anim2.style.transition = 'all 3s';
anim2.style.transform = num2;
anim4.style.transition = 'all 3s';
anim4.style.transform = num4;
}
action()
var interval = setInterval(() => {
action()
}, 3000)
[class*=animation] {
width: 50px;
height: 50px;
background: red;
border-radius: 50%;
}
<div class="animation1"></div>
<div class="animation2"></div>
<div class="animation3"></div>
Требуется помощь.
Заранее спасибо.