2012-07-05 73 views
20

Bạn có thể nhìn thấy trong bl.ock này http://bl.ocks.org/3012590 rằng có rất nhiều điểm geo-tham chiếu ở Paris, với vòng tròn lớn hơn những kẻ bé mọn:vòng tròn tránh chồng chéo d3.js

enter image description here

Tôi muốn để có được một cái gì đó tương tự như http://vallandingham.me/vis/gates/, để vòng tròn được nối chặt chẽ bởi đường viền của nó.

enter image description here

Xin lỗi, tôi không thể tìm thấy câu trả lời trong mã này, tôi đang thiếu cái gì tôi nghĩ.

Có cách khắc phục dễ dàng để nhận điều đó không? đã thử các lực lượng điện tích âm khác nhau, gây ra vấn đề nếu thay đổi kích thước vòng tròn (nếu tất cả các vòng tròn ở Paris trở nên ít, thì chúng trở nên quá xa nhau)?

Trả lời

43

Nếu mục tiêu của bạn là để ngăn chặn trùng lặp, thì detecting collisions là cách trực tiếp hơn để đáp ứng ràng buộc đó. Điều này sẽ tạo ra một kết quả chính xác hơn so với các lực tích điện. Dưới đây là một ví dụ khác:

Bạn không cần phải bố trí lực lượng để thực hiện điều này, mặc dù hai thường được sử dụng với nhau. Bạn có thể lặp qua các nút một số lần cố định để giải quyết mọi xung đột khi khởi tạo. Dưới đây là việc thực hiện từ một trong những cuộc đàm phán của tôi:

Các vấn đề liên quan