A little Processing.py project exploring various methods of making gradients, aside from the standard method of interpolating the RGB values.
Methods I explored: Linear interpolation, linear interpolation with an additively mixed midpoint, linear interpolation with a subtractively mixed midpoint, linear interpolation across the HSB/HSV cylinder, linear interpolation of the HSB/HSV values
This was in an attempt to find the correct mathematical approach, and also to make some pretty colours
You'll need Processing IDE with Python mode