Я настоятельно рекомендую d3.js .
Создание пути, представляющего шестиугольник и перемещение его на 10 пикселей в каждом направлении, очень просто:
var svg = d3.select('body')
.append('svg:svg')
.attr('width', 1000)
.attr('height', 1000);
svg.append('svg:path')
.attr('d', 'M' + [
[850, 75], [958, 137.5], [958, 262.5],
[850, 325], [742, 262.6], [742, 137.5]
].join('L') + 'Z')
.attr('transform', 'translate(10, 10)');
Он использует селекторы, которые тесно связаны с селекторами, найденными в jQuery.
Цитирую автора:
D3 не предоставляет нового графического представления - в отличие от Processing, Raphaël или Protovis, нет нового словаря оценок для изучения. Вместо этого вы опираетесь непосредственно на стандарты, такие как CSS3, HTML5 и SVG.