public static function hsv2rgb( $hsv )
	{
		list( $h, $s, $v ) = $hsv;
		$rgb = array();
		$h	= $h / 60;
		$s	= $s / 100;
		$v	= $v / 100;
		if( $s == 0 )
		{
			$rgb[0]	= $v * 255;
			$rgb[1]	= $v * 255;
			$rgb[2]	= $v * 255;
		}
		else
		{
			$rgb_dec = array();
			$i	= floor( $h );
			$p	= $v * ( 1 - $s );
			$q	= $v * ( 1 - $s * ( $h - $i ) );
			$t	= $v * ( 1 - $s * ( 1 - ( $h - $i ) ) );
			switch( $i )
			{
				case 0:
				$rgb_dec[0]	= $v;
				$rgb_dec[1]	= $t;
				$rgb_dec[2]	= $p;
				break;
				case 1:
				$rgb_dec[0]	= $q;
				$rgb_dec[1]	= $v;
				$rgb_dec[2]	= $p;
				break;
				case 2:
				$rgb_dec[0]	= $p;
				$rgb_dec[1]	= $v;
				$rgb_dec[2]	= $t;
				break;
				case 3:
				$rgb_dec[0]	= $p;
				$rgb_dec[1]	= $q;
				$rgb_dec[2]	= $v;
				break;
				case 4:
				$rgb_dec[0]	= $t;
				$rgb_dec[1]	= $p;
				$rgb_dec[2]	= $v;
				break;
				case 5:
				$rgb_dec[0]	= $v;
				$rgb_dec[1]	= $p;
				$rgb_dec[2]	= $q;
				break;
				case 6:
				$rgb_dec[0]	= $v;
				$rgb_dec[1]	= $p;
				$rgb_dec[2]	= $q;
				break;
			}
			$rgb[0]	= round( $rgb_dec[0] * 255 );
			$rgb[1]	= round( $rgb_dec[1] * 255 );
			$rgb[2]	= round( $rgb_dec[2] * 255 );
		}
		return $rgb;
	}