implement HSVTriangle