Guest User

Untitled

a guest
Nov 9th, 2011
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function getEllipsesUnderPoint(set, x, y) {
  2.     var ret = {
  3.         under: [],
  4.         not: []  
  5.     };  
  6.  
  7.     for (var i = 0; i < set.length; i++) {
  8.         var ei = set[i];
  9.         var cx = ei.attr("cx");
  10.         var cy = ei.attr("cy");
  11.         var rx = ei.attr("rx");
  12.         var ry = ei.attr("ry");
  13.  
  14.         var transformX = ei.matrix.invert().x(x,y);
  15.         var transformY = ei.matrix.invert().y(x,y);
  16.  
  17.         var dx = (transformX - cx);
  18.         var dy = (transformY - cy);
  19.  
  20.         var distance = ((dx*dx)/(rx*rx) + (dy*dy)/(ry*ry));
  21.  
  22.         if (distance <= 1) {
  23.             ret['under'].push(ei);
  24.         }  
  25.         else {
  26.             ret['not'].push(ei);
  27.         }  
  28.     }  
  29.     return ret;
  30. };
  31.  
Advertisement
Add Comment
Please, Sign In to add comment