Tôi có hai đối tượng đơn giản trong d3.js, chúng nên quay quanh tâm của khung nhìn (giống như các hành tinh xung quanh mặt trời).Làm thế nào để xoay một đối tượng quanh tâm trong d3.js
Tôi mới dùng d3.js và tôi biết rằng tôi phải sử dụng chuyển tiếp nhưng khi các hành tinh phải khoanh tròn mọi lúc và không chỉ vào hoặc ra, tôi không biết vị trí và cách đặt chuyển tiếp.
Đây là mã hiện tại của tôi:
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; }
});
}
Và đây là một jsfiddle để chơi xung quanh.
Awesome, cảm ơn bạn rất nhiều và chào mừng bạn đến StackOverflow! – Marc
Tôi biết nó cũ nhưng tôi đã xem qua bài đăng này. Có một lý do tại sao các VÀ hành tinh đang quay? Tôi đã làm một số xét nghiệm luân phiên chỉ hành tinh và chỉ nhóm và kết quả là như nhau, ngoại trừ một chút chậm hơn (đó là bình thường vì tôi cắt giảm một nửa hiệu ứng xoay). Liên kết –
vIceBerg