Как определить столкновение шаров?

Как можно определить столкновение двух шаров в Canvas? То есть эти два шара двигаются, но когда их оболчки сталкиваются, надо чтобы они шли в обратных направлениях. Как сделать это движение обратно я знаю, но не получается зафиксировать их столкновкние.


Ответы (1 шт):

Автор решения: Давид Манжула

Вспоминаем курс математики=)

Центры шаров не могут быть ближе, чем r1 + r2. Если они ближе - значит шары пересекаются.

По теореме Пифагора находим расстояние между центрами.

l = sqrt( (x1 - x2)^2 + (y1 - y2)^2 )

И потом если l <= r1 + r2 - делаем то что нужно.

→ Ссылка