Combinando traduzir e girar com D3

Muito possivelmente isso repete algumas dasesta questão tão, mas o código é excessivamente complicado e o OP não adicionou código de solução. E istoquestão relacionada não é mais replicável.

Estou tentando descobrir como combinar rotações e traduções na ordem correta. É possível girar em torno da origemcomo neste exemplo. Mas quando seguimos isso com uma tradução a rotação originalestá desfeito.

É possível estruturá-lo para uma aplicação seqüencial correta?

código jsfidle:

HTML:

<script src="http://d3.geotheory.co.uk/d3-transform.js"></script>

SVG:

var svg = d3.select("body").append("svg")
    .attr("width", 400)
    .attr("height", 300);

//Draw the Rectangle
var rect = svg.append("rect")
    .attr("x", 0).attr("y", 0)
    .attr("width", 50).attr("height", 100)
    .style("fill", "purple");

var rotate = d3.svg.transform().rotate(-45);
var translate = d3.svg.transform().translate(200, 100);

rect.attr('transform', rotate);

var rect2 = rect.attr('transform', rotate);
rect2.attr('transform', translate);

questionAnswers(2)

yourAnswerToTheQuestion