pijavq: как-то не очень понятно получается, судя по описанию, градиент должен быть равномерным, на картинке же что-то не то, по идее там должны быть пересекающиеся крути, как-то
так наверное(только тут градиентов нет), а у вас, хоть и красиво, но под описание не очень подходит.
если я прав, то смотрите в сторону
d3.js, там есть градиенты