如何在d3js中实现转换?

时间:2013-03-07 15:33:22

标签: javascript d3.js

有没有办法让只有transition()动画的一只玫瑰? 到目前为止,这个代码在x,y空间重复玫瑰,我想有一个玫瑰每n秒改变一次形状

 var rose = vis.selectAll("g")
    .data(d3.range(d * n).map(function(i) { return [1 + i % n, 1 + ~~(i / n)]; }))
    .enter().append("g")
    .attr("transform", function(d, i) {
      return "translate(" + [d[0] * dx, d[1] * dx] + ")";
    });

  rose.append("path")
    .attr("d", function(d) {
      var i = gcd.apply(null, d),
      p = Math.round(d[0] / i),
      q = Math.round(d[1] / i),
      k = p / q,
      period = (p & q & 1 ? 1 : 2) * Math.PI * q;
      return line(d3.range(0, period + Math.PI / 50, Math.PI / 50).map(function(theta) {
        var r = (dx - 5) * Math.cos(k * theta) / 2;
        return [r * Math.cos(theta), r * Math.sin(theta)];
      }));
    });

0 个答案:

没有答案