Guest User

Untitled

a guest
Apr 24th, 2020
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.56 KB | None | 0 0
  1. X = np.random.rand(10,2)
  2.  
  3. X = X[np.argsort(X[:,0],0)]
  4. O = np.zeros((0,2))
  5. n = X.shape[0]
  6. l = np.argmax(X[:,0])
  7. p = l + 0
  8. for i in range(n-1):
  9. O=np.vstack([O,X[p]])
  10. q=(p+1) % n
  11. for j in range(n):
  12. bool = (((X[q][1]-X[p][1]) * (X[j][0] - X[q][0]) - (X[q][0]-X[p][0]) * (X[j][1]-X[q][1])) < 0)
  13. q = np.where(bool, j, q)
  14. p=np.where(q==l,q-1,q)
  15.  
  16. area = 0.5*np.abs(np.dot(O[:,0],np.roll(O[:,1],1))-np.dot(O[:,1],np.roll(O[:,0],1)))
  17.  
  18. H = X[ConvexHull(X).vertices]
  19. harea = ConvexHull(X).volume
  20. print(harea)
  21. print(area)
Advertisement
Add Comment
Please, Sign In to add comment