ArtemisL2

Untitled

Aug 5th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1. import math
  2. rL = input().split(' ')
  3. m = []
  4. for i in range(len(rL)):
  5. m.append(int(rL[i]))
  6. def corToVec(x,y,x1,y1):
  7. return x1-x , y1-y
  8. x = m[0]
  9. y = m[1]
  10. x1 = m[2]
  11. y1 = m[3]
  12. x2 = m[4]
  13. y2 = m[5]
  14. xv, yv = corToVec(x1,y1,x2,y2)
  15. xv2,yv2 = corToVec(x1,y1,x,y)
  16. SP = (xv * xv2)+(yv * yv2)
  17. xv1, yv1 = corToVec(x2,y2,x1,y1)
  18. xv21,yv21 = corToVec(x2,y2,x,y)
  19. SP1 = (xv1 * xv21)+(yv1 * yv21)
  20. #print(SP,SP1)
  21. a = y1-y2
  22. b = x2-x1
  23. c = (x1*y2)-(x2*y1)
  24. if((SP1 >= 0) and (SP >= 0)):
  25. AP = abs(a*x+b*y+c)/math.sqrt((a*a) + (b*b))
  26. print(AP)
  27. else:
  28. vnx,vny = corToVec(x,y,x2,y2)
  29. vnx1,vny1 = corToVec(x,y,x1,y1)
  30. ans1 = math.sqrt((vnx*vnx)+(vny*vny))
  31. ans2 = math.sqrt((vnx1*vnx1)+(vny1*vny1))
  32. if(ans1 < ans2):
  33. print(ans1)
  34. else:
  35. print(ans2)
Add Comment
Please, Sign In to add comment