title: Convert RGB value to HSV
body: <p>I've found a method on the Internet to convert RGB values to HSV values.
  Unfortunately, when the values are R=G=B, I'm getting a NaN, because of the 0/0 operation.</p>
  
  <p>Do you know if there is an implemented method for this conversion in Java, or what do I have to do when I get the 0/0 division to get the right value of the HSV?</p>
  
  <p>Here comes my method, adapted from some code on the Internet:</p>
  
  <pre><code>public static double[] RGBtoHSV(double r, double g, double b){
  
      double h, s, v;
  
      double min, max, delta;
  
      min = Math.min(Math.min(r, g), b);
      max = Math.max(Math.max(r, g), b);
  
      // V
      v = max;
  
       delta = max - min;
  
      // S
       if( max != 0 )
          s = delta / max;
       else {
          s = 0;
          h = -1;
          return new double[]{h,s,v};
       }
  
      // H
       if( r == max )
          h = ( g - b ) / delta; // between yellow &amp; magenta
       else if( g == max )
          h = 2 + ( b - r ) / delta; // between cyan &amp; yellow
       else
          h = 4 + ( r - g ) / delta; // between magenta &amp; cyan
  
       h *= 60;    // degrees
  
      if( h &lt; 0 )
          h += 360;
  
      return new double[]{h,s,v};
  }
  </code></pre>