Guest User

Untitled

a guest
Jul 19th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. const maxOfX = (rec) => (Math.max(rec.x1, rec.x2));
  2. const maxOfY = (rec) => (Math.max(rec.y1, rec.y2));
  3. const minOfX = (rec) => (Math.min(rec.x1, rec.x2));
  4. const minOfY = (rec) => (Math.min(rec.y1, rec.y2));
  5. const comBinedRectangle = (rec1, rec2) => {
  6. let overlappedRec = {};
  7. const NolappingFromX = maxOfX(rec1) <= minOfX(rec2) || minOfX(rec1) >= maxOfX(rec2);
  8. const NolappingFromY = maxOfY(rec1) <= minOfY(rec2) || minOfY(rec1) >= maxOfY(rec2);
  9. if (!(NolappingFromX || NolappingFromY)) {
  10. overlappedRec.x1 = Math.max(minOfX(rec1), minOfX(rec2));
  11. overlappedRec.y1 = Math.max(minOfY(rec1), minOfY(rec2));
  12. overlappedRec.x2 = Math.min(maxOfX(rec1), maxOfX(rec2));
  13. overlappedRec.y2 = Math.min(maxOfY(rec1), maxOfY(rec2));
  14. }
  15.  
  16. return overlappedRec;
  17. }
  18. const rectangle1 = { x1: 2, y1: 2, x2: 4, y2: 4 };
  19. const rectangle2 = { x1: 3, y1: 3, x2: 6, y2: 2 };
  20. console.log(comBinedRectangle(rectangle1, rectangle2));
  21. // { x1: 3, y1: 2, x2: 4, y2: 3 }
  22.  
  23. r1 = {
  24. x: [2, 4], // x1, x2
  25. y: [2, 4] // y1, y2
  26. }
  27. r2 = {
  28. x: [3, 6], // x1, x2
  29. y: [2, 3] // Y2, Y1 !
  30. }
  31.  
  32. !(a.left > b.right || b.left > a.right || a.top > b.bottom || b.top > a.bottom);
Add Comment
Please, Sign In to add comment