Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. let det = function(x1, x2, y1, y2) // 行列式
  2. {
  3. return (x1*y2-x2*y1);
  4. }
  5.  
  6. let intersect = function(p1, p2, p3, p4)
  7. {
  8. const delta = det(p2[0]-p1[0], p3[0]-p4[0], p2[1]-p1[1], p3[1]-p4[1]);
  9. if ( Math.abs(delta) <= 1e-6 ) return false;
  10.  
  11. const lambda = det(p3[0]-p1[0], p3[0]-p4[0], p3[1]-p1[1], p3[1]-p4[1]) / delta;
  12. if ( lambda > 1 || lambda < 0 ) return false;
  13.  
  14. const miu = det(p2[0]-p1[0], p3[0]-p1[0], p2[1]-p1[1], p3[1]-p1[1]) / delta;
  15. if ( miu > 1 || miu < 0 ) return false;
  16.  
  17. return true;
  18. }
  19.  
  20. l1 = [[119.30563100232928, 28.642176833046154], [119.24418299767075,28.642176833046154]]
  21. l2 = [[119.30563100232928, 28.53574576695385], [119.33635500465851,28.5889613]]
  22.  
  23. let b = intersect(l1[0], l1[1], l2[0], l2[1]);
  24.  
  25. console.log(b);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement