code: function(p1, p2) {
  
              var angleBetween = (this.equals(p1) || this.equals(p2)) ? NaN : (this.theta(p2) - this.theta(p1));
  
              if (angleBetween < 0) {
                  angleBetween += 360; // correction to keep angleBetween between 0 and 360
              }
  
              return angleBetween;
          }
docs: Compute the angle between vector from me to p1 and the vector from me to p2. ordering of points p1 and p2 is important! theta function's angle convention: returns angles between 0 and 180 when the angle is counterclockwise returns angles between 180 and 360 to convert clockwise angles into counterclockwise ones returns NaN if any of the points p1, p2 is coincident with this point