Advertisement
informaticage

Collisioni tra cerchi

Feb 10th, 2021
799
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.99 KB | None | 0 0
  1. class Cerchio:
  2.   xCentro = 0
  3.   yCentro = 0
  4.   raggio = 0 # > 0
  5.  
  6. def collidono(c1, c2):
  7.   return dist2Punti(c1, c2) <= c1.raggio + c2.raggio
  8.  
  9. def dist2Punti(p1, p2):
  10.   return ipotenusa(p1.xCentro - p2.xCentro, p1.yCentro - p2.yCentro)
  11.  
  12. def ipotenusa(c1, c2):
  13.   return pow(pow(c1, 2) + pow(c2, 2), 0.5)
  14.  
  15. def trova_collidenti(c1, aC):
  16.   for c in aC:
  17.     if(collidono(c1, c)):
  18.       return True
  19.   return False
  20.  
  21. cerchioPrincipale = Cerchio()
  22. cerchioPrincipale.xCentro = int(input('A: '))
  23. cerchioPrincipale.yCentro = int(input('B: '))
  24. cerchioPrincipale.raggio = int(input('Raggio: '))
  25.  
  26. lista_cerchi = []
  27. numero_cerchi = int(input("N cerchi: "))
  28.  
  29. for c in range(numero_cerchi):
  30.   cerchio_corrente = Cerchio()
  31.   cerchio_corrente.xCentro = int(input('A: '))
  32.   cerchio_corrente.yCentro = int(input('B: '))
  33.   cerchio_corrente.raggio = int(input('Raggio: '))
  34.  
  35.   lista_cerchi.append(cerchio_corrente)
  36.  
  37. print("I cerchi collidono? ")
  38. print(trova_collidenti(cerchioPrincipale, lista_cerchi))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement