mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-04-29 09:03:36 +00:00
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
This commit is contained in:
parent
b499d88a88
commit
b0de73b1f1
@ -1,20 +1,22 @@
|
|||||||
# Basic implementation of the collision of two circles.
|
# Basic implementation of the collision of two circles.
|
||||||
def circle_collision(fpos: tuple[float, float, float], spos: tuple[float, float, float]) -> bool:
|
def circle_collision(
|
||||||
|
fpos: tuple[float, float, float], spos: tuple[float, float, float]
|
||||||
|
) -> bool:
|
||||||
# difference by XY axes
|
# difference by XY axes
|
||||||
dx = fpos[0] - spos[0]
|
dx = fpos[0] - spos[0]
|
||||||
dy = fpos[1] - spos[1]
|
dy = fpos[1] - spos[1]
|
||||||
|
|
||||||
|
|
||||||
# Euclidean distance between the centers of circles
|
# Euclidean distance between the centers of circles
|
||||||
distance = pow((pow(dx, 2) + pow(dy, 2)), 0.5)
|
distance = pow((pow(dx, 2) + pow(dy, 2)), 0.5)
|
||||||
|
|
||||||
# minimum possible distance between circles, without collision
|
# minimum possible distance between circles, without collision
|
||||||
min_distance = fpos[2] + fpos[2]
|
min_distance = fpos[2] + fpos[2]
|
||||||
collide = distance < min_distance
|
collide = distance < min_distance
|
||||||
|
|
||||||
# If actual distance smaller than minimal possible, cirlces collides
|
# If actual distance smaller than minimal possible, cirlces collides
|
||||||
return collide
|
return collide
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
from doctest import testmod
|
from doctest import testmod
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user