Tôi muốn biết chính xác thuật toán nào D3 sử dụng để đạt được tính năng đồ thị theo hướng lực trong thư viện. Sau khi đọc Kobourov's summary về lịch sử của các đồ thị theo hướng lực đã để lại cho tôi một chút bối rối về thuật toán hoặc phương pháp chính xác (kết hợp các thuật toán/heuristics) được sử dụng trong thư viện là gì.Thuật toán nào D3.js sử dụng cho đồ thị theo hướng lực?
D3 API reference nói thuật toán Barnes-Hut được sử dụng để tính toán các khoản phí tác động lên các cơ quan, hoạt động O (N * log (N)). Bài báo của Kobourov đề cập đến thuật toán Quigley-Eades, và thuật toán của Hu là các thuật toán đa cấp sử dụng Barnes-Hut. Là một trong số họ được sử dụng một cách nào đó trong D3?
API wiki nói thêm rằng tích hợp Verlet được sử dụng để định vị hạt. Các source code đề cập đến thuật toán Gauss-Seidel, lần lượt được đề cập trong cả Hu's algorithm và Dwyer graph layout paper. Tôi đoán câu hỏi tôi đang tìm kiếm một câu trả lời là những gì "tích hợp" thuật toán D3 sử dụng; Bài báo của Kobourov liệt kê một số tính năng hướng D3 và không trực tiếp dường như phù hợp với bất kỳ tính năng nào.
Bây giờ đó là một câu hỏi! +1 – Ridcully
Bạn gửi email tốt nhất cho câu hỏi đó tới Mike Bostock… – akuhn
@akuhn: Tôi chưa thấy email của người tạo trên trang web D3. Tôi không thích gửi email những câu hỏi như vậy trực tiếp cho anh ta, vậy thì mọi người trong cộng đồng sẽ làm điều đó. Tôi đã thấy Mike trả lời câu hỏi ở đây trên SO vì vậy tôi nghĩ rằng đây là diễn đàn thích hợp để hỏi. – amergin