Advertisement
Guest User

Untitled

a guest
Mar 19th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.47 KB | None | 0 0
  1. allTri = []
  2.  
  3. points = [
  4.     [1,2,3,4],
  5.     [5,6,7,8]
  6. ]
  7.  
  8. for p in points:
  9.     allTri.add([p[0], p[1], p[2]])
  10.     allTri.add([p[1], p[2], p[3]])
  11.  
  12. def isInCollision(p)
  13.     for r in allTri:
  14.         if isInTriangle(p, r):
  15.             return True
  16.     return False
  17.  
  18. def isInTriangle(p, r)
  19.     a = |r[0]-r[1]|
  20.     b = |r[1]-r[2]|
  21.     c = |r[2]-r[0]|
  22.     d = |r[0]-p|
  23.     e = |r[1]-p|
  24.     f = |r[2]-p|
  25.    
  26.     return 2*pi < (
  27.         acos((d²+e²-a²)/2*d*e) +
  28.         acos((e²+f²-b²)/2*e*f) +
  29.         acos((f²+d²-c²)/2*f*d)
  30.     )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement