d3.jsには2つの単純なオブジェクトがあります。これらは太陽の周りの惑星のようにビューポートの中心を回っていなければなりません。d3.jsで中心を中心にオブジェクトを回転させる方法
私はトランジションを使用する必要があることを知っていますが、惑星は常に出入りするだけでなく、どこでどのようにトランジションを設定するのかわかりません。ここ
var planets = [
{d:100,r:2},
{d:150,r:4}
];
var w = 500, h = 400, svg, circle;
function init(){
svg = d3.select("#drawArea").append("svg").attr({width: w, height: h});
var center = {
x: Math.floor(w/2),
y: Math.floor(h/2)
};
svg.append('circle').attr({
'cx': center.x,
'cy': center.y,
'r': 10,
'class': 'sun'
});
circle = svg.selectAll(".planet")
.data(planets)
.enter()
.append("circle")
.attr("class", "planet")
.attr("r", function(s){return s.r});
circle.attr({
// distance from the center
'cx': function(s){ return center.x - s.d; },
// center of the screen
'cy': function(s){ return center.y; }
});
}
と遊ぶためにjsfiddleです:
は、ここに私の現在のコードです。
素晴らしい、非常に多くと歓迎のStackOverflowにありがとうございました! – Marc
私はそれが古いことを知っていますが、私はこのポストに出くわしました。と惑星が回転している理由はありますか?私はいくつかのテストを惑星だけを回転させ、グループと結果だけが同じですが、少し遅くなりました(これは回転効果の半分をカットするので正常です)。 –
vIceBerg