Trong hệ thống Tôi có danh sách các nút được kết nối như trong biểu đồ bình thường. Chúng tôi biết toàn bộ hệ thống và tất cả các kết nối của họ và chúng tôi cũng có một điểm khởi đầu. Tất cả các cạnh của tôi đều có hướng.Vẽ biểu đồ từ danh sách các nút được kết nối
Bây giờ tôi muốn tự động vẽ tất cả các nút và cạnh này. Vấn đề không phải là bản vẽ thực tế, nhưng tính toán các tọa độ (x, y). Vì vậy, về cơ bản tôi muốn vẽ toàn bộ biểu đồ này để có vẻ tốt.
datastructure của tôi sẽ là một cái gì đó như:
class node:
string text
List<edge> connections
Phải có một số thuật toán nổi tiếng với những vấn đề này? Tôi đã không thể tìm thấy bất kỳ, nhưng tôi có thể sử dụng các từ khóa sai.
những suy nghĩ của tôi:
Một cách sẽ được định vị startnode của chúng tôi tại (0,0), và sau đó có một số liên tục mà là "khoảng cách". Sau đó, đối với mỗi người hàng xóm, nó sẽ thêm khoảng cách vào vị trí y và cho mỗi nút là một người hàng xóm, đặt x = distance * n.
Nhưng điều này thực sự sẽ gây ra rất nhiều vấn đề - vì vậy đó không phải là cách để đi.